私はハイブが初めてです。入力ファイルの形式は (ID、日付 (YYYY-MM-DD)、時間 (HH)、キー、値) です。テーブルは (日付、時間) で分割されており、入力ファイルには 7 日間 (24 時間) のデータが含まれています。毎日)。このデータをハイブテーブルにロードするとき、テーブルのそれぞれのパーティションにデータをロードする必要があります。助けてください。
ありがとう、スダカール。
1つの方法は、最初にデータをパーティション化されていないテーブル(たとえば、以下の例のtmp_some_table)にロードすることです。次に、次のようなことを行うことができます。
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
from tmp_some_table tt
insert overwrite table some_table partition(day, hour)
select
id,
key,
value,
day,
hour
パーティションは、select句の最後の列である必要があります。上記はハイブ0.7.1で動作します。詳細については、wikiを参照してください。パーティションが多すぎるとエラーが発生することに注意してください。