hadoop sqoop 将 csv 文件加载到 mysql
hadoop sqoop load csv file into mysql
我正在学习hadoop sqoop。我正在开发一个 hortonworks 沙箱(一个单节点的 hadoop 虚拟机:http://hortonworks.com/products/hortonworks-sandbox/#install)。
我正在尝试通过 sqoop 将 csv 文件加载到 mysql table。我在其中创建了一个数据库 flightinfo 和一个 table 天气。我在名为 sqoop_tmp 的配置单元中创建了一个 table,其中包含该 csv 文件的文件位置。
我使用以下命令将 csv 加载到 mysql:
sqoop export --connect jdbc:mysql://localhost/flightinfo –-table weather –-export-dir /apps/hive/warehouse/sqoop_tmp
错误信息如下:
更新:@z-1
我试过你的代码,它 returns 有点不同
试试这个:
sqoop export --connect jdbc:mysql://localhost/flightinfo --table weather --export-dir /apps/hive/warehouse/sqoop_tmp
你 –-
而不是 --
。这两个不一样。
尝试使用 mysql
的用户名和密码
sqoop export --connect jdbc:mysql://localhost/flightinfo --table weather --export-dir /apps/hive/warehouse/sqoop_tmp --username SomeUser -P
注意 - 用户应该有权限。
您必须提供 MySQL 的用户名和密码,并且必须具有访问数据库的权限。
您似乎全新安装了 mysql,并且没有配置 root 帐户以使用 root 密码进行保护。
您可以按照以下步骤进行操作:
$ mysqladmin -u root password "newpassword"
例如 $ mysqladmin -u root password mysql-root-password
- 重新启动 MySQL 守护进程。
$ sudo service mysqld restart
或 $ sudo /etcinit.d/mysqld restart
- 使用
$ mysql -u root -P
登录 MySQL 并在出现提示时输入密码。
如果您将数据库创建为 root 用户。现在您可以发出以下 sqoop 命令将数据从 hdfs 导出到 sqoop 数据库。
$ sqoop export --connect jdbc:mysql://localhost/flightinfo --username root -P --table weather --export-dir /apps/hive/warehouse/sqoop_tmp
仍然面临权限问题??用户访问数据库的权限是问题。
那么,您应该可以通过以下步骤授予权限来解决。
使用$ mysql -u root -P
登录MySQL
mysql> GRANT all PRIVILEGES on filghtinfo.* to 'root'@'localhost' IDENTIFIED BY 'password'
注意:这里设置的密码应该是sqoop使用的。
我正在学习hadoop sqoop。我正在开发一个 hortonworks 沙箱(一个单节点的 hadoop 虚拟机:http://hortonworks.com/products/hortonworks-sandbox/#install)。
我正在尝试通过 sqoop 将 csv 文件加载到 mysql table。我在其中创建了一个数据库 flightinfo 和一个 table 天气。我在名为 sqoop_tmp 的配置单元中创建了一个 table,其中包含该 csv 文件的文件位置。
我使用以下命令将 csv 加载到 mysql:
sqoop export --connect jdbc:mysql://localhost/flightinfo –-table weather –-export-dir /apps/hive/warehouse/sqoop_tmp
错误信息如下:
更新:@z-1
我试过你的代码,它 returns 有点不同
试试这个:
sqoop export --connect jdbc:mysql://localhost/flightinfo --table weather --export-dir /apps/hive/warehouse/sqoop_tmp
你 –-
而不是 --
。这两个不一样。
尝试使用 mysql
的用户名和密码sqoop export --connect jdbc:mysql://localhost/flightinfo --table weather --export-dir /apps/hive/warehouse/sqoop_tmp --username SomeUser -P
注意 - 用户应该有权限。
您必须提供 MySQL 的用户名和密码,并且必须具有访问数据库的权限。
您似乎全新安装了 mysql,并且没有配置 root 帐户以使用 root 密码进行保护。
您可以按照以下步骤进行操作:
$ mysqladmin -u root password "newpassword"
例如$ mysqladmin -u root password mysql-root-password
- 重新启动 MySQL 守护进程。
$ sudo service mysqld restart
或$ sudo /etcinit.d/mysqld restart
- 使用
$ mysql -u root -P
登录 MySQL 并在出现提示时输入密码。
如果您将数据库创建为 root 用户。现在您可以发出以下 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使用的。