我有一些关于将mysql数据加载到hive2中的问题,并且不知道如何指定分隔符,我尝试了serval时间但什么都没有。
以下是配置单元表,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
但它也失败了,文档对此没有任何说明,我猜它现在不支持。 剂量任何人都有一些想法吗?任何帮助将不胜感激!
答案 0 :(得分:2)
如果要指定列分类器,则使用命令;
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
用分隔符
替换','此外,如果要对Hive表进行分区,请指定要使用的终止列;
CREATE TABLE Foo (bar int )
PARTITIONED BY (testpartition string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','