2017-04-06 11 views
0

私のハイブテーブルには、コールレコードデータがあります。テーブルの 3列はfield1- CALL_DATE、フィールド2-FROM_PHONE_NUM、私は私は、特定の日付の間のすべてのコールレコードを取得したい) 1のようなものを照会うfield3- TO_PHONEハイブでの分割とバケット

です。 2)特定の日付の間にFROM_PHONEの電話番号のすべての通話記録を取得したい。 2)特定の日付の間にTO_PHONE電話番号のすべての通話記録を取得したい。

私のテーブルサイズは約6TBです。

すべてのクエリのパフォーマンスを向上させるために、パーティショニングやバケット処理をどのように適用する必要がありますか?

答えて

0

あなたの要件は、特定の日付の間に常にデータを取得し、それをフィルタリングすることです。したがって、テーブルのパーティションは日付に偏っています。

はどのようにあなたがYYYYMMDDとしてパーティションキー日付を持つことができ、ダイナミックパーティション

ためLinkを作成します。

(のような - 今日(2017年4月6日)のための20170406)

+0

どのように私はから、日付関連の通話記録を取得したい場合、私はより速く私のクエリを作るのですか。 – AKC

+0

あなたが正しいと思っているならば、あなたは正しい日付でコールレコードを取得したいと思っています。そして、データが日付で区切られていれば、ハイブに書いておきます。 –

関連する問題