Sqoop安装配置和基本操作

安装配置

第一步:下载安装包并上传(下载地址
第二步:解压安装包(可以配置环境变量)
第三步:配置sqoop.env.sh(Sqoop文件结构和大部分框架类似,配置文件在conf目录下,将sqoop-env-template.sh修改为sqoop-env.sh)
第四步:拷贝JDBC驱动到lib目录下
第五步:配置完成,验证sqoop配置是否正确

  • bin/sqoop help,可以正常输出帮助命令
    在这里插入图片描述
    sqoop list-databases --connect jdbc:mysql:/num01:3306/ --username root --password root,这里需要配置自己的mysql配置信息(包括主机IP、端口、用户名和密码),同时确保mysql可以远程登陆。可以成功输出数据库列表说明sqoop可以顺利连接到mysql了。

基本操作

mysql数据导入到HDFS

bin/sqoop import \
--connect jdbc:mysql://num01:3306/bank \	# 指定连接的mysql的数据库名称
--driver com.mysql.jdbc.Driver \	# 指定驱动,可以不指定
--username root \	# mysql用户名
--password ok \	# mysql密码
--table user \	# 指定导出mysql数据库中的哪个表格
--target-dir /data/mysql/bank/user \	# 指定导出路径
--m 1	# 指定启用Mapreduce数量

导入时可以增加条件限定:--where "user_id<20"
导入到指定列:--columns "column1,column2,column3"
导入查询的结果:--query "select * from users where user_id<20 and \$CONDITIONS",$CONDITIONS时固定结尾,
导入的数据追加到文件中:
--incremental append指定增量导入方式
--check-column column_name指定递增的列
--last-value value指定上一次导入递增列的最大值
导入时指定文件格式:--as-XXX

格式参数文件类型
textFile导入text类型文件(默认)
avrodatafile导入avro类型文件
sequencefile导入sequence文件
parquetfile导入parquet文件

mysql数据导入到HIVE

bin/sqoop import \
--connect jdbc:mysql://num01:3306/bank \
--driver com.mysql.jdbc.Driver \
--username root \
--password ok \
--table user \	# 以上部分和导入到HDFS一样,指定MySQL参数
--hive-import \	# 通过hive-import导入到hive
--create-hive-table \	# 指定创建一个新的表格,如果表格已存在则会报错
--hive-database emp \	# hive中的数据库名称
--hive-table hive_user \	# hive中的表名称
--m 1

导入时指定分区:
--hive-partition-key key:指定分区字段名
--hive-partition-value value:指定分区字段名对应的值
只能导入指定分区,不能使用动态分区

mysql数据导入到HBASE

bin/sqoop import \
--connect jdbc:mysql://num01:3306/bank \
--driver com.mysql.jdbc.Driver \
--username root \
--password ok \
--table user \
--columns "col1,col2" \
--hbase-table user \	# 指定导入hbase中的表名
--column-family column_family \	# 指定列簇
--hbase-row-key row_key \	#指定rowkey
--m 1

HDFS数据导出到mysql

bin/sqoop export \	#指定方式为导出
--connect jdbc:mysql://num01:3306/bank \
--driver com.mysql.jdbc.Driver \
--username root \
--password ok \
--table user \	# 指定mysql中的表名
--export-dir /data/sqoop/emp \	# 指定要导出数据的HDFS文件路径
--m 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值