ошибка в импорте sqoop

0

Я использую 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';

Что мне здесь не хватает?

Теги:
hadoop
sqoop

1 ответ

2
  1. Вы не указали команду "--target-dir". Без этого это не сработает.
  2. Более того, вы также должны указать номер порта.
  3. Когда вы работаете с Sqoop, убедитесь, что mysql-connector-java-5.1.45.tar.gz в "/var/lib/sqoop/"

Если вы работаете в Cloudera Cluster, код выглядит так:

sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/<database_name> --table <table_name> --direct -m 1 --target-dir <target_location>

Это ссылка, которая поможет вам установить драйвер JDBC, если вы этого не знаете.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню