Sqoop iMport问题

问题描述 投票:0回答:1

我已经安装了最近的cloudera集群CDH5.5单节点,我在将数据库从mysql导入到hdfs时面临以下错误。我能够成功运行list-dtabases。请让我知道以下问题的根本原因。

[cloudera @ quickstart~] $ sqoop import --connect“jdbc:mysql://127.0.0.1/nvegesn”--username root --password XXXX --table products警告:/usr/lib/sqoop/../accumulo不存在! Accumulo进口将失败。请将$ ACCUMULO_HOME设置为Accumulo安装的根目录。 15/12/10 20:14:00 INFO sqoop.Sqoop:运行Sqoop版本:1.4.6-cdh5.5.0 15/12/10 20:14:00 WARN tool.BaseSqoopTool:在命令行上设置密码是不安全的。考虑使用-P代替。 15/12/10 20:14:01 INFO manager.MySQLManager:准备使用MySQL流式结果集。 15/12/10 20:14:01 INFO tool.CodeGenTool:开始代码生成15/12/10 20:14:01 INFO manager.SqlManager:执行SQL语句:SELECT t。* FROM products AS t LIMIT 1 15/12 / 10 20:14:01 ERROR 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)在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)在com.mysql.jdbc.MysqlIO.checkForOutstandingStreamingData(MysqlIO.java:2735 )com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1899)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java: 2619)在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2569)在com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1524)在com.mysql.jdbc.ConnectionImpl.getMaxBytesPerChar(ConnectionImpl.java :3003)在com.mysql.jdbc.Field.getMaxBytesPerCharacter(Field.java:602)在com.mysql.jdbc.ResultSetMetaData.getPrecision(ResultSetMetaData.java:445)在org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery( SqlManager.java:286)org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241)org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:227)atg .apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:327)在org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1834)在org.apache.sqoop.orm.ClassWriter.generate(ClassWriter的.java:1646)在org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107)在org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)在org.apache.sqoop。 org.apache.sqoop.Sqoop.run(Sqoop.java:143)上的tool.ImportTool.run(ImportTool.java:605)org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)at org .apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)在org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)在org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)在org.apache.sqoop.Sqoop.main(Sqoop.java:236)15/12/10 20:14:01错误tool.ImportTool:遇到IOException运行导入作业:java.io.IOException:没有为ClassWriter生成的列

sqoop
1个回答
0
投票

如果您尝试导入的表没有主键,请尝试给出“m 1”然后结束。这将只触发一个映射器。

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

© www.soinside.com 2019 - 2024. All rights reserved.