【发布时间】:2020-06-20 16:35:55
【问题描述】:
我正在尝试使用 scoop 将数据从 MySQL 数据库导入 hdfs,但出现“No columns to generate for ClassWriter”错误。
这是我的独家新闻命令:
sqoop import --connect jdbc:mysql://xxxxx.xxxx.us-east-1.rds.amazonaws.com/xxxx --username xxxx --password xxxx --table xxxx --null-string 'NA' --null-non-string '\\N' --warehouse-dir /user/romeo/finalproject/cardMember
这是错误堆栈:
20/03/08 16:11:27 ERROR manager.SqlManager: Error execution statement: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通讯链路故障
最后一个成功发送到服务器的数据包是 0 毫秒 前。驱动程序没有收到来自服务器的任何数据包。 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通讯链路故障
最后一个成功发送到服务器的数据包是 0 毫秒 前。驱动程序没有收到来自服务器的任何数据包。 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 在 com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121) 在 com.mysql.jdbc.MysqlIO.(MysqlIO.java:357) 在 com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2484) 在 com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2521) 在 com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2306) 在 com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:839) 在 com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:49) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:421) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:350) 在 java.sql.DriverManager.getConnection(DriverManager.java:571) 在 java.sql.DriverManager.getConnection(DriverManager.java:215) 在 org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:903) 在 org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 在 org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:762) 在 org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:785) 在 org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:288) 在 org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:259) 在 org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:245) 在 org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:333) 在 org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1858) 在 org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1657) 在 org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106) 在 org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494) 在 org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621) 在 org.apache.sqoop.Sqoop.run(Sqoop.java:147) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) 在 org.apache.sqoop.Sqoop.main(Sqoop.java:252) 引起:java.net.UnknownHostException: 升级awsrds.cpclxrkdvwmz.us-east1.rds.amazonaws.com 在 java.net.Inet4AddressImpl.lookupAllHostAddr(本机方法) 在 java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) 在 java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293) 在 java.net.InetAddress.getAllByName0(InetAddress.java:1246) 在 java.net.InetAddress.getAllByName(InetAddress.java:1162) 在 java.net.InetAddress.getAllByName(InetAddress.java:1098) 在 com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:249) 在 com.mysql.jdbc.MysqlIO.(MysqlIO.java:307) ... 33 更多 20/03/08 16:11:27 错误 tool.ImportTool: Import failed: java.io.IOException: No columns to generate for ClassWriter 在 org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1663) 在 org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106) 在 org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494) 在 org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621) 在 org.apache.sqoop.Sqoop.run(Sqoop.java:147) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) 在 org.apache.sqoop.Sqoop.main(Sqoop.java:252)
知道如何解决这个问题吗?提前谢谢你。
【问题讨论】: