4


protobuf でエンコードされたデータを HDFS に格納するための推奨される方法は何ですか。現在、2 つの解決策が考えられます:
a) シーケンス ファイル: シリアル化/エンコードされたバイナリ データ、つまり、シーケンス ファイルの対応する値の "byte[]" を格納します。

b) Parquet: Parquet は protobuf/Parquet コンバーターを提供します。したがって、これらのコンバーターを使用する場合、まずバイナリ データをオブジェクト表現に逆シリアル化する必要があり、その後、そのオブジェクトを protobuf/Parquet コンバーターに渡して Parquet に格納する必要があると想定しています。そうすることで、ソリューション a) に比べてパフォーマンス コストが高くなると思います。大量の小さな protobuf でエンコードされたデータ チャンク (Kafka によって提供されるストリーミングされた車両データ) を処理する必要があるため、パフォーマンスとメモリ コストは重要な側面です。

c) 他の代替案はありますか?

要約すると、多くの小さな protobuf でエンコードされたデータ チャンク (つまり、車両センサー データ) を HDFS に保存して、生データをできるだけそのままにしておくソリューションを探しています。ただし、後で Map/Reduce または Spark を使用してデータを処理できるようにする必要があります。

ベスト、トーマス

4

0 に答える 0