我有以下数据:
id INT name STRING
1 a
2 b
3 c
我想在Hive中使用分区CountryID创建一个新表,并将数据加载到表中并将随机值放在CountryID中。
我正在使用以下命令,但它不起作用:
Hive> set hive.exec.dynamic.partition.mode=nonstrict
Hive> CREATE TABLE test (id INT, name STRING) PARTITIONED BY (CountryID INT);
Hive> LOAD DATA INPATH '/my_data.txt' INTO TABLE test PARTITION (CountryID = rand());
我收到以下错误:
FAILED: ParseException line 1:76 cannot recognize input near 'rand' '(' ')' in constant
我做错了什么?
答案 0 :(得分:0)
我想你想做一个插入覆盖
INSERT OVERWRITE TABLE test PARTITION(CountryId)
SELECT id,name, rand() as CountryId
FROM my_data;
为my_data.txt文件创建外部表后。