- 1. Sqoop 安装
- 1.1 下载Sqoop
- 1.2 上传和解压jar包
- 1.3 相关配置
- 1.3.1 环境变量配置
- 1.3.2 Sqoop配置文件修改
- 1.3.3 将MySQL驱动包上载到Sqoop的lib下
- 2. 使用Sqoop
- 2.1 使用help命令
- 2.2 查看MYSQL数据库中所有表
- 2.3 MYSQL表数据到HDFS中
- 2.4 HDFS 导出向 RDBMS
- 2.4.1 HDFS 导出向 RDBMS
- 2.4.2 删除RDBMS 中表的数据
下载链接
1.2 上传和解压jar包tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz1.3 相关配置 1.3.1 环境变量配置
编辑/etc/profile文件
添加内容如下
涮新配置文件使其生效
source /etc/profile1.3.2 Sqoop配置文件修改
进入到Sqoop安装目录中的conf目录,将将sqoop-env-template.sh复制一份,并取名为sqoop-env.sh
修改其中内容:
export HADOOP_COMMON_HOME=/home/xh/hadoop/hadoop-2.7.7 export HADOOP_MAPRED_HOME=/home/xh/hadoop/hadoop-2.7.7 export HIVE_HOME=/home/xh/hadoop/apache-hive-2.3.6-bin
即,hadoop安装目录,hive安装目录。
1.3.3 将MySQL驱动包上载到Sqoop的lib下即mysql-connector-java-5.1.5.jar jar包,配置符合自己版本的jar包。
2. 使用Sqoop 2.1 使用help命令 2.2 查看MYSQL数据库中所有表sqoop list-tables --username root --password 'assiduity' --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-82.3 MYSQL表数据到HDFS中
sqoop import --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-8 ## 指定连接mysql的数据库地址 --driver com.mysql.jdbc.Driver ## 指定mysql的驱动 --username root ## 用户名 --password assiduity ## 密码 --table student ## 指定 表 --target-dir hdfs://192.168.240.128:9000/student ## 指定hdfs目录,如果不存在会自己创建 -- m 1
指定条件,只有符合条件的才能被导入
限定行条件
sqoop import --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-8 --driver com.mysql.jdbc.Driver --username root --password assiduity --table student --target-dir hdfs://192.168.240.128:9000/student3 --where "id > 2" -- m 1 ## 开启map个数,即进程
限定列
sqoop import --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-8 --driver com.mysql.jdbc.Driver --username root --password assiduity --table student --target-dir hdfs://192.168.240.128:9000/student4 --columns "id,name" --as-avrodatafile # 指定存成 avro 数据文件 -- m 1 # 开启map个数,即进程
条件必须使用引号。
2.4 HDFS 导出向 RDBMS 2.4.1 HDFS 导出向 RDBMSsqoop export --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-8 --driver com.mysql.jdbc.Driver --username root --password assiduity --export-dir hdfs://192.168.240.128:9000/student # HDFS source path for the export --table student_info # 目标表2.4.2 删除RDBMS 中表的数据
sqoop eval --connect jdbc:mysql://192.168.240.128:3306/test?characterEncoding=UTF-8 --driver com.mysql.jdbc.Driver --username root --password assiduity --query "delete from student_info"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)