Hive Sqoop安装及指令
本文及后续所有文章都以 3.1.2 做为版本讲解和入门学习
# Sqoop 介绍
Sqoop 是 apache 提供的工具,用于 HDFS 和关系数据库之间数据导入和导出,可以从 HDFS 导出数据到关系型数据库,也可以从关系型数据库导入数据到 HDFS。
# 安装
wget https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
1
必须配置 jdk、hadoop 环境变量,因为 sqoop 在使用是会去找环境变量对应的路径,从而工作。最好把 sqoop 自己也加如到环境变量中。
需要将连接的数据库的驱动包加如 sqoop/server/lib 目录下。
配置 sqoop2 的话要允许访问 HDFS,但是我是 sqoop1.
<property>
<name>hadoop.proxyuser.sqoop2.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.sqoop2.groups</name>
<value>*</value>
</property>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Sqoop 命令
查看 mysql 所有数据库
sqoop list-databases --connect jdbc:mysql://node113:3306/?useSSL=false -username root -password Admin@123
1
查看指定数据库下的所有表
sqoop list-tables --connect jdbc:mysql://node113:3306/hive?useSSL=false -username root -password Admin@123
1
将关系型数据库(test 库,test_01 表)导入到 HDFS 的 '/sqoop/test_01' 目录下,并以 ' ' 空格分割列,sqoop 会在 hadoop 自动创建目录和文件
sqoop import --connect jdbc:mysql://node113:3306/test?useSSL=false -username root -password Admin@123 --table test_01 --target-dir '/sqoop/test_01' --fields-terminated-by ' ' -m 1;
1
将 HDFS 数据导入导出到关系型数据库,sqoop 只能导出数据,不能自动建表,所以在导出之前表就要建好。
sqoop export --connect jdbc:mysql://node113:3306/test?useSSL=false -username root -password Admin@123 --export-dir '/sqoop/test_01/part-m-00000' --table test_02 -m 1 --fields-terminated-by ' '
1
上次更新: 4/1/2025, 5:03:02 PM