在hdfs中存储protobuf编码数据的首选方法是什么。目前我看到两种可能的解决方案:
a) 序列文件:存储序列化/编码的二进制数据,即序列文件相应值中的“byte[]”。
b) Parquet地板:Parquet地板提供protobuf/Parquet地板转换器。因此,我的假设是,在使用这些转换器时,必须首先将二进制数据反序列化为对象表示,然后必须将该对象传递给protobuf/parquet转换器以将其存储在parquet中。我假设这样做会导致比解决方案a)更高的性能成本。由于我必须处理大量的小protobuf编码数据块(kafka提供的流式车辆数据),性能和内存成本是重要的方面。
c) 还有其他选择吗?
总而言之:我正在寻找一种解决方案,将许多小的protobuf编码数据块(即车辆传感器数据)存储在hdfs中,从而使原始数据尽可能保持不变。但是,必须确保之后可以使用map/reduce或spark对数据进行处理。
最好的,托马斯
暂无答案!
目前还没有任何答案,快来回答吧!