整体技术流程-数据入库(ETL)|学习笔记

简介: 快速学习整体技术流程-数据入库(ETL)

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段)整体技术流程-数据入库(ETL)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/693/detail/12165


整体技术流程-数据入库(ETL)


内容简介

一、数据入库

二、数据入库的技术

三、总结

通过之前的采集和预处理,我们已经将数据变成了格式统一,干净规整的结构化数据,这时就可以针对这些结构化数据开展分析。

本节内容我们将学习数据入库,我们要重点这里的库是指什么库以及入库的本质是为了什么以及当中的专业说法 ETL 是什么含义。


一、数据入库

预处理完的结构化数据通常会导入到 Hive 数据仓库中,建立相应的库和表与之映射关联。这样后续就可以使用 Hive SQL  针对数据进行分析。

因此这里所说的入库是把数据加进面向分析的数据仓库,而不是数据库。

因项目中数据格式比较清晰简明,可以直接 load 进入数据仓库。

实际中,入库过程有个更加专业的叫法— ETL. ETL 是将业务系统的数据经过抽取,清洗转换之后加载到数据仓库的过程。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

ETL 的设计分三部分:数据抽取.数据的清洗转换、数据的加载。在设计ETL的时候我们”也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到 ODS(Operational DataStore, 操作型数据存储)中,这个过程也可以做一些数据的清洗和转换, 在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL 三个部分中,花费时间最长的是“T”(Transform.清冼、转换)的部分,一般情况下这部分工作量是整个 ETL 的2/3.数据的加载一般在数据清洗完了之后直接写入 D (Data Warehousing,数据仓库)中去。

image.png

如图,数据仓库中间层用于开展数据分析,英文为 DW,中文为数据仓库层(数据仓库本身不生产数据,也不消费数据,数据来自不同的数据源,由角色应用来使用),下方为不同的数据源,有关系型数据库 ROBMS,有网站日志,爬虫等。要开展分析时要在数据仓库中确定一个主题,再基于主题去寻找数据。

如果主题所需要的数据单一,可以直接使用数据,但通常情况下主题需要的数据是各个数据源,这时候如果直接应用他们之间可能会存在格式,单位的差异性。

因此为了分析方便,我们需要把各个不同的数据放至 ODS (源数据层),经过 ODS 的分析后需要导入进数据仓库主题下,再导入过程中我们所进行的转化操作,编码统一操作等称为 ETL。ETL 的本质就是经过抽取,转换和加载,把数据放至仓库中的过程。


二、数据入库的技术(针对 ETL)

手动 shell Hadoop hivesql

自动:sqoop kettle


三、小结

库:面向分析的数据仓库,也就是 Apache Hive

入库的本质:经过 ETL 抽取,转换,加载把各个不同的数据源集中加载到数仓的分析主题下面。

相关文章
|
XML 存储 网络协议
kettle开发篇-Http client
kettle开发篇-Http client
1347 0
|
自然语言处理 索引 算法
HanLP分词命名实体提取详解
文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程。对于文本来说,由于语言组织形式各异,表达方式多样,文本里面提到的很多要素,如人名、手机号、组织名、地名等都称之为实体。
7845 0
|
8月前
|
人工智能 缓存 自然语言处理
全球首款开源通用型AI智能体上线!Suna:自动处理Excel/爬数据/写报告等复杂任务一句话搞定
Suna是由Kortix推出的开源通用型AI智能体项目,通过自然语言交互实现浏览器自动化、文件管理、数据分析等复杂任务处理,支持自托管部署,为研究分析和日常工作提供智能辅助。
1948 55
全球首款开源通用型AI智能体上线!Suna:自动处理Excel/爬数据/写报告等复杂任务一句话搞定
|
SQL 分布式计算 大数据
统一批处理流处理——Flink批流一体实现原理
统一批处理流处理——Flink批流一体实现原理
1849 0
统一批处理流处理——Flink批流一体实现原理
|
机器学习/深度学习 运维 监控
基于特征子空间的高维异常检测:一种高效且可解释的方法
本文探讨了一种替代传统单一检测器的方法,通过构建多个专注于特征子集(子空间)的检测器系统,来提高异常检测的准确性和效率。文章详细介绍了子空间方法在处理高维数据时的优势,包括缓解维度灾难、提高异常检测的可解释性和计算效率。同时,文中还讨论了子空间的选择策略,如基于领域知识、相关性、随机选择等,并介绍了PyOD工具包中实现子空间异常检测的具体方法。通过这些技术,异常检测系统能够更有效地识别数据中的异常记录,尤其是在特征数量众多的情况下。
408 9
基于特征子空间的高维异常检测:一种高效且可解释的方法
|
10月前
|
机器学习/深度学习 存储
DeepSeek进阶开发与应用4:DeepSeek中的分布式训练技术
随着深度学习模型和数据集规模的扩大,单机训练已无法满足需求,分布式训练技术应运而生。DeepSeek框架支持数据并行和模型并行两种模式,通过将计算任务分配到多个节点上并行执行,显著提高训练效率。本文介绍DeepSeek中的分布式训练技术,包括配置与启动方法,帮助用户轻松实现大规模模型训练。数据并行通过`MirroredStrategy`同步梯度,适用于大多数模型;模型并行则通过`ParameterServerStrategy`异步处理大模型。DeepSeek简化了分布式环境配置,支持单机多卡和多机多卡等场景。
|
存储 人工智能 自然语言处理
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
【8月更文挑战第8天】无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
|
数据可视化 算法 数据挖掘
基于geopandas的空间数据分析-深入浅出分层设色
基于geopandas的空间数据分析-深入浅出分层设色
289 2
|
存储 数据可视化 大数据
大数据平台架构设计与实施
【7月更文挑战第3天】本文探讨了大数据平台的关键技术,包括数据采集(如Kafka、Flume)、存储(HDFS、HBase、Cassandra)、处理(Hadoop、Spark)、分析挖掘及可视化工具。架构设计涉及数据收集、存储、处理、分析和应用层,强调各层次的协同与扩展性。实施步骤涵盖需求分析、技术选型、架构设计、系统部署、数据迁移、应用开发测试及上线运维,旨在为企业决策提供强有力的数据支持。
|
安全 算法 应用服务中间件
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 【可验证】 详细描述TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
10469 2