当前位置:  开发笔记 > 大数据 > 正文

sqoop使用

sqoop是进出hadoop的重要工具。用sqoop从RDBMS中导入数据sqoopimport-Doozie.job.id$wf_job_id--自定义参数oozie相关-Dmapred.job.queue.name$mapred_job_queue_name--自定义参数oozie相关--connect$data_db_url--RDMSjdbc地

sqoop 是进出hadoop的重要工具。 用sqoop从RDBMS中导入数据 sqoop import \ -D oozie.job.id=$wf_job_id \ -- 自定义参数 oozie 相关 -D mapred.job.queue.name=$mapred_job_queue_name \ -- 自定义参数 oozie 相关 --connect $data_db_url \ --RDMS jdbc地

sqoop 是进出hadoop的重要工具。

用sqoop从RDBMS中导入数据

sqoop import \
-D oozie.job.id=$wf_job_id \ -- 自定义参数 oozie 相关

-D mapred.job.queue.name=$mapred_job_queue_name \ -- 自定义参数 oozie 相关

--connect $data_db_url \ --RDMS jdbc地址
--username $data_db_username \ -RDBMS用户名
--password $data_db_password \ -RDBMS密码
--table $db_table \ -- RDBMS 表名
--columns $db_columns \ --导入字段,及其顺序
--verbose \
--target-dir $hdfs_target_dir \ ---HDFS目标文件夹
--fields-terminated-by '\001' \ ---字段分隔字符
--lines-terminated-by '\n' \ --- 行分隔字符
--hive-table $data_db_name.$hive_table \ --- hive表名
-m $parallel_count \ ---使用并发
--hive-import \ -- 使用hive开关
--hive-overwrite \ -- 是否覆盖写
--null-string '\\N' \ --空字段表示
--null-non-string '\\N' \
--hive-drop-import-delims

用sqoop 从 hadoop向RDBMS推送数据

使用 insert overwrite directory OOOO select * from XXXX; 将表XXXX 转换格式并导入HDFS中,准备推送

sqoop export \
-D oozie.job.id=$wf_job_id \
-D mapred.job.queue.name=$mapred_job_queue_name \
-D mapred.task.timeout=0 \
--connect $data_db_url \
--username $data_db_username \
--password $data_db_password \
--table ${table_name}_insert \
--export-dir $insert_dir \ --目标文件夹

--columns $db_columns \ --输出字段顺序(用于数据对其,非常重要)
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--input-fields-terminated-by '\001' \ -- 字段隔离符号
-m ${parallel_count} \ 并发数量

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有