首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqoop iMport问题

Sqoop iMport问题
EN

Stack Overflow用户
提问于 2015-12-11 04:24:23
回答 1查看 820关注 0票数 0

我已经安装了最近的cloudera集群CDH5.5单节点,在将db从mysql导入hdfs时,我面临以下错误。能够成功地执行list-dtabases命令。请告诉我以下问题的根本原因。

cloudera@quickstart ~$ sqoop导入--连接"jdbc:mysql://127.0.0.1/nvegesn“-用户名根-密码XXXX -表产品警告:/usr/lib/sqoop/./accumulo不存在!Accumulo的进口将失败。请将$ACCUMULO_HOME设置为Accumulo安装的根目录。15/12/10 20:14:00info sqoop.Sqoop:运行Sqoop版本: 1.4.6-cdh5.5.0 15/12/10 20:14:00警告tool.BaseSqoopTool:在命令行上设置密码是不安全的。考虑使用-P代替。15/12/10 20:14:01信息manager.MySQLManager:准备使用MySQL流结果集。15/12/10 20:14:01 INFO tool.CodeGenTool:开始代码生成15/12/10 20:14:01 manager.SqlManager:执行products语句:从products选择t*作为t限制1 15/12/10 20:14:01错误manager.SqlManager:从数据库读取错误: java.sql.SQLException:流结果集com.mysql.jdbc.RowDataDynamic@47d0ac94仍然处于活动状态。当任何流结果集打开并在给定连接上使用时,不得发出任何语句。在尝试更多查询之前,请确保已对任何活动流结果集调用了.close()。java.sql.SQLException:流结果集com.mysql.jdbc.RowDataDynamic@47d0ac94仍然处于活动状态。当任何流结果集打开并在给定连接上使用时,不得发出任何语句。在尝试更多查询之前,请确保已对任何活动流结果集调用了.close()。com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.MysqlIO.checkForOutstandingStreamingData(MysqlIO.java:2735) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1899) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2619) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2569) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1524) at com.mysql.jdbc.ConnectionImpl.getMaxBytesPerChar(ConnectionImpl.java:3003) at com.mysql.jdbc.Field.getMaxBytesPerCharacter(Field.java:602) at com.mysql.jdbc.ResultSetMetaData.getPrecision(ResultSetMetaData.java:445) at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:286) at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241) at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:227) at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:327) at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1834) at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1646) at org.apache.sqoop.tool.CodeGenTool.generateORM(org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqooporg.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) 15/12/10 20:14:01错误tool.ImportTool:遇到IOException运行导入作业: java.io.IOException:没有要为ClassWriter生成的列

EN

回答 1

Stack Overflow用户

发布于 2015-12-11 17:56:59

如果您试图导入的表没有主键,那么试着在结束时给出'm 1‘。这只会触发一个映射器。

默认情况下,sqoop将触发4个映射器。在这种情况下,它可能不知道数据需要在4个映射器上拆分的列范围。希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34216103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档