1.概念

1.1 Extract

1、抽取OLTP的数据
2、抽取日志数据
3、通过接口抽取第三方数据

1.2 Transform

1、数据清洗
  丢弃一些异常数据
  处理一些脏数据
  处理一些重复数据
2、数据的格式转换
   日期:
        crate_time     year   month   day
       2022-12-23 -->  2022   12      23
       2022-1-1   -->  2022-01-01
   字符串转换: 
          "path/list"  -->  path/list
           json数据     -->  解析

1.3Load

1、全量加载
  数据全部加载
2、增量加载
  每次只加载新增或者修改数据

2 ETL 采集工具

2.1 Kettle

特点:
 1:图形化操作
 2:底层是Java
 3: 支持集群
 4: 数据量大时,性能一般

2.2Nify

特点:
 1:图形化操作
 2:采集数据时会造成大量的IO操作,性能一般

2.3Datax

特点:
 1:单进程,多线程
 2:不能支撑海量数据的迁移操作

2.4 Sqoop

特点:
 1:为Hadoop而生
 2:底层是MapReduce
 3:支撑大数据量的数据迁移工作

3 Sqoop框架

3.1介绍

1、Sqoop的导入导出
 导入: RDBMS -----> Hadoop平台
 导出:  Hadoop平台 -----> RDBMS
 
2、Sqoop的重点是写导入导出的命令
3、Sqoop的底层是没有Reduce的MR
  Sqoop这是机械性将数据源的数据一条条进行搬移,不需要对数据做额外的聚合,所以不需要Reduce

3.2 导入HDFS-全量

#split-by后边的字段是数字类型
sqoop import \
--connect jdbc:mysql://192.168.88.80:3306/userdb \
--table emp \
--username root \
--password 123456 \
--target-dir /sqoop/result3 \
--delete-target-dir \
--fields-terminated-by '\t' \
--split-by id \
--m 2#如果你要指定多个maptask来完成数据的导入,也就是--m参数的值不是1,则必须添加一个参数--split-by
#该参数用来指定你原表的数据如何分配给多个线程来实现导入
#--split-by id  内部原理是获取id的最小值和id的最大值,进行平均划分SELECT MIN(`id`), MAX(`id`) FROM `emp`#如果split-by后边的字段是字符串类型,则需要添加以下内容-Dorg.apache.sqoop.splitter.allow_text_splitter=true \

3.3导入HDFS-增量

sqoop import \
--connect jdbc:mysql://192.168.88.80:3306/userdb \
--username root \
--password 123456 \
--target-dir /sqoop/result5 \
--query 'select id,name,deg from emp WHERE  id>1203 and $CONDITIONS' \
--delete-target-dir \
--fields-terminated-by '\t' \
--m 1

【博学谷学习记录】超强总结,用心分享| ETL基本介绍相关推荐

  1. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇

    目录 1.API 1.1 API概述-帮助文档的使用 1.2 键盘录入字符串 2. String类 2.1 String概述 2.2 String类的构造方法 2.4 创建字符串对象的区别对比 2.5 ...

  2. {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程

    本章以系统架构,数据架构,两种维度来进行讲解 目录 1 系统架构 1,1 单体架构 1.2 中台战略 2 数据库架构 2,1 单体架构 2.2 主从读写 2.3 分库分表 3 总结 1 系统架构 1, ...

  3. [博学谷学习记录]超强总结,用心分享|架构 Nacos入门

    提示:学习笔记 欢迎指点 文章目录 前言 一.Nacos安装 二.Nacos服务注册与发现 1.服务提供者Provider 2.服务消费者Consumer 三.Nacos作为配置中心 前言 Nacos ...

  4. [博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道

    提示:学习笔记 欢迎指点 文章目录 1.敏捷开发思想之道 2.面向对象开发之道 3.敏捷学习之道 1.敏捷开发思想之道 一名敏捷开发者,敏捷思想的掌握自然首当其冲.在敏捷开发实施的过程中,我们虽然不是 ...

  5. [博学谷学习记录]超强总结,用心分享|第16节 集合续-----笔记篇

    目录 1.HashSet集合 1.1HashSet集合概述和特点[应用] 1.2HashSet集合的基本应用[应用] 1.3哈希值[理解] 1.4哈希表结构[理解] 1.5HashSet集合存储学生对 ...

  6. [博学谷学习记录] 超强总结,用心分享|陌陌综合案例

    注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flin ...

  7. [博学谷学习记录]超强总结,用心分享|Hive的压缩格式

    压缩格式 工具 算法 文件扩展名 是否可切分 DEFAULT 无 DEFAULT .deflate 否 Gzip gzip DEFAULT .gz 否 bzip2 bzip2 bzip2 .bz2 是 ...

  8. [博学谷学习记录]超强总结,用心分享|软件测试之计算机基础(一)

    本周开始学习软件测试,而我也即将开始在平台记录我的学习之路.我会把我的个人心得及掌握的知识发布在此平台,俗话说最好的输入就是输出,希望在输出的同时能有更多的收获,也希望与大家多多交流. 为了更好的学习 ...

  9. [博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识线性回归总结分享

    1.线性回归的核心是参数学习,线性回归和回归方程(函数)有关 2.线性回归是目标值预期是输入变量的线性组合 3.欠拟合的产生原因是学习到数据的特征过少 4.多元线性回归中的"线性" ...

  10. [博学谷学习记录] 超强总结,用心分享|JavaEE就业课-尊享无忧+Java基础语法|面向对象(1wk)

    学习笔记目录 目录 学习笔记目录 前言 一.变量 1. 关键字:被java赋予特殊含义的字符 2. 常量:不会发生改变的量(数据)​编辑 3. 变量:内存中的存储空间. 4. 类型转换 5. 算术运算 ...

最新文章

  1. SQL中的case when then else end用法
  2. 广东安网2016:重拳挥出 打造安宁互联网环境
  3. 用java编写一个函数,统计一个字符串中每个字母出现的次数
  4. cocos2dx-lua之断点调试支持
  5. mysql+提升更新语句效率_MySQL加快批量更新 UPDATE优化
  6. Excel分列功能的妙用
  7. 如何提高阅读源代码的效率 .
  8. demo12 webpack 处理 scss
  9. code principles
  10. Android Studio Template(模板)开发,最后有参考
  11. “春风又绿江南岸”真正的关键是什么?
  12. Windows电脑生成iOS证书p12及mobileprovision文件文档
  13. P800 GPS 地图安装教程
  14. 9、电话区号信息API接口,免费好用
  15. Navicat 被投毒了 | 调查结果来了
  16. Android版疯狂填字第三关,iOS/安卓版《疯狂填字》答案攻略第三十八关
  17. unity3d中如何将Hierarchy中的物体批量拖到Inspector中的数组中?
  18. Jquery实现点击事件的四种写法
  19. 西南科技大学数电FPGA第一次实验报告
  20. 经典面试题扔鸡蛋(Google面试题附带LeetCode例题)

热门文章

  1. Linux软链接和硬链接
  2. 英国女王伊丽莎白二世登基60周年演讲(视频+双语)
  3. 快上车!Java技术开发大厂直通车马上启动!
  4. SqlServer 越南语乱码
  5. Kotlin协程序列:
  6. 弹性盒子display:flex——justify-content主轴方向对齐方式、align-items交叉轴对齐方式、 flex-direction修改主轴方向、flex-wrap换行
  7. 弹性盒之主轴与交叉轴的区分
  8. C++调用Armadillo计算库
  9. 微信小程序之网易云音乐(一)- uni-app的基本使用
  10. YC1040载货汽车底盘总体及制动器设计