【发布时间】:2020-07-13 07:54:36
【问题描述】:
我正在尝试将名为 accounts 的表中的数据复制到名为 accounts_by_area_code 的空表中。我在 accounts_by_area_code 中有以下字段:acct_num INT、first_name STRING、last_name STRING、phone_number STRING。该表按区号(phone_number 的前 3 位)进行分区。
我需要使用 SELECT 语句将区号提取到 INSERT INTO TABLE 命令中,以将指定的列复制到新表中,并按区号动态分区。
这是我最后一次尝试:
impala-shell -q "INSERT INTO TABLE accounts_by_areacode (acct_num, first_name, last_name, phone_number, areacode) PARTITION (areacode) SELECT STRLEFT (phone_number,3) AS areacode FROM accounts;"
这会生成错误:AnalysisException:列排列和 PARTITION 子句提到的列 (5) 多于 SELECT / VALUES 子句和 PARTITION 子句返回 (1)。我不相信我的基本语法是正确的,所以任何帮助都会很棒,因为我是 Impala 的新手。
【问题讨论】:
标签: syntax partitioning impala