我试图通过动态分区将数据插入到Hive表中
CREATE EXTERNAL TABLE target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
分区(txn_date date,txn_hour int)
值
txn_date = 20160216 txn_hour = 12
CREATE EXTERNAL TABLE stg_target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
插入覆盖表target_tbl_wth_partition分区(txn_date,hour(txn_date)) 从stg_target_tbl_wth_partition中选择booking_id,代码,txn_date,logger;
我无法在动态分区中插入派生列。任何有关如何处理此类案件的帮助都会有所帮助。
此致 勒凯什
答案 0 :(得分:0)
我建议你从这样的事情开始......
CREATE TABLE blahblah (...)
PARTITIONED BY (aaa STRING, bbb STRING)
;
SET hive.exec.dynamic.partition = true
;
SET hive.exec.dynamic.partition.mode = nonstrict
;
INSERT INTO TABLE blahblah PARTITION (aaa, bbb)
SELECT ...,
SUBSTRING(aaabbb,1,5) as aaa,
SUBSTRING(aaabbb,7,2) as bbb
FROM sthg
;
......让它发挥作用;那么你可以开始尝试一些奇怪的和不受支持的语法,看看哪些有效,哪些无效。