2016-08-30 3 views
0

я использовал команду экспорта в sqoop и сталкиваюсь с этой ошибкой при экспорте из hdfs в MySQL команды:Ошибки при экспорте sqoop команды

sqoop export 
--connect jdbc:mysql://localhost/property 
--username root 
--password root 
--table xyz 
--m 1 
--export-dir abc.csv 

Ошибка:

16/08/30 23:11:33 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 
16/08/30 23:11:34 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset. 
16/08/30 23:11:34 INFO tool.CodeGenTool: Beginning code generation 
16/08/30 23:11:34 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver 
java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver 
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:848) 
    at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:736) 
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:759) 
    at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:269) 
    at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:240) 
    at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:226) 
    at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295) 
    at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1773) 
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1578) 
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96) 
    at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:64) 
    at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100) 
    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) 

ответ

1

Добавить mysql-connector.jar в $SQOOP_HOME/lib.

Согласно Sqoop docs,

Вы можете использовать Sqoop с любым другим JDBC-совместимой базе данных. Во-первых, загрузите соответствующий драйвер JDBC для типа базы данных, которые необходимо импортировать, и установите .jar файл в каталоге $SQOOP_HOME/lib на клиентской машине

Кроме того,

Каждый файл драйвера .jar также определенный класс драйвера, который определяет точку входа в драйвер. Например, в библиотеке Connector/J MySQL есть класс драйвера com.mysql.jdbc.Driver. Для определения основного класса драйвера обратитесь к документации по конкретному поставщику базы данных. Этот класс должен быть предоставлен в качестве аргумента Sqoop с --driver.

Итак, добавьте --driver com.mysql.jdbc.Driver в свою команду.

Смежные вопросы