我需要在 Spark Streaming 中将 org.apache.spark.rdd.RDD[Array[Byte]] 转换为 Array[Byte]
I need to convert org.apache.spark.rdd.RDD[Array[Byte]] to Array[Byte] in Spark Streaming
我正在尝试通过 kafka 将 json 文件解析为 spark 流。
我写了一个需要 Array[Byte]
的函数。
stream.foreachRDD(rdd=>
parseAVROToString(rdd)
)
ssc.start
要使用 parseAVROToString
,我需要 Array[Byte]
。
我收到以下错误消息:
found : org.apache.spark.rdd.RDD[Array[Byte]] required: Array[Byte] parseAVROToString(rdd)
你可以试试这个:
stream.foreachRDD(rdd => {
rdd.foreach(record = > parseAVROToString(record))
})
但foreachRDD
是一个输出操作,用于将下划线rdds保存到外部文件或数据库。我认为 stream.transform
可能对您有用。
我正在尝试通过 kafka 将 json 文件解析为 spark 流。
我写了一个需要 Array[Byte]
的函数。
stream.foreachRDD(rdd=>
parseAVROToString(rdd)
)
ssc.start
要使用 parseAVROToString
,我需要 Array[Byte]
。
我收到以下错误消息:
found : org.apache.spark.rdd.RDD[Array[Byte]] required: Array[Byte] parseAVROToString(rdd)
你可以试试这个:
stream.foreachRDD(rdd => {
rdd.foreach(record = > parseAVROToString(record))
})
但foreachRDD
是一个输出操作,用于将下划线rdds保存到外部文件或数据库。我认为 stream.transform
可能对您有用。