摘要:
一、前述 Vi类似记事本,所以用好记事本对编程效率有很大得影响,有着事半功倍的效率。 二、具体操作 1、打开文件vim /path/to/somefilevim +# :打开文件,并定位于第#行 vim +:打开文件,定位至最后一行vim +/PATTERN : 打开文件,定位至第一次被PATTER 阅读全文
摘要:
一、前述 SparkSQL中的UDF相当于是1进1出,UDAF相当于是多进一出,类似于聚合函数。 开窗函数一般分组取topn时常用。 二、UDF和UDAF函数 1、UDF函数 java代码: 这些参数需要对应,UDF2就是表示传两个参数,UDF3就是传三个参数。 scala代码: 2、UDAF:用户 阅读全文
摘要:
一、前述 今天分享一篇SparkStreaming常用的算子transform和updateStateByKey。 可以通过transform算子,对Dstream做RDD到RDD的任意操作。其实就是DStream的类型转换。 算子内,拿到的RDD算子外,代码是在Driver端执行的,每个batch 阅读全文
摘要:
一、前述 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map,redu 阅读全文
摘要:
一、前述 Spark on Hive: Hive只作为储存角色,Spark负责sql解析优化,执行。 二、具体配置 1、在Spark客户端配置Hive On Spark 在Spark客户端安装包下spark-1.6.0/conf中创建文件hive-site.xml: 配置hive的metastore 阅读全文
摘要:
一、前述 1、SparkSQL介绍 Hive是Shark的前身,Shark是SparkSQL的前身,SparkSQL产生的根本原因是其完全脱离了Hive的限制。 SparkSQL支持查询原生的RDD。 RDD是Spark平台的核心概念,是Spark能够高效的处理大数据的各种场景的基础。 能够在Sca 阅读全文
摘要:
一、前述 Spark内存管理 Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提 阅读全文
摘要:
一、前述 Spark中Shuffle的机制可以分为HashShuffle,SortShuffle。 SparkShuffle概念 reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一 阅读全文
摘要:
一、前述 本节讲述Spark Master的HA的搭建,为的是防止单点故障。 Spark-UI 的使用介绍,可以更好的监控Spark应用程序的执行。 二、具体细节 1、Master HA 1、Master的高可用原理 Standalone集群只有一个Master,如果Master挂了就无法提交应用程 阅读全文
摘要:
一、前述 Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量。 累机器相当于统筹大变量,常用于计数,统计。 二、具体原理 1、广播变量 广播变量理解图 注意事项 1、能不能将一个RDD使用广播变量广播出去? 不能,因为RD 阅读全文