使用Sqoop将数据从Hive导入MySQL可能遇到的问题
2017-07-13 20:31
1356 查看
1.权限问题
|--问题描述
Java.io.IOException: com.mysql.jdbc.CommunicationsException:Communications link failure due to underlying exception:
Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
|--解决方法
解决MySQL的授权问题。类似如下:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
*.*代表所有数据库的所有表。identified by 'root' root是密码。
可以授予的权限有:select insert update delete create drop index alter grant references reload shutdown process file...14个权限。
不要忘记flush privileges;
2.不能导出数据
|--问题描述
java.io.IOException: Can’t export data, please check task tracker logsCaused by: java.util.NoSuchElementException
|--解决方法
导出数据到MySQL,当然数据库表要先存在,否则会报错,此错误的原因为sqoop解析文件的字段与MySql数据库的表的字段对应不上造成的。因此需要在执行的时候给sqoop增加参数,告诉sqoop文件的分隔符,使它能够正确的解析文件字段。hive默认的字段分隔符为'\001',sqoop的默认分隔符是','。
|--问题描述
java.io.IOException: Can’t export data, please check task tracker logsCaused by: java.lang.NumberFormatException: For input string: “665A5FFA-32C9-9463-1943-840A5FEAE193″
|--解决方法
指定null字段的填充符--input-null-string:如果没有这个选项,那么在字符串类型列中,字符串"null"会被转换成空字符串,所以最好写上这个,指定为'\\N'
--input-null-non-string:如果没有这个选项,那么在非字符串类型的列中,空串和"null"都会被看作是null
|--问题描述
java.io.IOException: Can’t export data, please check task tracker logsCaused by: java.lang.IllegalArgumentException
|--解决方法
hive中字符串必须是yyyy-mm-dd3.字段格式问题
|--问题描述
java.io.IOException: com.mysql.jdbc.MysqlDataTruncation:Data truncation: Data too long for column ‘pid’ at row 1
Caused by: com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Data too long for column ‘pid’ at row 1
|--解决方法
hive中定义的表字段属性与mysql中定义的字段属性不一致,导致mysql数据库中的个别字段存不下相关文章推荐
- 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟
- sqoop从mysql迁移数据到hive中遇到的问题
- Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- sqoop从mysql导入hdfs数据过程遇到的问题
- 使用sqoop导入导出mysql、hdfs、hive出现的问题
- 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- 使用Sqoop从MySQL导入数据到Hive和HBase
- 使用Sqoop将Hive表数据导入到mysql
- 教程 | 使用Sqoop从MySQL导入数据到Hive和HBase
- mysql包含二进制字段的数据导出导入及可能遇到的问题
- 使用sqoop将mysql中数据导入到hive中
- Sqoop_详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟
- 使用sqoop把mysql数据导入hive
- sqoop从mysql中导入数据到mysql遇到的问题
- 使用sqoop将hive数据导入mysql实例
- Sqoop_详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- mysql数据导入到hive遇到的问题