sqoop

发布时间 2023-04-20 20:29:49作者: gudeman

解压安装包到/usr/local/src下

配置sqoop环境变量

#SQOOP_HOME
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

修改sqoop.env.sh配置文件

export HADOOP_COMMON_HOME=/usr/local/src/hadoop
export HADOOP_MAPRED_HOME=/usr/local/src/hadoop
export HIVE_HOME=/usr/local/src/hive

将mysql连接器移动到sqoop中的lib目录下

mv mysql-connector-java-5.1.37.jar /usr/local/src/sqoop/lib/

sqoop-version查询是否成功

进入mysql赋予权限,mysql设置远程登录

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '000000' WITH GRANT OPTION;

FLUSH PRIVILEGES;

显示数据库

bin/sqoop list-databases --connect jdbc:mysql://主机名称:3306/ --username root -password 密码
bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root -password 000000

使用sqoop将hive数据传输到mysql中去

1.两个表的结构必须完全相同

查询hive表存放的路径

desc formatted 表名

传输命令

sqoop export --connect jdbc:mysql://主机名:3306/传输的目的地的库 --username root --password 000000 --table 传输的mysql的表名 --export-dir hive表存放的路径 --input-fields-terminated-by ,
sqoop export --connect jdbc:mysql://master:3306/hive --username root --password 000000 --table sqoop_test_mysql --export-dir /user/hive/external/sqoop_test --input-fields-terminated-by ,
sqoop export \
--connect jdbc:mysql://master:3306/hive \
--username root \
--password 000000 \
--table student \
--fields-terminated-by ',' \
--export-dir '/hive/warehouse/student'