【发布时间】:2020-04-02 13:06:50
【问题描述】:
我正在尝试将一个函数(适用于常规 spark 数据帧)应用于流数据。在我应用这个函数之前,我需要对给定的数据使用 .rdd.takeSample() 但当然这不适用于流数据帧。
我使用以下结构化流代码获取流数据:
dsraw = spark \
.readStream \
.format("kafka") \
.option("kafka.bootstrap.servers", "192.168.99.100:9092") \
.option("subscribe", "topic") \
.option("startingOffsets", "earliest") \
.load()
ds = dsraw.selectExpr("CAST(value AS STRING)")
我的数据是一组随机数,形式为 {'number': 1} 等。理想情况下,我想将从该流中读取的所有数字放入一个数据帧中并返回。
有没有办法将流数据帧转换为 spark 数据帧或 rdd?如果没有,takeSample 是否有替代方法?
【问题讨论】:
标签: python apache-spark pyspark spark-structured-streaming