如何在Hive中创建随机分区数据

时间:2014-04-14 12:52:34

标签: hadoop hive

我有以下数据:

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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我想你想做一个插入覆盖

INSERT OVERWRITE TABLE test PARTITION(CountryId)
SELECT id,name, rand() as CountryId
FROM my_data;

为my_data.txt文件创建外部表后。