Sqoop安装及使用

Sqoop安装及使用,第1张

Sqoop安装及使用

Sqoop安装及使用
  • 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. Sqoop 安装 1.1 下载Sqoop

下载链接

1.2 上传和解压jar包
tar   -zxvf    sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
1.3 相关配置 1.3.1 环境变量配置

编辑/etc/profile文件
添加内容如下

涮新配置文件使其生效

  source    /etc/profile
1.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-8
2.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 导出向 RDBMS
sqoop 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"

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存