博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqoop数据分析引擎安装与使用
阅读量:7199 次
发布时间:2019-06-29

本文共 3450 字,大约阅读时间需要 11 分钟。

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 版本信息

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

本文转自   tianshuai369   51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2060384

转载地址:http://gfkum.baihongyu.com/

你可能感兴趣的文章
微信小程序访问webService(Java)
查看>>
QT从QObject实现多重继承
查看>>
DelayQueue实现Java延时任务
查看>>
PHP 依赖注入,依赖反转 (IOC-DI)
查看>>
Android代码混淆,为移动应用提供更安全的保护
查看>>
js跨域设置cookie
查看>>
确保物联网安全的关键技术盘点
查看>>
防止域名证书劫持,阿里云解析率先支持CAA
查看>>
089-挂载iso镜像时,怎么重启依旧挂载
查看>>
sqlmap常用注入点检测&爆破命令
查看>>
阿里云移动数据分析服务功能与应用场景
查看>>
Node----异步编程
查看>>
Ubuntu16.04下安装配置xammp
查看>>
Hystrix的配置属性优先级和详解
查看>>
Activiti和Spring集成
查看>>
springmvc+spring+mybatis整合
查看>>
20.7 if特殊用法
查看>>
2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件...
查看>>
DBCP数据源配置分析
查看>>
Retroifit2
查看>>