千家信息网

Sqoop数据分析引擎安装与使用

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,Sqoop数据分析引擎安装与使用==>什么是Sqoop ?Sqoop 是一个开源的数据处理引擎,主要是通过 JDBC 为媒介, 在Hadoop(Hive)与 传统的关系型数据库(Oracle, MyS
千家信息网最后更新 2025年01月25日Sqoop数据分析引擎安装与使用

Sqoop数据分析引擎安装与使用


==>什么是Sqoop ?

Sqoop 是一个开源的数据处理引擎,主要是通过 JDBC 为媒介, 在Hadoop(Hive)与 传统的关系型数据库(Oracle, MySQL,Postgres等)间进行数据的传递

HDFS Hive HBase < JDBC > Oracle, MySQL,


==> Sqoop 的安装:

1. 将安装包解压:tar zxf sqoop-1.4.6.bin__hadoop-0.23.tar.gz -C /app

2. 配置环境变量:

vim ~/.bash_profile

SQOOP_HOME=/app/sqoop-1.4.6.bin__hadoop-0.23

export SQOOP_HOME

PATH=$SQOOP_HOME/bin:$PATH

================================================================

3. 因为需要通过 JDBC 与数据库进行数据传输,所以需要将数据库的 JDBC 工具包放入到 lib 目录下

打开oracle 安装目录: C:\oracle\product\10.2.0\db_1\jdbc\lib

将 ojdbc14.jar 文件复制到 sqoop 的 bin 目录下: /app/sqoop-1.4.6.bin__hadoop-0.23/bin


==> Sqoop 的命令详解:(注意:在oracle 中,用户名和表名要全部大写)

codegen ---> 将关系数据库表映射为一个Java 文件, Java class类, 以及相关的 jar 包

sqoop codegen \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

--table EMP

================================================================

create-hive-table ---> 生成与关系数据库表结构对应的 Hive 表

sqoop create-hive-table \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

--table EMP

--hive-table emphive

================================================================

eval ---> 快速地使用 SQL 语句对关系数据库进行操作

这可以在使用的 import 这种工具进行数据导入的时候,检查 SQL 语句是否正确,并将结果显示在控制台

sqoop eval \

--connect jdbc:oracal:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle

--query "select * from emp"

================================================================

export ---> 从hdfs 中导数据到关系数据库中

sqoop export \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

--table STUDENTS # 表

--export-dir /students # HDFS 中的数据表

================================================================

import ---> 将数据库表的数据导入到 HDFS 中

sqoop export \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle

--table EMP \

--target-dir /emp

-------------------------------------------------------------------------------------------------------------

--->将数据导入到HBase 中(需要先将表创建)

sqoop import \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

--table EMP --columns empno, ename, sal, deptno \

--hbase-table emp --hbase-row-key empno --column-family empinfo

row-key 列族

================================================================

import-all-tables ---> 将数据库中所有的表的数据导入到 HDFS 中

sqoop import-all-tables \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

--m 1

================================================================

job --> 用来生成一个 Sqoop 的任务,生成后,该 任务不执行,除非使用命令执行该任务

================================================================

list-databases ---> 打印出关系数据库所有数据库名

sqoop list-databases \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl

--username SYSTEM --password oracle

================================================================

list-table ---> 打印出关系数据库中所有的表名

sqoop list-table \

--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \

--username SCOTT --password oracle \

-m 1

================================================================

merge ---> 将 HDFS 中不同目录下的数据合在一起,并存放在指定的目录中

================================================================

metastore ---> 记录 Sqoop job 的元数据信息

================================================================

version ---> 显示 Sqoop 版本信息

================================================================















0