Sqoop的数据导出
将数据从HDFS导出到RDBMS数据库
导出前,目标表必须存在于目标数据库中。
u 默认操作是从将文件中的数据使用INSERT语句插入到表中
u 更新模式下,是生成UPDATE语句更新表数据
3.5.1 语法
以下是export命令语法。
$ sqoop export (generic-args) (export-args) |
3.5.2示例
数据是在HDFS 中“/user/root/emp_conn”目录下存在part-m-00000文件中。所述part-m-00000如下:
1201,2356742,gopal@tp.com 1202,1661663,manisha@tp.com 1203,8887776,khalil@ac.com 1204,9988774,prasanth@ac.com 1205,1231231,kranthi@tp.com |
1、首先需要手动创建mysql中的目标表
$ mysql mysql> use userdb; mysql> CREATE TABLE emp_conn_from_hdfs( id INT, phno VARCHAR(20), email VARCHAR(20)); |
2、然后执行导出命令
bin/sqoop export \ --connect jdbc:mysql://itcast01:3306/userdb \ --username root \ --password root123 \ --table emp_conn_from_hdfs \ --export-dir /user/root/emp_conn \ --m 1 sqoop export --connect "jdbc:mysql://192.168.72.1:3306/tianzhicloud_security?useUnicode=true&characterEncoding=utf-8" --username root --password root --table sys_user_test --export-dir hdfs://centoshostnameKL1:9000/queryresult/sys_user/part-m-00000 -m 1; 解决中文乱码hdfs导入到mysql中 |
3、验证表mysql命令行。
mysql>select * from emp_conn_from_hdfs; 如果给定的数据存储成功,那么可以找到数据在如下的emp_conn_from_hdfs表。
|