大数据全系列 教程
1869个小节阅读:467.1k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
默认的hive分隔符也需要在sqoop文件中指定分隔符\001。
Table 30. Input parsing arguments:
Argument | Description |
---|---|
--input-enclosed-by <char> | Sets a required field encloser |
--input-escaped-by <char> | Sets the input escape character |
--input-fields-terminated-by <char> | Sets the input field separator |
--input-lines-terminated-by <char> | Sets the input end-of-line character |
--input-optionally-enclosed-by <char> | Sets a field enclosing character |
去mysql下删除result_db库下的hive_browser_dim表中的所有数据:
xxxxxxxxxx
TRUNCATE hive_browser_dim;
去hive客户端中删除hive下的表:
xxxxxxxxxx
hive> drop table hive_browser_dim;
OK
Time taken: 2.266 seconds
然后将sqoop5.txt复制一份sqoop7.txt,将导入分隔符从逗号改为hive的默认分隔符。
xxxxxxxxxx
[root@node3 ~]# cp sqoop5.txt sqoop7.txt
[root@node3 ~]# vim sqoop7.txt
修改的具体内容如下:
xxxxxxxxxx
......
--fields-terminated-by
\001 #从逗号改为hive的默认分隔符
执行导入操作:
xxxxxxxxxx
[root@node3 ~]# sqoop --options-file sqoop7.txt
从hdfs文件系统中下载并查看文件内容:
xxxxxxxxxx
[root@node3 ~]# hdfs dfs -get /user/hive_remote/warehouse/hive_browser_dim/part-m-00000
[root@node3 ~]# cat -A part-m-00000
21^AFireFox^A0$
22^AFireFox^A1$
这里的^A对应的就是hive的默认分隔符\001
去mysql下删除result_db库下的hive_browser_dim表中的所有数据:
xxxxxxxxxx
TRUNCATE hive_browser_dim;
执行未指定hive导出的分隔符脚本
xxxxxxxxxx
[root@node3 ~]# sqoop --options-file sqoop6.txt
出现以下异常信息:
ERROR mapreduce.ExportJobBase: Export job failed!
ERROR tool.ExportTool: Error during export:
Export job failed!
at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:445)
解决方案
编写导出文件,复制sqoop6.txt为sqoop8.txt,添加指定分隔符的参数:
xxxxxxxxxx
[root@node3 ~]# cp sqoop6.txt sqoop8.txt
修改sqoop8.txt文件,在文件的尾部添加如下内容:
xxxxxxxxxx
--input-fields-terminated-by
\001
执行:
xxxxxxxxxx
[root@node3 ~]# sqoop --options-file sqoop8.txt
查看mysql的对应的表中是否有20条数据:
说明数据能够正常的导入进来。