Spark(44) -- SparkStreaming -- SparkStreaming数据源

本文详细介绍了Spark Streaming的数据源,包括基本数据源、文件数据源、自定义数据源以及如何通过RDD队列创建DStream。重点讨论了自定义数据源的实现,通过继承Receiver并实现特定方法来满足特定数据采集需求。文中还提供了自定义数据源的代码示例。

1. 基本数据源

 Spark Streaming原生支持一些不同的数据源。一些“核心”数据源已经被打包到Spark Streaming 的 Maven 工件中,而其他的一些则可以通过 spark-streaming-kafka 等附加工件获取。每个接收器都以 Spark 执行器程序中一个长期运行的任务的形式运行,因此会占据分配给应用的 CPU 核心。此外,我们还需要有可用的 CPU 核心来处理数据。这意味着如果要运行多个接收器,就必须至少有和接收器数目相同的核心数,还要加上用来完成计算所需要的核心数。例如,如果我们想要在流计算应用中运行 10 个接收器,那么至少需要为应用分配 11 个 CPU 核心。所以如果在本地模式运行,不要使用local或者local[1]。

2. 文件数据源

Socket数据流前面的例子已经看到过。
 文件数据流:能够读取所有HDFS API兼容的文件系统文件,通过fileStream方法进行读取。
 streamingContext.fileStream [KeyClass, ValueClass, InputFormatClass](dataDirectory)
 Spark Streaming 将会监控 dataDirectory 目录并不断处理移动进来的文件,记住目前不支持嵌套目录。

  1. 文件需要有相同的数据格式
  2. 文件进入 dataDirectory的方式需要通过移动或者重命名来实现。
  3. 一旦文件移动进目录,则不能再修改,即便修改了也不会读取新数据。

 如果文件比较简单,则可以使用 streami

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

erainm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值