- 博客(108)
- 收藏
- 关注
转载 Hive性能优化
链接参考 https://www.cnblogs.com/smartloli/p/4356660.html转载于:https://www.cnblogs.com/tesla-turing/p/11515510.html...
2019-09-12 22:55:00
275
转载 HBase的二级索引
使用HBase存储中国好声音数据的案例,业务描述如下:为了能高效的查询到我们需要的数据,我们在RowKey的设计上下了不少功夫,因为过滤RowKey或者根据RowKey查询数据的效率是最高的,我们的RowKey的设计是:UserID + CreateTime + FileID,那么我们在HBase中的数据格式如下:每一行数据中包含两个Column:f:c和f:n我们在...
2019-09-12 21:50:00
326
转载 Hive 内置函数
原文见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1.内置运算符1.1关系运算符运算符类型说明A = B 所有原始类型 如果A...
2019-09-11 23:06:00
263
转载 Hive 12、Hive优化
要点:优化时,把hivesql当做mapreduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。mapreduce...
2019-09-11 23:05:00
195
转载 Hive 11、Hive嵌入Python
Hive嵌入PythonPython的输入输出都是\t为分隔符,否则会出错,python脚本输入print出规定格式的数据用法为先addfile,使用语法为TRANSFORM(name,items)USING'pythontest.py'AS(namestring,item1string,item2string,item3string),这里...
2019-09-11 22:51:00
170
转载 Hive 10、Hive的UDF、UDAF、UDTF
Hive自定义函数包括三种UDF、UDAF、UDTF UDF(User-Defined-Function)一进一出 UDAF(User-DefinedAggregationFuncation)聚集函数,多进一出。Count/max/min UDTF(User-DefinedTable-GeneratingFunctions)一进多出,如lateral...
2019-09-11 22:50:00
148
转载 Hive 9、Hive 在表中添加正则匹配
在Hive中还有一项比较好用的功能,也是非常重要的功能:在建表的时候可以不指定表的行、字段、列的分隔方式,通过给表指定一段正则表达式,让Hive自动去匹配;1、创建表CREATE TABLE apachelog ( dates STRING, times STRING, types STRING, info STRING)ROW FORMAT SE...
2019-09-11 22:47:00
219
转载 Hive 8、Hive2 beeline 和 Hive jdbc
1、Hive2 beelineBeeline 要与HiveServer2配合使用,支持嵌入模式和远程模式启动beeline打开两个Shell窗口,一个启动Hive2 一个beeline连接hive2#启动HiverServer2 , ./bin/hiveserver2 [root@node5 ~]# hiveserver216/02/23 22:55:25 ...
2019-09-11 22:46:00
133
转载 Hive 7、Hive 的内表、外表、分区
1、Hive的内表Hive 的内表,就是正常创建的表,在http://www.cnblogs.com/raphael5200/p/5208437.html中已经提到;2、Hive的外表创建Hive 的外表,需要使用关键字External:CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name ...
2019-09-11 22:42:00
242
转载 Hive 6、Hive DML(Data Manipulation Language)
DML主要是对Hive 表中的数据进行操作的(增 删 改),但是由于Hadoop的特性,所以单条的修改、删除,其性能会非常的低所以不支持进行级操作; 主要说明一下最常用的批量插入数据较为常用的方法:1、从文件中加载数据语法:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PAR...
2019-09-11 22:36:00
68
转载 Hive 5、Hive 的数据类型 和 DDL Data Definition Language)
官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL-- 扩展数据类型data_type : primitive_type | array_type | map_type | struct_type | union_type -- (Note:...
2019-09-11 22:33:00
121
转载 Hive 3、Hive 的安装配置(本地derby模式)
这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可;$ vim hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>...
2019-09-11 22:30:00
236
转载 Hive 2、Hive 的安装配置(本地MySql模式)
一、前提条件 安装了Zookeeper、HadoopHDFSHA二、安装Mysql 因为使用量多的是单用户数据库模式,并且数据库使用最多的是mysql 所以在这里选择mysql数据库;$ yum install mysql-server$ service mysqld start#连接mysql $ mysql -uroot -p #首次密码...
2019-09-11 22:29:00
184
转载 Hive 1、什么是Hive,Hive有什么用
一、什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper ...
2019-09-11 22:25:00
272
转载 HBase应用
太多column family的影响每个 MemoryStore分配到的内存较少,进而导致过多的合并,影响性能几个column family比较合适呢推荐是:1-3个划分column family的原则:1、是否具有相似的数据格式2、是否具有相似的访问类型例子一: 相同的rowkey,有一个很大的text数据需要存储,又有一个pict...
2019-09-09 12:02:00
112
转载 HBase介绍
介绍HBase从功能上讲:HBase主要是解决分布式文件系统HDFS不能随机读写而设计的,HBase是架设在HDFS之上的,所以HBase可以存储海量的数据,HBase又可以支持随机读写,所以HBase是一个支持海量数据随机读写的分布式存储系统。从架构上讲:HBase中由zookeeper集群、一个HMaster以及若干个HRegionServer组成,zookeeper主要是负...
2019-09-09 11:17:00
295
转载 Kafka为什么这么快?
批量处理传统消息中间件的消息发送和消费整体上是针对单条的。对于生产者而言,它先发一条消息,然后broker返回ACK表示已接收,这里产生2次rpc;对于消费者而言,它先请求接受消息,然后broker返回消息,最后发送ACK表示已消费,这里产生了3次rpc(有些消息中间件会优化一下,broker返回的时候返回多条消息)。而Kafka采用了批量处理:生产者聚合了一批消息,然后再做2次rp...
2019-09-09 10:30:00
104
转载 Spark API--Spark 分区
一、分区的概念分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。二、为什么要进行分区 数据分区,在分布式集群里,网络通信的代价很大,减少网络传输可以极大提升性能。mapreduc...
2019-09-08 23:40:00
79
转载 Spark RDD :Spark API--Spark RDD
一、RDD的概述1.1 什么是RDD?RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速...
2019-09-08 23:25:00
147
转载 Spark RDD :Spark API--图解Spark API
初识spark,需要对其API有熟悉的了解才能方便开发上层应用。本文用图形的方式直观表达相关API的工作特点,并提供了解新的API接口使用的方法。例子代码全部使用python实现。1. 数据源准备准备输入文件:$ cat /tmp/inapplebag bagcat cat cat启动pyspark:$ ./spark/bin/pyspark使用tex...
2019-09-08 23:17:00
134
转载 SparkSQL-通过JDBC读写mysql数据库
object JdbcDatasourceTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("JdbcDatasourceTest") .master("local") .getO...
2019-09-08 23:06:00
456
转载 SQL操作Spark SQL--BasicSQLTestt
object BasicSQLTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("BasicSQLTest") .getOrCreate() val sessionDf = spa...
2019-09-08 23:05:00
140
转载 SQL操作Spark SQL--CatalogApiTest
object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CatalogApiTest") .getOrCreate() //查看spark sql应用...
2019-09-08 23:04:00
758
转载 SparkSQL读写外部数据源-jext文件和table数据源的读写
object ParquetFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("ParquetFileTest") .getOrCreate() //1: 将json文件数...
2019-09-08 23:03:00
142
转载 SparkSQL读写外部数据源--数据分区
import com.twq.dataset.Utils._import org.apache.spark.sql.{SaveMode, SparkSession}object FilePartitionTest { def main(args: Array[String]): Unit = { val spark = SparkSession ...
2019-09-08 23:02:00
241
转载 SparkSQL读写外部数据源-通过jdbc读写mysql数据库
object JdbcDatasourceTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("JdbcDatasourceTest") .master("local") .getO...
2019-09-08 23:01:00
353
转载 SparkSQL读写外部数据源--csv文件的读写
object CSVFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("CSVFileTest") .master("local") .getOrCreate() ...
2019-09-08 23:00:00
570
转载 SparkSQL读写外部数据源-json文件的读写
object JsonFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .master("local") .appName("JsonFileTest") .getOrCreate()...
2019-09-08 22:59:00
218
转载 SparkSQL读写外部数据源-基本操作load和save
数据源-基本操作load和saveobject BasicTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("BasicTest") .master("local") ....
2019-09-08 22:58:00
259
转载 RDD&Dataset&DataFrame
Dataset创建object DatasetCreation { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("SparkSessionTest") .getOrCreate()...
2019-09-08 22:54:00
89
转载 Flume
一、Flume简介 flume 作为cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。 但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的...
2019-09-08 21:52:00
136
转载 讲解Flume
Spark Streaming通过push模式和pull模式两种模式来集成Flumepush模式:Spark Streaming端会启动一个基于Avro Socket Server的Receiver来接收Flume中的avro sink发来的数据,这个时候Flume avro sink就是作为客户端pull模式:这种模式是Spark自定义了一个Flume的sink作为Avro S...
2019-09-08 21:42:00
259
转载 Kafaka 总结
Kafka是一个分布式的Streaming处理平台,Kafka可以用于数据库中数据的导入导出,也可以用于实时流的处理,但是Kafka最核心的功能就是作为分布式的消息中间件。Kafka集群是由多个Broker Server组成的,消息的发送者称为Producer,消息的消费者称为Consumer,topic则是Kafka消息的发送、存储和消费中最核心的抽象,每一个Producer都需要...
2019-09-08 21:39:00
634
转载 性能:Output层面
将数据保存到MySQL中import java.sql.DriverManagerimport org.apache.spark.storage.StorageLevelimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.{SparkConf, S...
2019-09-08 20:45:00
127
转载 性能:Receiver层面
创建多个接收器多个端口启动多个receiver在其他Executor,接收多个端口数据,在吞吐量上提高其性能。代码上:import org.apache.spark.storage.StorageLevelimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apac...
2019-09-08 20:44:00
188
转载 性能:Transform层面
数据处理的并行度1、BlockRDD的分区数(1)通过Receiver接受数据的特点决定(2)也可以自己通过repartition设置2、ShuffleRDD的分区数(1)默认的分区数为spark.default.parallelism(core的大小)(2)通过我们自己设置决定 val lines1 = ssc.socketTextStream("m...
2019-09-08 20:43:00
268
转载 原理
Spark Streaming官网参考:http://spark.apache.org/docs/latest/streaming-programming-guide.html一、Spark Streaming的原理Spark Streaming应用也是Spark应用,Spark Streaming生成的DStream最终也是会转化成RDD,然后进...
2019-09-08 20:41:00
83
转载 Backpressure & Elastic Scaling
spark.streaming从不稳定到稳定状态,解决数据量接收数据时突然变大,使得无法及时处理数据,稳定性得到保证开启方式:spark.streaming.backpressure.enabled = true Elastic Scaling(资源动态分配)Spark Batch Application 动态...
2019-09-08 20:39:00
79
转载 语义(Semantics)
流计算语义(Semantics)的定义每一条记录被流计算系统处理了几次有三种语义:1、At most once 一条记录要么被处理一次,要么没有被处理2、At least once 一条记录可能被处理一次或者多次,可能会重复处理3、Exactly once 一条记录只被处理一次Zero data lost = 不管有失败还是没有失败,在每一个阶段都...
2019-09-08 20:36:00
609
转载 容错(Fault-tolerance)
Spark Streaming的容错包括了三个地方的容错:1、Executor失败容错:Executor的失败会重新启动一个新的Executor,这个是Spark自身的特性。如果Receiver所在的Executor失败了,那么Spark Streaming会在另外一个Executor上启动这个Receiver(这个Executor上可能存在已经接收到的数据的备份)2、Drive...
2019-09-08 20:35:00
1192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人