次のような典型的なCREATE TABLE
ステートメントがあります。
CREATE EXTERNAL TABLE temp_url (
MSISDN STRING,
TIMESTAMP STRING,
URL STRING,
TIER1 STRING
)
row format delimited fields terminated by '\t' lines terminated by '\n'
LOCATION 's3://mybucket/input/project_blah/20140811/';
/20140811/ は、内部にギガバイトのデータがあるディレクトリです。
物をロードすることは問題ではありません。ただし、それに対して何かをクエリすると、Hive が停止し、多くのMapRed
エラーが表示されます。
代わりに、 /20140811/ のデータの一部だけを読み込む方法がないかお尋ねしたいと思います。フォルダー内からいくつかのファイルを選択して別のフォルダーにダンプし、それを使用できることはわかっていますが、特にこの /20140811/ ディレクトリが 20 個ほどある場合は面倒です。
このようなものはありますか:
CREATE EXTERNAL TABLE temp_url (
MSISDN STRING,
TIMESTAMP STRING,
URL STRING,
TIER1 STRING
)
row format delimited fields terminated by '\t' lines terminated by '\n'
LOCATION 's3://mybucket/input/project_blah/Half_of_20140811/';
ハイブ以外の回答も受け付けています。s3cmd
/20140811/ 内の特定の量のデータを /20140811_halved/ などにダンプする方法がおそらくあるでしょう。
ありがとう。