hive数据同步工具Sqoop的使用
来源:未知 时间:2019-58-4 浏览次数:213次
hive数据同步工具Sqoop的使用,sqoop是一款hive大数据仓库数据同步工具,可以将mysql,oracle等关系型数据的数据同步至hive大数据仓库中,也可以将hive表中的数据同步到关系型数据库中,sqoop的使用分三步2.安装:
进入到该目录下,执行解压缩,也就是执行命令:
cd /opt/sqoop
tar -xvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
命令执行完成后得到了/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0目录
二、配置
1.环境变量配置:
编辑/etc/profile文件,添加SQOOP_HOME变量,并且将$SQOOP_HOME/bin添加到PATH变量中,编辑方法很多,可以将profile文件下载到本地编辑,也可以直接用vim命令编辑。
二、配置
1.环境变量配置:
编辑/etc/profile文件,添加SQOOP_HOME变量,并且将$SQOOP_HOME/bin添加到PATH变量中,编辑方法很多,可以将profile文件下载到本地编辑,也可以直接用vim命令编辑。
添加的内容如下:
export JAVA_HOME=/opt/java/jdk1.8.0_121
export HADOOP_HOME=/opt/hadoop/hadoop-2.8.0
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"
export HIVE_HOME=/opt/hive/apache-hive-2.1.1-bin
export HIVE_CONF_DIR=${HIVE_HOME}/conf
export SQOOP_HOME=/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0
export CLASS_PATH=.:${JAVA_HOME}/lib:${HIVE_HOME}/lib:$CLASS_PATH
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin: ${HIVE_HOME}/bin:${SQOOP_HOME}/bin:$PATH
2.sqoop配置文件配置
/wwwdata/sqoop-1.4.7.bin__hadoop-2.6.0
/etc/profile文件编辑完成后,执行命令:
source /etc/profile
2.通过mysql表创建hive表
sqoop create-hive-table --connect jdbc:mysql://xxxxx:3306/xxxx?characterEncoding=UTF-8 --table xxx --username root -password 'xxxx' --fields-terminated-by ',' --hive-database expodata --hive-table xxx
3.mysql表中的数据全量导入hive中
sqoop import --connect jdbc:mysql://xxxxx:3306/xxx?characterEncoding=UTF-8 --table xx --username root -password 'xxx' --fields-terminated-by ',' --hive-import --hive-database expodata --hive-table xxx-m 1
进入到/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf目录下,也就是执行命令:
cd /opt/sqoop//sqoop-1.4.7.bin__hadoop-2.6.0/conf
将sqoop-env-template.sh复制一份,并取名为sqoop-env.sh,也就是执行命令:
cp sqoop-env-template.sh sqoop-env.sh
三、sqoop使用
1.sqoop链接mysql查看表
sqoop list-tables --username root2 --password 'xxxxx' --connect jdbc:mysql://192.168.0.336:3306/xxxx?characterEncoding=UTF-8
编辑这个新建的sqoop-env.sh文件,编辑方法有很多,可以下载到本地编辑,也可是使用vim命令编辑。
在该文件末尾加入下面的配置:
export HADOOP_COMMON_HOME=/wwwdata/hadoop-2.6.0-cdh5.13.0
export HADOOP_MAPRED_HOME=/wwwdata/hadoop-2.6.0-cdh5.13.0
export HIVE_HOME=/wwwdata/apache-hive-3.0.0-bin
说明:上面的路径修改为自己的hadoop路径和hive路径。三、sqoop使用
1.sqoop链接mysql查看表
2.通过mysql表创建hive表
sqoop create-hive-table --connect jdbc:mysql://xxxxx:3306/xxxx?characterEncoding=UTF-8 --table xxx --username root -password 'xxxx' --fields-terminated-by ',' --hive-database expodata --hive-table xxx
3.mysql表中的数据全量导入hive中
4.mysql表中查询导入hive中(可用于增量导入)
sqoop import --connect jdbc:mysql://xxx:3306/xxx?characterEncoding=UTF-8 --username root -password 'xxxx' --query 'select * from xxx where to_days(time) = to_days(now()) AND $CONDITIONS' --fields-terminated-by ',' --hive-import --target-dir /user/hive/warehouse/xxx --hive-database expodata --hive-table ddd -m 1
sqoop是一款非常优秀的hive数据仓库同步工具,同步命令可以使用linixshell脚本执行,通过创建定时任务实现增量导入的目的
- 上一篇: hive的使用场景及其原理
- 下一篇: mysql在线保持脚本