IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Sqoop基础介绍 -> 正文阅读

[大数据]Sqoop基础介绍

一、Sqoop介绍

Sqoop是Apache下的顶级项目,用来将Hadoop和关系型数据库中的数据相互转移,可以将一
个关系型数据库(例如:MySQL,Oracle,PostgreSQL等)中的数据导入到Hadoop的HDFS中,
也可以将HDFS的数据导入到关系型数据库中。目前在各个公司应用广泛,且发展前景比较乐观。

二、Sqoop特点

1)专门为Hadoop而生,随Hadoop版本更新支持程度好,且原本即是从CDH版本孵化出来的开源项
目,支持CDH的各个版本号。
2)它支持多种关系型数据库,比如mysql、oracle、postgresql等。
3)可以高效、可控的利用资源。
4)可以自动的完成数据映射和转换。
5)大部分企业还在使用sqoop1版本,sqoop1能满足公司的基本需求。
6)自带的辅助工具比较丰富,如sqoop-import、sqoop-list-databases、sqoop-list-tables等。

三、Sqoop1与Sqoop2架构对比

  • Sqoop1以Client客户端的形式存在和运行。没有任务时是没有进程存在的。
  • sqoop2是以B/S服务器的形式去运行的,始终会有Server服务端进程在运行。

四、Sqoop工作机制

将导入或导出命令翻译成mapreduce程序来实现

五、Sqoop抽取的两种方式

  • 原生Sqoop API
  • HCatalog API

六、两种抽取方式的区别

  • 数据格式支持
    • Sqoop方式支持的数据格式较少
    • HCatalog支持的数据格式多,包括RCFile, ORCFile, CSV,JSON和SequenceFile等格式。
  • 数据覆盖
    • Sqoop方式允许数据覆盖
    • HCatalog不允许数据覆盖,每次都只是追加。
  • 字段匹配方式
    • Sqoop方式比较随意,不要求源表和目标表字段相同(字段名称和个数都可以不相同),它抽取
      的方式是将字段按顺序插入,比如目标表有3个字段,源表有一个字段,它会将数据插入到Hive表的第一个字段,其余字段为NULL。
    • HCatalog不同,源表和目标表字段名需要相同,字段个数可以不相等,如果字段名不同,抽取数据的时候会报NullPointerException错误。HCatalog抽取数据时,会将字段对应到相同字段名的字段上,哪怕字段个数不相等。

七、两种抽取方式指令

  • Sqoop方式

    sqoop import \
    --hive-import \
    --connect 'jdbc:mysql://localhost:3306/test' \
    --username 'root' \
    --password '123456789' \
    --query " select order_no from driver_action where \$CONDITIONS" \
    --hive-database test \
    --hive-table driver_action \
    --hive-partition-key pt \
    --hive-partition-value 20190901 \
    --null-string '' \
    --null-non-string '' \
    --num-mappers 1 \
    --target-dir /tmp/test \
    --delete-target-dir
    
  • HCatalog方式

sqoop import \
--connect jdbc:mysql://localhost:3306/test\
--username 'root' \
--password 'root' \
--query "SELECT order_no FROM driver_action WHERE \$CONDITIONS" \
--hcatalog-database test \
--hcatalog-table driver_action \
--hcatalog-partition-keys pt \
--hcatalog-partition-values 20200104 \
--hcatalog-storage-stanza 'stored as orcfile tblproperties ("orc.compress"="SNAPPY")' \
--num-mappers 1
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:27:20  更:2021-10-28 12:28:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:45:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码