您好,登录后才能下订单哦!
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 版本信息
================================================================
       
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。