c语言sscanf函数的用法是什么
279
2022-11-21
Sqoop数据导出
数据导出
将数据从HDFS导出到RDBMS数据库
导出前,目标表必须存在于目标数据库中
mysql表不存在是不会自动创建的
默认操作是从将文件中的数据使用INSERT语句插入到表中更新模式下,是生成UPDATE语句更新表数据
语法
以下是export命令语法
$ sqoop export (generic-args) (export-args)
表示数据存放的地址
hdfs导入到mysql
数据是在HDFS 中/user/root/emp_conn目录下存在part-m-00000文件中。所述part-m-00000如下:
1201,2356742,gopal@tp.com1202,1661663,manisha@tp.com1203,8887776,khalil@ac.com1204,9988774,prasanth@ac.com1205,1231231,kranthi@tp.com
首先需要手动创建mysql中的目标表
use userdb;CREATE TABLE emp_conn_from_hdfs( id INT, phno VARCHAR(20), email VARCHAR(20));
然后执行导出命令
sqoop export \--connect jdbc:mysql://master:3306/userdb \--username root \--password root \--table emp_conn_from_hdfs \--export-dir /user/root/emp_conn \--m 1
验证表mysql命令行
select * from emp_conn_from_hdfs;
如果给定的数据存储成功,那么可以找到数据在如下的emp_conn_from_hdfs表
hive导入到mysql
sqoop export \--connect jdbc:mysql://master:3306/userdb \--username root \--password root \--table staff \--num-mappers 1 \--export-dir /user/root/staff \--input-fields-terminated-by "\t";
--input-fields-terminated-by "\t"表示hive中原本数据分割符是\t
编写脚本
job_hdfs2mysql.opt
export --connect jdbc:mysql://master:3306/company --username root--passwordroot--tablestaff--num-mappers1--export-dir/user/hive/warehouse/staff_hive--input-fields-terminated-by"\t"
脚本中一个命令或一个参数就成为一行,不要加\
执行脚本
sqoop --options-file job_hdfs2mysql.opt
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~