Spark
文章平均质量分 70
xiaoxiao______
这个作者很懒,什么都没留下…
展开
-
StructuredStreaming -- 01 【概述,编程模型,source,sink】
文章目录Structured Streaming1、 回顾1.1、Spark 编程模型的进化过程总结1.2、Spark 的 序列化 的进化过程1.2.1、 什么是序列化和序列化?1.2.2、 在 `Spark` 中的序列化和反序列化的应用场景1.2.3、 RDD 的序列化1.2.4、 DataFrame 和 Dataset 中的序列化总结1.3、Spark Streaming 和 Structured Streaming2、 Structured Streaming 入门案例2.1、需求梳理2.2、 代码实原创 2020-12-09 21:51:24 · 982 阅读 · 0 评论 -
SparkStreaming -- 03 【window函数,与SparkSQL的整合】
文章目录1、window函数操作1.1、 window函数的简介1.2、 常用的窗口函数1.3、 案例演示:1.3.1、1.3.2、1.3.3、2、sparkStreaming和SparkSQL的整合1、window函数操作1.1、 window函数的简介SparkStreaming提供了滑动窗口的操作。这样的话,就可以计算窗口内的n个micro-batch的数据,进行聚合.窗口有两个参数:窗口大小:指的就是有几个单位时间(time unit)的micro-batch滑动周期:类似于定时器原创 2020-12-08 19:33:12 · 403 阅读 · 0 评论 -
SparkStreaming -- 02 【SparkStreaming和kafka的整合的offset的维护,常用算子】
文章目录1、SparkStreaming与kafka的整合1.1、 比较1.2、 maven依赖1.3、 案例11.4、 使用0-10的Direct方法的优点1.5 、 两种自动维护offset的说明1.5.1、 0-8的receiver如何自动维护offset的图解1.5.2 、 0-10如何自动维护offset的图解1.6、 使用zookeeper手动维护offset1.7、 使用redis手动维护offset2、SparkStreaming的常用转换算子2.1 、常用算子简介2.1.1、 常用的转换算原创 2020-12-07 19:37:44 · 323 阅读 · 0 评论 -
Kafka+Spark Streaming管理offset的两种方法
网址转载 2020-12-07 19:09:26 · 152 阅读 · 0 评论 -
SparkStreaming -- 01 【概述,案例,和hdfs的整合,和kafka的整合】
1、SparkStreaming的概述1.1、什么是流式计算1、流式计算就是对数据流进行处理,是实时计算2、数据流值的是动态的数据,是不断产生的,没有边界,源源不断3、流式计算中的计算逻辑不止计算一次,是要一致循环计算的(计算不能终止,除非停止作业)流式计算又分为准实时和实时准实时:是介于实时和离线之间,每一次处理的数据要比实时的多,比离线的少很多,微批处理实时:指的是一条记录就(一个事件event)启动一次计算常见的流式计算框架storm:第一代流式处理框架,每生成一条记录就提交一次作业原创 2020-12-07 17:54:03 · 251 阅读 · 0 评论 -
Spark性能调优 -- 02 【-- 高级篇 --】
本文是在对美团技术团队的Spark性能调优指南后做的一个汇总方便自己查看,有兴趣的可以看原文:原文地址文章目录前言1、数据倾斜调优调优概述1.1、数据倾斜原理1.2、数据倾斜的解决方案1.2.1、解决方案一:使用Hive ETL预处理数据1.2.2、解决方案二:过滤少数导致倾斜的key1.2.3、解决方案三:提高shuffle操作的并行度1.2.4、解决方案四:两阶段聚合(局部聚合+全局聚合)1.2.5、解决方案五:将reduce join转为map join1.2.6、解决方案六:采样倾斜key并分拆转载 2020-11-28 11:45:49 · 207 阅读 · 0 评论 -
Spark性能调优 -- 01 【-- 基础篇 --】
本文是在对美团技术团队的Spark性能调优指南后做的一个汇总方便自己查看,有兴趣的可以看原文:文章目录基础篇调优概述1、开发调优1.1、避免创建重复RDD1.2、尽可能复用同一个RDD1.3、持久化RDD1.4、尽量避免使用shuffle类算子1.5、使用map-side预聚合的shuffle操作1.6、使用高性能的算子1.7、广播大变量1.8、使用Kryo优化序列化性能1.9、优化数据结构1.10、资源配置2、资源参数调优2.1、num-executors2.2、executor-memory2.3、e转载 2020-11-28 11:03:05 · 318 阅读 · 0 评论 -
SparkSQL -- 03 【SparkSQL内置函数案例演示】
文章目录其他Action操作showcollectcollectAsListdescribefirst, head, take, takeAsList条件查询和Join操作where条件filter过滤查询指定字段limitorder bygroup bydistinct聚合unionjoin获取指定字段统计信息获取两个DataFrame中共有的记录获取一个DataFrame中有另一个DataFrame中没有的记录操作字段名行转列其他Action操作show以表格的形式在输出中展示DataFrame中原创 2020-11-26 21:38:11 · 382 阅读 · 0 评论 -
SparkSQL -- 02 【SparkSQL文件的读取与落地,和Hive的整合,内置函数,自定义函数】
文章目录一、SparkSQL文件的读取与落地1.1、文件读取1.2、文件的落地二、和Hive的整合三、内置函数四、用户自定义函数4.1、UDF1、2、4.2、UDAF一、SparkSQL文件的读取与落地1.1、文件读取package com.xxx.SparkSQL.Day02import java.util.Propertiesimport org.apache.spark.sql.{DataFrame, SparkSession}object _01SparkFileLoad {原创 2020-11-25 21:41:11 · 326 阅读 · 0 评论 -
SparkSQL -- 01 【概述,特点,编程模型,基本编程练习】
SparkSQL一、SparkSQL的发展1.1、概述SparkSQL,顾名思义,就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身叫Shark,最开始的底层代码优化,sql的解析,执行引擎等等完全基于HIve,Shark的执行速度要比Hive高出一个数量级,但是Hive的发展制约了Shark,所以在15年中旬的时候,Shark项目结束,重新独立出来一个项目,就是SparkSQL,不再依赖Hive,做了独立的发展,逐渐的形成两条互相独立的业务:原创 2020-11-24 21:24:22 · 185 阅读 · 0 评论 -
SparkCore -- 05 【广播变量,累加器,自定义排序,自定义分区器】
广播变量package com.xxx.spark.day06import org.apache.spark.broadcast.Broadcastimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * 广播变量的使用 */object _01Broadcast { def main(args: Array[String]): Unit = { va原创 2020-11-23 21:56:27 · 225 阅读 · 0 评论 -
SparkCore -- 04 【常用的RDD算子】
package com.xxx.spark.day03import org.apache.spark.rdd.RDDimport org.apache.spark.rdd.RDD.rddToPairRDDFunctionsimport org.apache.spark.{SparkConf, SparkContext}object _01ExampleOperator { def main(args: Array[String]): Unit = { testRepart原创 2020-11-18 21:52:13 · 106 阅读 · 0 评论 -
SparkCore -- 03 【Spark的RDD算子超详细解释(附案例)】
Transformation算子Spark算子:RDD基本转换操作(1)–map、flatMap、distincmap将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。输入分区与输出分区一对一,即:有多少个输入分区,就有多少个输出分区。hadoop fs -cat /tmp/lxw1234/1.txthello worldhello sparkhello hive //读取HDFS文件到RDDscala> var data = sc.textFile("/t转载 2020-11-17 21:21:27 · 159 阅读 · 0 评论 -
SparkCore -- 02 【RDD编程(RDD的创建方式,RDD算子的分类,RDD算子的案例】
RDD的创建的方式有三种:1、通过读取一个外部文件(本地文件,hdfs文件)来获取一个RDD2、调用makeRDD()或者parallelize()从集合中创建(集合必须为seq或seq的子类)3、其他RDD调用算子转换而来RDD的分类两类:Transformation算子,也叫转换算子Action算子,也叫行动算子RDD的转化操是通过对数据的一些操作后返回一个新的RDD的操作RDD的行动操作是向驱动器程序返回结果或将结果写入外部存储系统的操作**注意:**Spark采用的是惰性计算模原创 2020-11-17 19:42:35 · 134 阅读 · 0 评论 -
SparkCore -- 01 【名词解释,以及RDD的概念】
名词解释Standalone的cluster模式下的各个名词Client:客户端进程,负责将作业提交给masterMaster:主控节点,负责接收作业以及管理Worker,并命令worker启动Driver和ExcutorWorker:slave节点上的守护进程,负责管理本节点上的资源,定期向Master心跳反馈,接收Master的命令,启动Driver和Excutor,将任务执行的信息提交给MasterDriver:一个Spark的作业运行需要一个Driver,是作业的主进程,负责作业的解析,生原创 2020-11-17 19:29:08 · 208 阅读 · 0 评论