SPARK August 24, 2020

Spark读取JSON的小扩展

Words count 8.2k Reading time 7 mins.

版本说明:

spark 2.3

前几天在群里摸鱼的时候,碰都一位同学问了一个比较有趣的问题,他提问:Spark如何读取原生JSON?看到这个问题,心里有些疑惑,Spark不是有JSON数据源支持吗...

Read article

SPARK August 24, 2020

StructuredStreaming动态更新参数

Words count 49k Reading time 45 mins.

版本说明:Spark 2.4

在使用StructuredStreaming的时候,我们可能会遇到在不重启Spark应用的情况下动态的更新参数,如:动态更新某个过滤条件、动态更新分区数量、动态更新join的静态数据等。在工作中,遇到了一个应用场景,是实时数据与静态DataFrame去Join,然后做一些处理,但是这个静态DataFrame偶尔会发生变化,要求在不重启Spark应用的前提下去动态更新。目前总结了两种解决方案,一种是基于重写数据源的动态更新,另一种是重启Query的动态更新,下面将...

Read article

SPARK August 24, 2020

StructuredStreaming项目开发记录

Words count 51k Reading time 46 mins.

版本说明:Spark2.4

前言

最近基于Spark Structured Streaming开发一套实时数据判别清洗系统,在开发过程接触了一些StructuredStreaming的新特性以及新用法。本文主要记录一下在开发过程中使用到的技术点,以及遇到的问题总结。

关于当时项目技术选型最终选择StructuredStreaming的原因,主要是因为团队具有Spark开发经验且Structured 比Spark Streaming具有基于事件时间处理机制。这里简单对Spark Streaming...

Read article

SPARK June 15, 2019

SparkSQL数据源操作

Words count 27k Reading time 25 mins.

版本说明: spark-2.3.0

SparkSQL支持很多数据源,我们可以使用Spark内置的数据源,目前Spark支持的数据源有:json,parquet,jdbc,orc,libsvm,csv,text。也可以指定自定义的数据源,只需要在读取数据源的时候,指定数据源的全名。在https://spark-packages.org/这个网站,我们可以获取到更多的第三方的数据源。

官网文档:http://spark.apache.org/docs/latest/sql-programming...

Read article

SPARK June 11, 2019

SparkStreaming 解析Kafka JSON格式数据

Words count 30k Reading time 28 mins.

版本说明:

Spark 2.3.0

Kafka 2.11-2.0.0

在项目中,SparkStreaming整合Kafka时,通常Kafka发送的数据是以JSON字符串形式发送的,这里总结了五种SparkStreaming解析Kafka中JSON格式数据并转为DataFrame进行数据分析的方法。

需求:将如下JSON格式的数据

转成如下所示的DataFrame

随机生成如上图所示的JSON格式的数据,并将它发送到Kafka。造数器脚本代码如下所示:

kafka_data_generator...

Read article

SPARK March 01, 2019

StructuredStreaming有状态聚合

Words count 13k Reading time 12 mins.

版本说明:Spark2.3

为保证多个Batch之间能够进行有状态的计算,SparkStreaming在1.6版本之前就引入了updateStateByKey的状态管理机制,在1.6之后又引入了mapWithState的状态管理机制。关于SparkStreaming的updateStateByKey和mapWithState的以查看《Spark-Streaming 状态管理应用优化之路》。StructuredStreaming原本就是有状态的计算,这里我主要记录一下在StructuredStreaming...

Read article

SPARK February 02, 2019

SparkSQL基于DataSourceV2自定义数据源

Words count 30k Reading time 28 mins.

版本说明:Spark 2.3

前言:之前在SparkSQL数据源操作文章中整理了一些SparkSQL内置数据源的使用,总的来说SparkSQL支持的数据源还是挺丰富的,但业务上可能不拘束于这几种数据源,比如将HBase作为SparkSQL的数据源,REST数据源等。这里主要讲一下在Spark2.3版本之后推出的DataSourceV2,基于DataSourceV2实现自定义数据源

自Spark1.3版本之后,引入了数据源API,我们可以实现自定义数据源。2.3版本之后又引入的新版API,关于...

Read article

SPARK January 29, 2019

StructuredStreaming 内置数据源及实现自定义数据源

Words count 41k Reading time 38 mins.

版本说明:

Spark:2.3/2.4

代码仓库:https://github.com/shirukai/spark-structured-datasource.git

官网文档:http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#input-sources

Source Options Fault-tolerant Notes
File Source maxFilesPerTrigger...
Read article

SPARK January 28, 2019

SparkStreaming整合多种数据源

Words count 35k Reading time 32 mins.

SparkStreaming可以处理多种数据源,比如从socket里获取数据流,从文件系统获取数据流,从Flume获取数据流、从Kafka里获取数据流等。

需要注意的是:

  • SparkStreaming 在处理socket、flume、kafka、Kinesis数据源的时候,本地模式下不能用以local、或者local[1]运行,因为需要启动一个线程运行Receivers来接收数据。读取文件系统的时候,不需要启动Receivers,所以在处理文件系统数据源的时候,不需要设置多个线程。
  • 将逻辑扩展...
Read article
Load more
0%