尝试从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