我正在使用sqoop 1.4.6。 我在执行sqoop import的下面命令时遇到错误:
sqoop import --connect jdbc:mysql:// localhost / movielens --driver com.mysql.jdbc.Driver --table movies -m 1
ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
所以我尝试了下面的命令,但仍然收到一些错误:
sqoop import --connect jdbc:mysql:// localhost / movielens --username root --password pass --driver com.mysql.jdbc.Driver --table movies -m 1
Error reading primary key metadata: java.sql.SQLSyntaxErrorException: Unknown table 'movies' in information_schema
java.sql.SQLSyntaxErrorException: Unknown table 'movies' in information_schema
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:536)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1983)
但是当我在information_schema中检查时,我发现了电影表。
的MySQL>从information_schema.tables中选择table_name,其中table_name类似于' movies&#39 ;; + ------------ + | table_name | + ------------ + |电影| + ------------ + 1行(0.03秒)
我还对root用户做了GRANT权限。 在电影版权上授予所有特权。*到'' @' localhost';
我在这里缺少什么?
答案 0 :(得分:2)
如果您正在使用Cloudera Cluster,代码如下,
sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/<database_name> --table <table_name> --direct -m 1 --target-dir <target_location>
这是link,它指导您如何安装JDBC驱动程序,以防您不知道。