好吧,我有一些关于将 mysql 数据加载到 hive2 的问题,并且不知道如何指定分隔符,我尝试了 serval 次但一无所获。
下面是hive表,id
是分区列,
0: jdbc:hive2://localhost/> desc test;
+-----------+------------+----------+
| col_name | data_type | comment |
+-----------+------------+----------+
| a | string | |
| id | int | |
+-----------+------------+----------+
当我执行
load data local inpath 'file:///root/test' into table test partition (id=1);
它说:
Invalid path ''file:///root/test'': No files matching path file
但它确实存在。
我想按指定的文件进行动态分区,所以我将非常列添加到文件中,如下所示:
root@<namenode|~>:#cat /root/test
a,1
b,2
但它也失败了,文档对此只字未提,我猜它现在不支持。 有人知道吗?任何帮助将不胜感激!
最佳答案
如果你想指定列分隔符,它使用命令;
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
用你的分隔符替换','
此外,如果您想对 Hive 表进行分区,您可以指定要在使用时终止的列;
CREATE TABLE Foo (bar int )
PARTITIONED BY (testpartition string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
关于hadoop - 配置单元加载数据 :how to specify file column separator and dynamic partition columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137474/