我使用以下命令将mysql表中的数据提取到一个hive表中:
sqoop import \
--connect jdbc:mysql://xx.xx.xx.xx/orderdbms \
--username=orderuser \
--password=orderpass \
--table=order \
--where="DATE(created)='2015-08-20'" \
--hive-import \
--hive-table=orderstat.order \
--target-dir=/user/ordermanager/sqoopdata/orders \
--direct在执行上述操作时,我将得到以下错误:
从数据库读取错误: java.sql.SQLException:流结果集com.mysql.jdbc.RowDataDynamic@1f16ebd3仍然处于活动状态。当任何流结果集打开并在给定连接上使用时,不得发出任何语句。在尝试更多查询之前,请确保已对任何活动流结果集调用了.close()。java.sql.SQLException:流结果集com.mysql.jdbc.RowDataDynamic@1f16ebd3仍然处于活动状态。当任何流结果集打开并在给定连接上使用时,不得发出任何语句。在尝试更多查询之前,请确保已对任何活动流结果集调用了.close()。在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:914) at com.mysql.jdbc.MysqlIO.checkForOutstandingStreamingData(MysqlIO.java:2181) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1542) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) at commysql.jdbc.Statement.executeQuery(Statement.java:1232) at com.mysql.jdbc.Connection.getMaxBytesPerChar(Connection.java:3673) at com.mysql.jdbc.Field.getMaxBytesPerCharacter(Field.java:482) at com.mysql.jdbc.ResultSetMetaData.getPrecision(ResultSetMetaData.java:443) at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:286) at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241) atorg.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:227) at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295) at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833) at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645) at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107) at org.apache.sqoop.tool.ImportTool.importTable( org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop ).runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) 15/08/24 11:54:46错误tool.ImportTool:遇到了运行导入作业的IOException : java.io.IOException:没有要为ClassWriter生成的列( org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop ).runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
有人能解释一下是什么原因造成的吗?客户端与mysql服务器之间的语法或连接问题是否有问题?
发布于 2019-04-01 20:06:10
尝试添加该选项
--driver com.mysql.jdbc.Driverhttps://stackoverflow.com/questions/32176867
复制相似问题