用--input-lines-terminated-by =“:”导出sqoop不起作用

时间:2019-01-31 17:56:06

标签: mysql sqoop cloudera

我正试图从hdfs导出到mysql以行终止符为“:”的文件。我的sqoop命令仅导出第一行。 我的预期结果是编写带有两列id和description的表测试。请帮助我。 谢谢。

在文件file / departments_enclosed / part-m-00000-test中:

'2'~'fitness new':'3'~'footwear':'4'~'Apparel':'5'~'Golf':'6'~'Outdoors':'7'~'Fan Shop':'2'~'fitness new':'3'~'footwear':'12'~'Mathematics':'13'~'Science':'14'~'engineering  ':'1000'~'management':'9999'~'\'Data Science\'':

我的命令:

sqoop export \
    --connect="jdbc:mysql://***********" \
    --username=********* \
    --password=******* \
    --table=test \
    -m 1 \
    --export-dir="file/departments_enclosedby/part-m-00000-test" \
    --input-enclosed-by="'" \
    --input-escaped-by="\\" \
    --input-fields-terminated-by="~" \
    --input-lines-terminated-by=":"

此命令的结尾为:导出了1条记录。

我试图以这种方式在文件中添加一行:

'2'~'fitness new':'3'~'footwear':'4'~'Apparel':'5'~'Golf':'6'~'Outdoors':'7'~'Fan Shop':'2'~'fitness new':'3'~'footwear':'12'~'Mathematics':'13'~'Science':'14'~'engineering  ':'1000'~'management':'9999'~'\'Data Science\'':
'3'~'footwear':'4'~'Apparel':'5'~'Golf':'6'~'Outdoors':'7'~'Fan Shop':'2'~'fitness new':'3'~'footwear':'12'~'Mathematics':'13'~'Science':'14'~'engineering  ':'1000'~'management':'9999'~'\'Data Science\'':

使用此文件,sqoop命令导出2行,id 2和3。

1 个答案:

答案 0 :(得分:0)

我的蜂巢版本不支持与\ n不同的行终止符。

SemanticException 7:20终止符行现在仅支持换行符'\ n'。令牌'-'

附近遇到错误

因此,导入工作正常,但无法通过配置单元读取文件或再次将其导出。

再见,谢谢