2017-08-17 3 views
1

私のscenerioは 私のプロジェクトでは、毎分kafkaから200のメッセージが得られ、avroフォーマットを使用してハイブテーブルに格納する必要があります。ハイブにストリーミングデータを挿入する

私は、scriptfまたは各メッセージを挿入すると、私は各メッセージの挿入に時間がかかると考えています。 このストリーミングデータは、ハイパーに挿入して良い演奏をするために使用しなければならない方法はありますか?

あなたのお手伝いをお待ちしております。

答えて

0

ストリーミングメカニズムとしてApache stormを使用することに興味があります。これは、簡単に検索できるストームを使用してkafka-to-hive boltを使用して実行できます。あなたが正しいのであれば教えてください。

+0

私たちの流れは以下のようなものです。 javaとのスパークでの実装を完了してください。 kafka listner ---> spark engine(メッセージの前処理)--->受信したメッセージの検証--->ハイブテーブルへのプッシュ。 – Ankush

0

外部テーブルを作成して、外部テーブルの場所にmsgを送信しないでください。

+0

メッセージごとにファイルを作成すると、1日に200 * 60 * 24 = 288000個のファイルが作成されます。これは、namenode(メタデータ)のオーバーヘッドにつながります。 – Ankush

+0

実行時にinsert into文がどのように作成されるのですか? のように値を挿入する(1)(2)(3); または テーブルに値(1)を挿入します。 テーブル値に挿入する(2); テーブルの値に挿入する(3); – sk7979

+0

私はあなたの流れに別の方法を提案します: 1)kafka listner ---> 2)スパークエンジン(メッセージの前処理)---> 3)受信したメッセージに対する検証---> 4)ハイブテーブルへのプッシュ 3番目のステップで検証はどのように行われますか? sparkで実行された場合、外部テーブルの場所に対してsaveAsTextFileを使用しないでください。 – sk7979

関連する問題