下载
把mysql驱动复制到Sqoop的lib目录下
# cp mysql-connector-java-5.1.25.jar /root/sqoop-1.4.7.bin__hadoop-2.6.0/lib
配置环境
# cd /home/sqoop/conf
# cp sqoop-env-template.sh sqoop-env.sh
# vi sqoop-env.sh
vi sqoop-env.sh:
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-3.1.4
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.1.4
更改环境变量
vi /etc/profile
export SQOOP_HOME=/home/sqoop
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH:$HIVE_HOME/bin:$SQOOP_HOME/bin
source /etc/profile
配置执行文件
import //使用import工具
--connect //指定连接的目标数据库
jdbc:mysql://192.168.10.2:3306/ds0
--username //数据库用户名
root
--password //数据库密码
root
--table //要导入的表名
user
--columns //要导入的列
id,name,age
--where //查询条件
id>0
//导入到HDFS的路径,mycluster是hadoop下/etc/hadoop/hdfs-site.xml配置的dfs.nameservices,如果不是配置hadoop高可用的话可以直接写namenode所在主机的ip或主机映射名
--target-dir
hdfs://192.168.10.11:9000/sqoop1
--delete-target-dir //若目标目录已存在则删除
-m
1
--as-textfile //导入的数据以文本格式存放在HDFS上
//如果只导入到hdfs可以不用下面内容
--hive-import //向hive中导入数据
--hive-overwrite //数据存在则覆盖
--create-hive-table //创建Hive表
--hive-table //指定表名
t_user
--hive-partition-key //指定分区字段
id
--hive-partition-value 指定分区名
'2020-10-10'
执行Sqoop
sqoop --options-file /home/sqoop/sqoopconf/conf1