我正在sqoop
进行基本尝试。使用MySQL我创建了一个数据库示例。我已经在'样本'中创建了一个表格客户。数据库,将一些数据插入表中。
尝试使用sqoop将表格导入hdfs时,即使数据库存在,也会获得Unknown database 'sample'
。
使用sqoop命令:
sqoop import --connect "jdbc:mysql://localhost:3306/sample" --username root --password 123456 --table customers --target-dir hdfs:/sqoop/customers2 -m 1
但是此命令显示表客户:
sqoop list-tables --connect "jdbc:mysql://localhost:3306/sample" --username root --password 123456"
自表&架构是可访问的&适用于list-tables命令,不确定导入命令失败的原因。
我试过以下:
请提出可能存在的问题。
感谢您的回复。
日志:
java.lang.RuntimeException: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'sample'
at org.apache.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:167)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:722)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'sample'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
答案 0 :(得分:0)
试试这个,它会起作用
sqoop import --connect jdbc:mysql://localhost.localdomain/DVS_DB --username hadoop --password hadoop --table DEPT --target-dir sqoop_dir / --m 1;