回答

收藏

Dynamic Partitioning CREATE AS on HIVE

技术问答 技术问答 306 人阅读 | 0 人回复 | 2023-09-14

我试图从另一个表中创建一个新的表CREATE AS和; A6 ^, O7 s4 v' A" j+ R
动态分区上HiveCLI。我正在从Hive官方Wiki学习,这里
5 l% K0 f" ]3 K) W, j5 W& |% p以下示例:8 d& v7 u  @( p4 i6 O$ O) Z
    CREATE TABLE T (key int,value string)  PARTITIONED BY (ds string,hr int) AS SELECT key,value,ds,hr 1 hr1    FROM srcpart    WHERE ds is not null    And hr>10;但我收到了这个错误:
# K8 C! a' q* k9 M7 gFAILED: SemanticException [Error 10065]:
4 M1 ]! |: k# R2 n- u' s5 s# gCREATE TABLE AS SELECT command cannot specify the list of columns for the! {7 t# B# v+ \& w
target table% l* B7 Q4 G, w1 \
                                                               
# J5 k, B) P2 D. {; l    解决方案:                                                                # E! s. m, E2 {- m: n, j$ J
                                                                因为你已经了解了目标表的完整模式,所以
  ^! k, A+ [% U- N+ f7 Z请尝试创建它,然后使用它LOAD DATA命令填充:
, A6 u$ P" v, f. M; ~# V, R2 nSET hive.exec.dynamic.partition.mode=nonstrict;CREATE TABLE T (key int,value string) PARTITIONED BY (ds string,hr int);INSERT OVERWRITE TABLE T PARTITION(ds,hr) SELECT key,value,ds,hr 1 AS hr    FROM srcpart    WHERE ds is not null    And hr>10;注:由于需要实施完整的动态分区插入,因此需要set命令。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则