hive - Hive:无法将数据从未分区表复制到分区表
问题描述
我有一个未分区的表
create table tabUn
(
col1 string,
col2 int
)
可以说它有一些数据。接下来我创建了一个分区表
CREATE EXTERNAL TABLE tabPart
(
col1 string,
col2 int
)
PARTITIONED BY (col_date string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/path/to/table';
最后,我尝试将数据复制到
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
INSERT OVERWRITE TABLE tabPart PARTITION(data_date='2018-10-01')
SELECT
(
col1,
col2,
'2018-10-01' as col_date
) select * FROM tabUn;
但我收到以下错误
失败:NullPointerException null
我究竟做错了什么?
解决方案
您的 select 语句似乎不正确。
INSERT OVERWRITE TABLE tabPart PARTITION (data_date='2018-10-01')
SELECT col1,col2,'2018-10-01' as col_date from tabUn;
推荐阅读
- angular - Angular 6 中的动态模板编译
- javascript - 如何在 JavaScript 中将 JSON 转换为数组?
- c++ - const 限定符的类型推导失败
- c# - C# xml 文档,我是否需要转义引号和 <、> 中的
section?
- python - 如何删除else语句中打印的空格
- python - /ProjektAJ/songs/ 的 NoReverseMatch 为带有参数“('all',)' 的'songs' 反向查找。尝试了 1 种模式:['ProjektAJ\\/songs/$']
- usb - 在同一逻辑驱动器中使用 FATFS 复制文件
- actionscript-3 - Actionscript 3,跟踪未触发,无法通过错误 1026
- javascript - 加入 JS 字符串数组和 JSX 元素
- mysql - 如何将其转换为单个字符串值