使用sqoop将Hive中的数据导出到mysql及异常Job failed as tasks failed.

1. 使用以下语句尝试从Hive中导出数据到mysql

/sqoop export --connect jdbc:mysql://***.***.***.***./companyinfo --username root --password password -m 1 --table testsqoop --export-dir /user/hive/warehouse/testsqoop --columns="id,name"

出现以下错误Job failed as tasks failed.

使用sqoop将Hive中的数据导出到mysql及异常Job failed as tasks failed.

 

2. 原因分析:

      sqoop导出是根据分隔符去分隔字段值。hive默认的分隔符是‘\001’,sqoop默认的分隔符是','。

3. 解决:在脚本中需要加入 --input-fields-terminated-by '\001' 参数。

/sqoop export --connect jdbc:mysql://***.***.***.***./companyinfo --username root --password password -m 1 --table testsqoop --export-dir /user/hive/warehouse/testsqoop --columns="id,name" --input-fields-terminated-by '\001'

再执行,导入成功,亲测有效。