作者:L爱你j_828 | 来源:互联网 | 2022-12-06 10:58
我想使用Apache Spark从/向HDFS读取/写入协议缓冲区消息。我发现了以下建议的方法:
1)使用Google的Gson库将protobuf消息转换为Json,然后由SparkSql对其进行读写。该解决方案在此链接中进行了解释,但是我认为这样做(转换为json)是一项额外的任务。
2)转换为Parquet文件。有这样的parquet-mr和sparksql-protobuf github项目,但是我不想要Parquet文件,因为我总是处理所有列(而不是某些列),并且Parquet Format不会给我带来任何收益(至少我认为)。
3)ScalaPB。可能正是我要找的东西。但是用斯卡拉语言我对此一无所知。我正在寻找基于Java的解决方案。此youtube视频介绍了scalaPB并说明了如何使用它(适用于scala开发人员)。
4)通过使用序列文件,这就是我想要的,但是对此一无所获。因此,我的问题是:如何将protobuf消息写到HDFS上的序列文件中?任何其他建议将是有用的。
5)通过推特的象鸟图书馆。