使用派生列进行动态分区
Dynamic partitioning with dervied column
我正在尝试通过动态分区将数据插入 Hive table table is
创建外部 TABLE target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
按 (txn_date date,txn_hour int)
划分
值
txn_date=20160216
txn_hour=12
创建外部 TABLE stg_target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
插入覆盖 table target_tbl_wth_partition 分区(txn_date,小时(txn_date))
select booking_id,代码,txn_date,来自 stg_target_tbl_wth_partition 的记录器;
我无法在动态分区中插入派生列。任何有关如何处理此类案件的帮助都会有所帮助。
此致,
拉凯什
我建议你从类似的事情开始...
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
;
...让它发挥作用;然后你可以开始尝试一些奇怪的和不受支持的语法,看看哪些有效,哪些无效。
我正在尝试通过动态分区将数据插入 Hive table table is
创建外部 TABLE target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
按 (txn_date date,txn_hour int)
值
txn_date=20160216 txn_hour=12
创建外部 TABLE stg_target_tbl_wth_partition
(
booking_id
字符串,
code
字符串,
txn_date
时间戳,
logger
字符串,
)
插入覆盖 table target_tbl_wth_partition 分区(txn_date,小时(txn_date)) select booking_id,代码,txn_date,来自 stg_target_tbl_wth_partition 的记录器;
我无法在动态分区中插入派生列。任何有关如何处理此类案件的帮助都会有所帮助。
此致, 拉凯什
我建议你从类似的事情开始...
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
;
...让它发挥作用;然后你可以开始尝试一些奇怪的和不受支持的语法,看看哪些有效,哪些无效。