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

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




      

       


本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2060384




相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
SQL 数据可视化 数据挖掘
将Sqoop与Hive集成无缝的数据分析
将Sqoop与Hive集成无缝的数据分析
|
1月前
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
94 7
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
99 1
|
7月前
|
关系型数据库 MySQL 大数据
大数据Sqoop将mysql直接抽取至Hbase
大数据Sqoop将mysql直接抽取至Hbase
78 0
|
7月前
|
SQL 分布式计算 分布式数据库
大数据Sqoop借助Hive将Mysql数据导入至Hbase
大数据Sqoop借助Hive将Mysql数据导入至Hbase
156 0
|
10月前
|
SQL 分布式计算 关系型数据库
大数据 | (五)通过Sqoop实现从MySQL导入数据到HDFS
大数据 | (五)通过Sqoop实现从MySQL导入数据到HDFS
166 0
|
SQL 分布式计算 运维
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
上一篇文章介绍了sqoop全量同步数据到hive, 本片文章将通过实验详细介绍如何增量同步数据到hive,以及sqoop job与crontab定时结合无密码登录的增量同步实现方法。
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
|
SQL 运维 分布式计算
【大数据开发运维解决方案】Sqoop全量同步mysql/Oracle数据到hive
前面文章写了如何部署一套伪分布式的handoop+hive+hbase+kylin环境,也介绍了如何在这个搭建好的伪分布式环境安装配置sqoop工具以及安装完成功后简单的使用过程中出现的错误及解决办法, 接下来本篇文章详细介绍一下使用sqoop全量同步oracle/mysql数据到hive,这里实验采用oracle数据库为例,
【大数据开发运维解决方案】Sqoop全量同步mysql/Oracle数据到hive
|
SQL 分布式计算 运维
【大数据开发运维解决方案】sqoop增量导入oracle/mysql数据到hive时时间字段为null处理
前面几篇文章详细介绍了sqoop全量增量导入数据到hive,大家可以看到我导入的数据如果有时间字段的话我都是在hive指定成了string类型,虽然这样可以处理掉时间字段在hive为空的问题,但是在kylin创建增量cube时需要指定一个时间字段来做增量,所以上面那种方式不行,这里的处理方式为把string改成timestamp类型,看实验:
【大数据开发运维解决方案】sqoop增量导入oracle/mysql数据到hive时时间字段为null处理
|
SQL 分布式计算 Oracle
sqoop用法之mysql与hive数据导入导出
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
837 0

热门文章

最新文章