我使用Amazon的Elastic MapReduce的創建新表,我有一個蜂巢表基礎上創建的文件夾中的一系列的Amazon S3存儲日誌文件和拆分一天像這樣:蜂巢:從現有的分區表
- 數據/天= 2011-09-01/log_file.tsv
- 數據/天= 2011-09-02/log_file.tsv
目前我正在試圖創建過濾掉一些額外的表這些日誌文件中的不需要的活動,但我不知道如何做到這一點,並不斷收到錯誤,如:
FAILED: Error in semantic analysis: need to specify partition columns because the destination table is partitioned.
如果我的初始表create語句看起來是這樣的:
CREATE EXTERNAL TABLE IF NOT EXISTS table1 (
... fields ...
)
PARTITIONED BY (DAY STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION 's3://bucketname/data/';
即初始表工作正常,我已經能夠沒有任何問題進行查詢。
那麼我應該如何創建一個共享前一個結構的新表,但只是過濾掉數據?這似乎並不奏效。
CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE table1;
FROM table1
INSERT OVERWRITE TABLE table2
SELECT * WHERE
col1 = '%somecriteria%' AND
more criteria...
;
正如我上面所說,這將返回:
FAILED: Error in semantic analysis: need to specify partition columns because the destination table is partitioned.
謝謝!