微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用pyspark中java代码的字节串处理流RDD输出

如何解决如何使用pyspark中java代码的字节串处理流RDD输出

我有一个流式管道,其中嵌套的 json 格式数据被馈送到 Cloud PubSub。然后使用 Spark Streaming 作为流获取数据
打印以检查架构时的流(rdd)数据给出 _corrupted_record : String

上面的自定义接收器代码是用 Java 编写的。 然后使用 Pyspark 处理输出 RDD id。

在打印 rdd 时发现它以 b'(字节字符串格式)为前缀。

(b'{"_id": {"_data": "abv1"},"operationType": "insert","clusterTime": {"$timestamp": {"t": 1622466457,"i": 393}},"fullDocument": {"_id": "nhmm7779","uid": "5FZ","cb": {"key1": "jk8","user_id": "jk-3"},"cmp": {"c": "Organic"},"ts": 1622466405939.0,"cd": {"$date": 1622466457352},"d": "2021:5:31","sg": {"key5": "hj","key6": "TV Menu","key7": "NA"},"s": 0,"dur": 0},"ns": {"db": "database","coll": "abnv55666"},"documentKey": {"_id": "nhmm7779"}}',b'{"_id": {"_data": "bhg4"},"clusterTime": {"$timestamp": {"t": 1622466480,"i": 542}},"fullDocument": {"_id": "nm1","uid": "qS","cb": {"key1": "jku","user_id": "ty6"},"ts": 1622466434999.0,"cd": {"$date": 1622466480445},"sg": {"key5": "bn","key6": 0,"key7": "val2"},"coll": "bvgh678"},"documentKey": {"_id": "nm1"}}')

如何在pyspark中处理这个rdd,其中记录可以保存为2个不同的行而不是1个。

我尝试过的事情:

在进一步调试中发现从 Pyspark 调用 java 代码时更多的序列化问题。因此改变了问题的主题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。