在HDFS中存储protobuf编码数据的首选方法是什么。目前我看到两种可能的解决方案:
a)序列文件:存储序列化/编码的二进制数据,即" byte []"在序列文件的相应值中。
b)镶木地板:镶木地板提供protobuf / Parquet转换器。因此,我的假设是,在使用这些转换器时,首先必须将二进制数据反序列化为对象表示,然后必须将该对象传递给protobuf / Parquet转换器以将其存储在Parquet中。我认为与解决方案a)相比,这样做会带来更高的性能成本。由于我必须处理大量的小型protobuf编码数据块(由Kafka提供的流媒体数据),性能和内存成本是重要方面。
c)还有其他选择吗?
总结:我正在寻找一种解决方案,以便在HDFS中存储许多小的protobuf编码数据块(即车辆传感器数据),从而尽可能保持原始数据不受影响。但是,必须确保之后可以使用Map / Reduce或Spark来处理数据。
最佳, 托马斯