1.Sqoop导入数据到HDFSHIVE报错 Hive exited with status 1
报错信息 :
ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1
原因①
mysql中的hive元数据编码格式是UTF8导致的,修改为latin1即可
原因②
hive和hbase引用了不同版本的libthrift导致
Hbase 和 hive的 libthrift 版本分别是 libthrift-0.8.0.jar,libthrift-0.9.0.jar
可以看到hive和hbase引用了不同版本的 libthrift
将Sqoop配置文件中的 HBASE_HOME 设置为空,让Sqoop不能加载hbase版本的thrift就OK了
2.将hive中的表数据导入到mysql中报错
FAILED java.util.NoSuchElementException
此错误的原因为sqoop解析文件的字段与MySql数据库的表的字段对应不上造成的。因此需要在执行的时候给sqoop增加参数(–input-fields-terminated-by ‘\t’ ),指定sqoop文件的分隔符,使它能够正确的解析文件字段
注:hive默认的字段分隔符为’\001’
文章评论