Я использую sqoop 1.4.6. Я получаю ошибку при выполнении команды ниже для импорта sqoop:
sqoop import --connect jdbc: mysql://localhost/movielens --driver com.mysql.jdbc.Driver --table фильмы -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 передать --driver com.mysql.jdbc.Driver --table фильмы -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> выберите table_name из information_schema.tables, где table_name нравится 'movies'; + ------------ + | table_name | + ------------ + | фильмы | + ------------ + 1 строка в наборе (0,03 сек)
Я также сделал привилегии GRANT для пользователя root. ГРАНТ ВСЕ ПРИВИЛЕГИИ НА movielens. * To '' @'localhost';
Что мне здесь не хватает?
Если вы работаете в Cloudera Cluster, код выглядит так:
sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/<database_name> --table <table_name> --direct -m 1 --target-dir <target_location>
Это ссылка, которая поможет вам установить драйвер JDBC, если вы этого не знаете.