Zeppelin与Spark结构化流式传输示例

时间:2019-10-01 10:15:17

标签: apache-spark streaming apache-zeppelin

我正在尝试可视化Zeppelin中的火花结构化流。我能够使用内存接收器(spark.apache)来实现。但是对于大数据量,这不是可靠的解决方案。有什么更好的解决方案?

示例实现或演示会有所帮助。

谢谢

Rilwan

1 个答案:

答案 0 :(得分:0)

感谢您提出问题!!拥有2年以上开发Spark监控工具的经验,我认为我将能够解决您的疑问!

当数据以流形式触发时,有两种类型的处理。

  1. 离散流或DStream :在这种模式下,spark为您提供数据 以RDD格式,您必须编写自己的逻辑来处理 RDD。
    专家
        1.如果要在保存流数据之前进行一些处理,与DataFrame相比,RDD是最好的处理方式。
        2. DStream为您提供了一个不错的Streaming UI,它以图形方式显示已处理了多少数据。检查此链接-https://spark.apache.org/docs/2.2.0/streaming-programming-guide.html#monitoring-applications
    缺点
        1.处理原始RDD并不是那么方便和容易。

  2. 结构化流:在此模式下,spark可在     DataFrame格式,您需要提及在何处存储/发送数据。
    专家
        1. Spark Streaming附带了一些非常常见的预定义源和接收器,通过插入这些源和接收器,可以解决95%的实际场景。检查此链接-https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
    缺点
        1.结构化流:(没有可用的流UI。尽管您可以获取指标并创建自己的UI。请检查此链接-https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#monitoring-streaming-queries
     您还可以将度量存储在一些纯文本文件中,通过spark.read.json在Zeppelin中读取文件,并绘制自己的图形。