我有这样的文件:
1^%~binod^*~1^%~ritesh^*~1^%~shisir^*~1^%~budhdha^*~1^%~romika^*~1^%~rubeena^*~
其中--输入字段以“^%~”结尾--输入行以“^*~”结尾。
我试图通过命令导出:
sqoop export --connect jdbc:mysql://localhost/sqoop --username root -P --table makalu --export-dir sqoop/makalu --input-fields-terminated-by '^%~' --input-lines-terminated-by '^*~'
但它只写了一行:
id|name
1|%~binod
在mysql中。
现在我的问题是解决这个问题的命令是什么。
2条答案
按热度按时间yi0zb3m41#
参数--输入字段以“单引号中的任何分隔符”结尾。在这种情况下也不要使用--direct,因为它会覆盖分隔符。显然,您需要在mysql中创建一个表,其默认分隔符是','
gg0vcinb2#
参数--以和结尾的输入字段--以单个字符结尾的输入行
在终端中执行导出命令时,可以看到以下警告
更新:
我观察到的一件事是,如果行不是终止于\n或新行,那么在导出时它只会将一条记录插入数据库。我尝试了两种与字段和行终止的组合,但只有在行终止的情况下,数据才会导出到rdbms表中
甚至尝试了--输入行以和结尾--行以参数结尾,但没有成功。
我已经测试过了
我唯一能找到的就是这个。