Sqoop学习笔记_Sqoop的基本使用二(sqoop的import与export)
2016-04-07 17:25
579 查看
Sqoop抽取从mysql抽取到hive
sqoop抽取到mysql一样有两种方式一种是用command line的方式,一种是用sqoop opt文件调用的方式。(由于两种sqoop一已经记录了,现在主要是利用opt的方式)
一、从hive到mysql,如果hive对应表如果没有分区字段的话配置如下(参数要根据实际情况更改)
fileName:test-hive.opt
import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"
--hive-import
--hive-overwrite
--hive-table
test_sale_daily
--hive-drop-import-delims
-m
1
调用文件fileName:sqoop.sh
hadoop fs -rmr sqoop/rpt_sale_daily(先调用hadoop fs命令删除sqoop存在的中间文件表)
sqoop options-file ./test.opt(执行opt文件)
最后在linux执行命令行 sh ./sqoop.sh
如果hive表存在分区的话需要在opt配置文件加多一些配置项
import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"
--hive-import
--hive-overwrite
--hive-table
test_sale_pt
--hive-drop-import-delims
--hive-partition-key
ds
--hive-partition-value
"2015-08-28"
-m
1
初次之外基本与上面相同。
记得报目录存在错误的话要先手动删除之前生成的sqoop存在的中间目录
hadoop fs -rmr {home}/{关系db表名}
/user/root/{关系db表名}
还有很多相关的sqoop hive to sql 的配置信息具体查看
http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html
note:写配置文件记得格式要严格不能多空格什么。opt方式不能传递参数是缺点,如果想克服这一缺点可能需要自己对program进行封装。
从HDFS到mysql
export
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
-m
1
--table
"daily_hour_visit_result"
--columns
"dateid,pv,uv"
--export-dir
/user/hive/warehouse/rpt2.db/daily_hour_visit_result/ds=2015-08-28
--input-fields-terminated-by
\t
sqoop抽取到mysql一样有两种方式一种是用command line的方式,一种是用sqoop opt文件调用的方式。(由于两种sqoop一已经记录了,现在主要是利用opt的方式)
一、从hive到mysql,如果hive对应表如果没有分区字段的话配置如下(参数要根据实际情况更改)
fileName:test-hive.opt
import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"
--hive-import
--hive-overwrite
--hive-table
test_sale_daily
--hive-drop-import-delims
-m
1
调用文件fileName:sqoop.sh
hadoop fs -rmr sqoop/rpt_sale_daily(先调用hadoop fs命令删除sqoop存在的中间文件表)
sqoop options-file ./test.opt(执行opt文件)
最后在linux执行命令行 sh ./sqoop.sh
如果hive表存在分区的话需要在opt配置文件加多一些配置项
import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"
--hive-import
--hive-overwrite
--hive-table
test_sale_pt
--hive-drop-import-delims
--hive-partition-key
ds
--hive-partition-value
"2015-08-28"
-m
1
初次之外基本与上面相同。
记得报目录存在错误的话要先手动删除之前生成的sqoop存在的中间目录
hadoop fs -rmr {home}/{关系db表名}
/user/root/{关系db表名}
还有很多相关的sqoop hive to sql 的配置信息具体查看
http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html
note:写配置文件记得格式要严格不能多空格什么。opt方式不能传递参数是缺点,如果想克服这一缺点可能需要自己对program进行封装。
从HDFS到mysql
export
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
-m
1
--table
"daily_hour_visit_result"
--columns
"dateid,pv,uv"
--export-dir
/user/hive/warehouse/rpt2.db/daily_hour_visit_result/ds=2015-08-28
--input-fields-terminated-by
\t
相关文章推荐
- centos编译安装vim并支持lua
- Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾
- Codeforces 588E Duff in the Army 【树链剖分维护区间前k小】
- centos7 无法启动网卡
- CentOS 6 64bit环境一键安装VNC桌面环境教程
- windows下流媒体nginx-rmtp-module服务器搭建及java程序调用fmpeg将rtsp转rtmp直播流
- vmware虚拟机出现:unable to open kernel device”\\.VMCIDevl\vmx”:重叠I/O操作进行中….
- 架构高性能网站秘笈(一)——了解衡量网站性能的指标
- 架构高性能网站秘笈(一)——了解衡量网站性能的指标
- openssl 非对称加密算法RSA命令详解
- GridView中DropDownList
- CentOS(Linux)中解决MySQL中文乱码
- 基于 ANSIBLE 自动化运维实践
- shell 脚本学习
- linux中强大且常用命令:find、grep
- Linux内核开发者峰会照的全家福-070911
- 架构师是做什么的呢
- opencv
- 大型网站之网站静态化(反向代理)
- 这是 Linux 之父的办公室(组图)