3

時間ベースのリテンションを持つイベント ブローカーからのイベント ストリーム (代わりに「メッセージ」または単に「データ」と呼ぶこともできます) があります。イベント ブローカーは、KafkaAmazon Kinesis、またはMicrosoft Event Hubsである可能性がありますが、それが Kafka であるとしましょう。

私の目標は、このイベント ストリームを受け取り、それをコールド ストレージに入れることです。つまり、Hadoop/Spark を介した将来の分析のためにデータを保存します。これは、この「おしゃべりな」イベント ストリームを HDFS の「分厚い」ファイルに変換したいということです。クラウド環境では、HDFS の代わりに S3 または Azure Storage を使用する可能性があります。

また、ソリューションの費用対効果が高いことも望んでいます。たとえば、ディスク容量のコストを削減するために、Avro/ORC などのシリアル化形式を使用しています。私はまた、特定のイベントがコールド ストレージに保持されることを少なくとも 1 回保証するようなものです (1 回限りのボーナス ポイント)。

私の主な質問は次のとおりです。

  • 人々はこの問題をどのように解決していますか?
  • このシナリオを既に処理しているコンポーネントはありますか?
  • 自分でソリューションを開発する必要がありますか?
  • 少なくとも、推奨されるパターンはありますか?
4

2 に答える 2

1

もう 1 つのオプションは、Kafka ソース (または Kafka チャネル) および HDFS シンクで Flume を使用することです。HDFS シンクは、特定のサイズまたは時間でロールするように構成できます。

于 2014-11-01T02:15:27.640 に答える