大数据就业方向-(工作)ETL开发

上一篇文章:

大数据 - 大数据入门第一篇 | 关于大数据你了解多少?-CSDN博客

目录

🐶1.ETL概念

🐶2. ETL的用处

🐶3.ETL实现方式

🐶4. ETL体系结构

🐶5. 什么是ETL技术?

🐶6. ETL工作流程

🐶7. ETL工程师的岗位价值

🐶8. ETL工程师进阶指南


🐶1.ETL概念

ETL是英文Extract-Transform-Load的缩写,用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,它能够对各种分布的、异构的源数据(如关系数据)进行抽取,按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏"数据内容进行清洗,得到符合要求的“干净”数据,并加载到数据仓库中进行存储,这些“干净”数据就成为了数据分析、数据挖掘的基石

🐶2. ETL的用处

是实现商务智能(Business Intelligence,BI)的核心。一般情况下,ETL会花费整个BI项目三分之一的时间,因此ETL设计得好坏直接影响BI项目的成败。

🐶3.ETL实现方式

企业中常用的ETL实现有多种方式,常见的方式如下。

    (1) 借助ETL工具(如Pentaho Kettle、Informatic等)。

    (2) 编写SQL语句。

    (3) 将ETL工具和SQL语句结合起来使用。

    上述3种实现方式各有利弊,其中第1种方式可以快速建立ETL工程,屏蔽复杂的编码任务、加快速度和降低难度,但是缺少灵活性:第2种方式使用编写SQL语句的方式优占是灵活,可以提高ETL的运行效率,但是编码复杂,对技术要求比较高;第3种方式综合了前面两种方法的优点,可以极大地提高ETL的开发速度和效率。

🐶4. ETL体系结构

  ETL主要是用来实现异构数据源数据集成的。多种数据源的所有原始数据大部分未作修改就被载入ETL,因而,无论数据源在关系型数据库、非关系型数据库,还是在外部文件.集成后的数据都将被置于数据库的数据表或数据仓库的维度表中,以便在数据库内或数据仓库中作进一步转换(因此,一般会将最终的数据存储到数据库或者数据仓库中)。ETL的体系结构如图下所示。

在上图中,若数据源1和数据源2均为功能较强大的DBMS(数据库管理系统),则可以使用SQL语句完成一部分数据清洗工作。但是,如果数据源为外部文件,就无法使用SQL语句进行数据清洗工作了,只能直接从数据源中抽取出来,然后在数据转换的时候进行数据清洗的工作。因此,数据仓库中的数据清洗工作主要还是在数据转换的时候进行。清洗好的数据将保存到目标数据库中,用于后续的数据分析、数据挖掘以及商业智能 

🐶5. 什么是ETL技术?

ETL就是抽取、转换、加载这三个单词的缩写,所以顾名思义主要的工作就是把数据从哪块儿抽过来,然后进行一个清洗、加工,最后再存到哪块儿。

🐶6. ETL工作流程

ETL工作的环节也是见名知意。

抽取:这个环节可能主要是比如说Sqoop、Flume、Kafka、还有Kettle、DataX、Maxwell这些都是抽取工具。离线可能主要是用的Sqoop或者是DataX去进行离线数据的抽取,像实时可能会采用比如说Flume或者是Kafka、Maxwell,还有Kettle去进行抽取。

转换:转换包括清洗、合并、拆分、加工等等,可以用Hadoop生态的东西, MapReduce、Spark、Flink、Hive等去进行数据方面的清洗。

加载:抽取转换之后,就是将数据加载到目标数据库。可能会用到Hbase去存储一些大数据方面的东西,或者HDFS等等这些工具。

🐶7. ETL工程师的岗位价值

ETL的工作主要是对数仓的底层建设, ETL这个岗位是非常重要的,因为它属于是一个基础,如果ETL工作做好的话会有事半功倍的效果。

如果做不好可能后续会有很多的一些问题, 比如说数据如果没有清洗好,后续分析起来可能会有很多的脏数据等等。而且数据使用起来也非常的不方便。

🐶8. ETL工程师进阶指南

任何岗位都会有初、中、高级的一个划分,不管是在业务理解还是技术能力、需求理解沟通交流,以及在项目中的位置等等。ETL工程师的进阶方向也以此划分。

初级:对业务理解的不是特别的深入,技术上也就是会使用,出现一些问题可能不能独立解决或者是独立解决的问题数量会比较少,需要去咨询大牛之类的。

中级:对业务相对来说比较熟悉,另一方面就是理解能力也比较强,技术上可能已经比较熟练了,而且还对框架、原理都有一些了解,也会调优。而且中级可能会参与到管理中,分一个小组,做一些比较小的项目或者需求。

高级:对业务就是非常熟悉,技术是服务于业务的,所以熟悉业务非常重要,我们现在实现的功能,其实就是建立在业务的基础上去做的,另一方面高级的ETL工程师对各项技术、系统架构都非常熟悉或者是会设计这样的架构,同时具有管理能力,可以带领团队完成项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日OJ题_算法_二分查找⑧_力扣LCR 173. 点名

目录 力扣LCR 173. 点名 解析代码 力扣LCR 173. 点名 LCR 173. 点名 - 力扣(LeetCode) 难度 简单 某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席,请返回他的学号。 示例 1: 输入: records …

力扣0087——扰乱字符串

扰乱字符串 难度:困难 题目描述 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串…

c# cad PromptSelectionResult批量选择 PromptEntityOptions选择单个实体介绍

一、PromptSelectionResult : 是 AutoCAD .NET API 中的一个类,位于 Autodesk.AutoCAD.EditorInput 命名空间下。它代表了用户在 AutoCAD 编辑器中进行图形对象选择操作的结果。 当你通过 Editor 类的 GetSelection() 方法(或者其他类似的方…

MySQL JSON数据类型全解析(JSON datatype and functions)

JSON(JavaScript Object Notation)是一种常见的信息交换格式,其简单易读且非常适合程序处理。MySQL从5.7版本开始支持JSON数据类型,本文对MySQL中JSON数据类型的使用进行一个总结。 目录 一、MySQL中的JSON 1.1 JSON数据格式 1.2 …

11. 发送邮件

1. 简介 Spring Boot 收发邮件最简便方式是通过 spring-boot-starter-mail。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency>spring-boot-starter-mail 本质…

hive - explode 用法以及练习

hive explode 的用法以及练习 一行变多行 explode 例如&#xff1a; 临时表 temp_table &#xff0c;列名为1st 1st1,2,34,5,6 变为 1 2 3 4 5 6 方式一&#xff1a;直接使用 explode select explode(split(1st,,)) from temp_table;方式二&#xff1a;使用 lateral view…

spring-boot-starter-validation常用注解

文章目录 一、使用二、常用注解三、Valid or Validated &#xff1f;四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解&#xff0c;首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo…

Java问题排查工具集

Java 问题排查工具箱 n 默认值相关问题 l -XX:PrintFlagsFinal || jinfo -flags n 类装载相关问题 l -XX:TraceClassLoading n 应用无响应相关问题 l sar 等系统指标 l jstack [-l] [-m] Java 问题排查工具箱 n 内存相关问题 l -XX:HeapDumpOnOutOfMemoryEr…

探秘Dmail:Web3世界的通讯引领者

摘要&#xff1a;在一个充满潜力并且对创新要求严格的领域中&#xff0c;Dmail作为一种开创性的Web3通讯协议应运而生。 1月24日&#xff0c;OKX Jumpstart宣布上线Dmail&#xff0c;在Web3领域引起了巨大反响&#xff0c;这是一个旨在重新定义数字通讯范式的富有远见的项目&a…

#资源#llm训练 获取数据集的网站

llm训练需要获取数据&#xff0c;互联网上会有一些别人开源的数据集&#xff0c;我们可以拿来即用 https://github.com/huggingface/datasets https://huggingface.co/datasets 支持使用python直接调取&#xff0c;譬如squad_dataset load_datasets(“squad”)。 https://dat…

【c++学习】数据结构中的栈

c栈 栈代码用线性表实现栈用链表实现栈 栈 栈&#xff1a;先进后出 只对栈顶元素进行操作&#xff0c;包括新元素入栈、栈顶元素出栈和查看栈顶元素&#xff08;只支持对栈顶的增、删、查&#xff09;。 代码 下述代码实现了栈及其接口 包括对栈顶的增、删、查以及查看栈的大…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-1最优控制问题与性能指标 1. 最优控制问题与性能指标2. 动态规划 Dynamic Programming2.1 基本概念2.2 代码详解2.3 简单一维案例 3. 线性二次型调节器&#xff…

Linux date命令详解:如何设置、更改、格式化和显示日期时间(附实例与注意事项)

Linux date命令介绍 date命令在Linux中用来显示和设置系统日期和时间。这个命令允许用户以不同的格式打印时间&#xff0c;也可以计算未来和过去的日期。 Linux date命令适用的Linux版本 date命令在所有主流的Linux发行版中都可以使用&#xff0c;包括但不限于Debian、Ubunt…

GIt同时存在传入和传出更改修改,无法合并

前言 Git是常用的版本管理工具&#xff0c;之前面试被问到过一次——Git有无遇到过使用错误情况&#xff1f;当时卡壳了没答上来&#xff0c;所以这次遇到&#xff0c;特此记录学习。 问题概述 前一天提交了代码&#xff0c;mt进行了修改。但我忘记拉取最新&#xff0c;就进…

bxCAN 标识符筛选

标识符筛选 在 CAN 协议中&#xff0c;消息的标识符与节点地址无关&#xff0c;但与消息内容有关。因此&#xff0c;发送器将消息广播给所有接收器。在接收到消息时&#xff0c;接收器节点会根据标识符的值来确定软件是否需要该消息。如果需要&#xff0c;该消息将复制到 SRAM…

每日一题 力扣2865 美丽塔Ⅰ

2865. 美丽塔 I 题目描述&#xff1a; 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i &#xff0c;高度为 heights[i] 。 如果以下条件满足&#xff0c;我们称这些塔是 美丽 的&#xff1a; 1 < height…

QT笔记 - QToolButton triggered(QAction *)不触发问题

QToolButton 有两个功能&#xff0c;一个是基本按钮功能&#xff0c;同QPushButton一样&#xff0c;发出clicked()信号。 另一个功能是QAction功能&#xff0c;发出触发triggered(QAction *)信号&#xff0c;但它自己不包含QAction&#xff0c;需要同其它比如QMenu或QToolBar上…

深度解析单片机:历史、发展与您关心的问题

什么是单片机&#xff1f; 定义&#xff1a;单片机是一种集成了中央处理器&#xff08;CPU&#xff09;、内存和外设功能的微型计算机系统。与传统计算机相比&#xff0c;单片机通常集成在一个芯片上&#xff0c;用于控制特定的应用。#单片机# 特点&#xff1a; 封装紧凑&…

人工智能:更多有用的 Python 库

目录 前言 推荐 JupyterLab 入门 复杂的矩阵运算 其它人工智能和机器学习的 Python 库 前言 在这篇文章中&#xff0c;我们将了解更多的矩阵操作&#xff0c;同时再介绍几个人工智能 Python 库。 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#x…

再谈Android View绘制流程

一&#xff0c;先思考何时开始绘制 笔者在这里提醒读者&#xff0c;Android的View是UI的高级抽象&#xff0c;我们平时使用的XML文件也好&#xff0c;本质是设计模式中的一种策略模式&#xff0c;其View可以理解为一种底层UI显示的Request。各种VIew的排布&#xff0c;来自于开…