2017-07-20 57 views
2

我試圖通過運行此命令將文件加載到本地蜂巢:加載路徑文件分區表

LOAD DATA INPATH '/data/work/hive/staging/ExampleData.csv' INTO TABLE tablename;

它給我的錯誤:

SemanticException [Error 10062]: Need to specify partition columns because the destination table is partitioned (state=42000,code=10062)

An answer I found建議創建一箇中間表,然後讓動態分區加載到分區表中。

我創建的數據相匹配的表,並截斷它:

LOAD DATA INPATH '/data/work/hive/staging/ExampleData.csv' INTO TABLE temptablename; 

如何「踢」動態劃分:

create table temptablename as select * from tablename; 
truncate table temptablename 

然後使用加載的數據?

回答

2
1.Load data into temptablename(without partition) 
create table temptablename(col1,col2..); 
LOAD DATA INPATH '/data/work/hive/staging/ExampleData.csv' INTO TABLE 
temptablename; 

now once you have data in intermediate table ,you can kick in dynamic 
partitioning using following command. 

2.INSERT into tablename PARTITION(partition_column) select * from 
temptablename;