尝试从sqoop连接到mysql服务器时出现错误

问题描述:

我正在使用cloudera CDH来练习sqoop。当我尝试通过sqoop连接到cloudera mysql数据库时。我得到错误 -尝试从sqoop连接到mysql服务器时出现错误

"use --table or --query for import"

我按照sqoop文档中所述完全按照说明操作。

http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_connecting_to_a_database_server

反正有来自sqoop其他连接到MySQL服务器比使用import语句。

[[email protected] ~]$ sqoop import --connect \ 
> jdbc:mysql://quickstart.cloudera/retail_db \ 
> --username cloudera --password cloudera 
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail. 
Please set $ACCUMULO_HOME to the root of your Accumulo installation. 
16/07/28 07:07:31 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.5.0 
16/07/28 07:07:31 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 
--table or --query is required for import. (Or use sqoop import-all-tables.) 

sqoop import用于将数据从RDBMS导入到HDFS。要导入数据,您需要告诉名称SQL查询。这就是为什么你得到这个错误:

"use --table or --query for import"

你想检查与Sqoop连接是否成功,并且不想导入数据。你可以尝试像

  • 列表数据库

    sqoop list-databases --connect jdbc:mysql://database.example.com/ -username user --password pass 
    
  • 表列出一些其他的Sqoop特征数据库中的

    sqoop list-tables --connect jdbc:mysql://database.example.com/testdb --username user --password pass