作为hadoop领域的初学者,我尝试使用sqoop工具(版本:sqoop1.4.6-cdh5.8.0)。
虽然我提到了各种网站和论坛,但我无法得到可行的解决方案,在那里我可以导入数据使用任何其他分隔符以外的 ,
.
pfb我使用的代码:
---连接mysql,创建表和记录 ,
在字符串中。
mysql> create database GRHadoop;
Query OK, 1 row affected (0.00 sec)
mysql> use GRHadoop;
Database changed
mysql> Create table sitecustomer(Customerid int(10), Customername varchar(100),Productid int(4),Salary int(20));
Query OK, 0 rows affected (0.22 sec)
mysql> Insert into sitecustomer values(1,'Sohail',100,50000),(2,'Reshma',200,80000),(3,'Tom',200,60000);
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> Insert into sitecustomer values(4,'Su,kama',300,50000),(5,'Ram,bha',100,80000),(6,'Suz',200,60000);
Query OK, 3 rows affected (0.03 sec)
Records: 3 Duplicates: 0 Warnings: 0
sqoop命令:
sqoop import \
--connect jdbc:mysql://127.0.0.1:3306/GRHadoop \
--username root \
--password cloudera \
--table sitecustomer \
--input-fields-terminated-by '|' \
--lines-terminated-by "\n" \
--target-dir /user/cloudera/GR/Sqoop/sitecustomer_data \
--m 1;
预期产量:
1|Sohail|100|50000
2|Reshma|200|80000
3|Tom|200|60000
4|Su,kama|300|50000
5|Ram,bha|100|80000
6|Suz|200|60000
实际输出:
1,Sohail,100,50000
2,Reshma,200,80000
3,Tom,200,60000
4,Su,kama,300,50000
5,Ram,bha,100,80000
6,Suz,200,60000
请告诉我哪里弄错了。
1条答案
按热度按时间hfyxw5xn1#
这个
--input-fields-terminated-by
参数是告诉sqoop如何在执行过程中解析输入文件export
. 你应该使用--fields-terminated-by
,此参数控制输出的格式。