我正在学习hadoopsqoop。我正在开发hortonworks沙盒(一个单节点hadoop虚拟机:http://hortonworks.com/products/hortonworks-sandbox/#install).
我正在尝试通过sqoop将csv文件加载到mysql表中。我已经创建了一个数据库flightinfo和一个表中的天气。我在配置单元中创建了一个名为sqoop\u tmp的表,其中包含该csv文件的文件位置。
我使用以下命令将csv加载到mysql中:
sqoop export --connect jdbc:mysql://localhost/flightinfo –-table weather –-export-dir /apps/hive/warehouse/sqoop_tmp
以下是错误消息:
更新:@z-1我尝试了你的代码,它返回了一些不同的东西
3条答案
按热度按时间vlju58qv1#
试试这个:
你有
–-
不是--
. 这两个不一样。g2ieeal72#
尝试使用mysql的用户名和密码
注意-用户应有权限。
k5hmc34c3#
您必须提供mysql的用户名和密码,并且必须具有访问数据库的权限。
看起来您重新安装了mysql,但没有配置根帐户以使用根密码进行保护。
您可以使用以下步骤完成此操作:
$ mysqladmin -u root password "newpassword"
例如$ mysqladmin -u root password mysql-root-password
重新启动mysql守护程序。$ sudo service mysqld restart
或者$ sudo /etcinit.d/mysqld restart
使用登录mysql$ mysql -u root -P
并在提示时输入密码。如果将数据库创建为根用户。现在可以发出以下sqoop命令将数据从hdfs导出到sqoop数据库。
$ sqoop export --connect jdbc:mysql://localhost/flightinfo --username root -P --table weather --export-dir /apps/hive/warehouse/sqoop_tmp
仍然面临许可问题??用户访问数据库的权限是个问题。然后,您应该能够通过使用以下步骤授予权限来解决问题。
使用登录mysql
$ mysql -u root -P
mysql> GRANT all PRIVILEGES on filghtinfo.* to 'root'@'localhost' IDENTIFIED BY 'password'
注意:您在这里设置的密码应该来自sqoop。