Sqoop导入导出集合

安装Sqoop-1.4.7.bin_hadoop-2.6

  1. 提取码:nnfq
  2. 利用Xftp上传到centOS7集群,可能要修改文件用户组
  3. 解压并设置软连接
    tar -zxvf sqoop-1.4.7.bin_hadoop-2.6.0.tar.gz -C /user
  4. 设置软连接
cd /user
ln -s sqoop-1.4.7.bin_hadoop-2.6.0 sqoop
  1. 配置环境变量
vi ~/.bashrc
----------------------------------------------------------
PATH=/user/sqoop-1.4.7.bin_hadoop-2.6.0/bin:$PATH
  1. 使环境变量立即生效
    source ~/.bashrc
  2. 修改配置文件 sqoop-env.sh
cd /user/sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
-----------------------------------------------------------
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/user/hadoop-2.6.5  #你的目录

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/user/hadoop-2.6.5  #你的目录

#set the path to where bin/hbase is available
export HBASE_HOME=/user/hbase-1.2.11  #你的目录

#Set the path to where bin/hive is available
export HIVE_HOME=/user/hive-1.2   #你的目录

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/user/zookeeper-3.4.5/conf    #你的目录
  1. 拷贝mysql驱动到sqoop的lib下
    提取码:a62c
    mysql驱动包使用版本过低会报错
    ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter

cp mysql-connector-java-5.1.47-bin.jar /user/sqoop/lib

  1. 使用sqoop连接mysql 测试是否成功,在sqoop目录下
    ./bin/sqoop list-tables --connect jdbc:mysql://Master/mysql --username root --password rootcentOS

在这里插入图片描述则成功

使用Sqoop将Mysql全部数据导入到Hdfs

前提保证你的mysql上有数据

./bin/sqoop import -m 1 --connect jdbc:mysql://192.168.23.200:3306/你的mysql数据库 --username 你的mysql用户名 --password 你的mysql密码 --table 你的数据表名 --fields-terminated-by ' ' --target-dir /sqoop_data2 

使用 --fields-terminated-by ' ' 可以指定分隔符,不加则默认mysql数据库上的数据格式。
使用 --target-dir 可以指定HDFS上的目录,不需要提前创建好。

查看hdfs上的前5行
hadoop fs -cat /sqoop_data2/pa* | head -5
在这里插入图片描述

使用Sqoop将Mysql数据导入Hive

说明:执行导入Hive的命令(如果Hive中没有存在对应的hive表,则会依据mysql 的表来创建对应的表,字段属性也跟mysql的一致)

将hive-common-1.2.2.jar, hive-shims-0.20S-1.2.2.jar, hive-shims-0.23-1.2.2.jar,hive-shims-1.2.2.jar,hive-shims-common-1.2.2.jar,hive-shims-scheduler-1.2.2.jar,hive-exec-1.2.2.jar,hive-common-1.2.2.jar,libthrift-0.9.2.jar,mysql-connector-java-5.1.47-bin.jar
在hive的lib目录下,拷贝到sqoop的lib目录下。

.bin/sqoop import --hive-import  \
--connect jdbc:mysql://Master:3306/spice 
--username hive 
 --password hive 
 --table users 
 --hive-table hiveusers  
 --fields-terminated-by ','
 --warehouse-dir /user/hive/warehouse/users.db  -m 1

–fields-terminated-by 指定要导入的表的分隔符
–warehouse-dir /user/hive/warehouse/users.db 指定要储存在hdfs上的目录

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值