我正在尝试通过运行以下命令将文件本地加载到 Hive 中:
LOAD DATA INPATH '/data/work/hive/staging/ExampleData.csv' INTO TABLE tablename;
这给了我错误:
SemanticException [错误 10062]:需要指定分区列,因为目标表已分区(状态 = 42000,代码 = 10062)
我找到的一个答案建议创建一个中间表,然后让动态分区启动以加载到分区表中。
我创建了一个与数据匹配的表并将其截断:
create table temptablename as select * from tablename;
truncate table temptablename
Run Code Online (Sandbox Code Playgroud)
然后使用以下方法加载数据:
LOAD DATA INPATH '/data/work/hive/staging/ExampleData.csv' INTO TABLE temptablename;
Run Code Online (Sandbox Code Playgroud)
我如何“启动”动态分区?
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3069 次 |
| 最近记录: |