sqoop的安装以及数据的导入导出

  1. 使用场景
Haoop文件存储体系(HDFS、Hive、Hbase)与关系型数据库(Mysql)之间的数据导入导出。

Sqoop安装

  1. 下载并解压
	安装Sqoop的前提是已经具备Java和Hadoop的环境。
	 1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/
	 2) 上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
	 3) 解压sqoop安装包到指定目录
		tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/
  1. 修改配置文件
	1) 重命名配置文件
		$ cp sqoop-env-template.sh sqoop-env.sh
		$ cp sqoop-site-template.xml sqoop-site.xml
	2) 修改配置文件 (sqoop-env.sh)
		export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2
		export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2
		export HIVE_HOME=/opt/module/apache-hive-1.2.2-bin
	
  1. 拷贝JDBC驱动
	拷贝jdbc驱动到sqoop的lib目录下,如:
		cp mysql-connector-java-5.1.27-bin.jar  /opt/module/sqoop/1.4.6.bin__hadoop-2.0.4-alpha/lib/
  1. 测试Sqoop是否能够成功连接数据库
	bin/sqoop list-databases --connect jdbc:mysql://hadoop100:3306/ --username root --password root

RDBMS到HDFS

  1. 全部导入
sqoop import --connect jdbc:mysql://hadoop100:3306/company --username root --password root  --table staff  --target-dir /caicai
  1. 使用-m而不是用split-by没有发现异常
sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password root  --table TBLS  --target-dir /cai   -m 2
  1. 查询导入时,query中带分号报错
提示:must contain '$CONDITIONS' in WHERE clause.
提示:--query选项,不能同时与--table选项使用
	sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password root  --target-dir /czl  --split-by TBL_ID   --query 'select TBL_ID from TBLS where TBL_ID<100 and $CONDITIONS'

RDBMS到Hive

导入到hive中【目录必须不存在】

	 sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password admin --target-dir /user/hive/warehouse/t1  --split-by TBL_ID   --query 'select TBL_ID from TBLS where TBL_ID<100 and $CONDITIONS'
或者
sqoop import --connect jdbc:mysql://hadoop100:3306/company --username root --password root --table staff --hive-import --hive-overwrite --hive-table staff_hive

HIVE/HDFS到RDBMS

提示:Mysql中如果表不存在,不会自动创建
	sqoop export --connect jdbc:mysql://hadoop100:3306/company --username root --password root --table staff --num-mappers 1 --export-dir /user/hive/warehouse/staff_hive --input-fields-terminated-by "\t"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值