9大业务场景实战Hadoop+Flink,完成大数据能力进修
// download:
3w ukoou com
要在大数据领域取得成功,需要掌握一系列技能和知识。以下是一些重要的大数据技能:
-
编程技能:
- Python、Java、Scala等编程语言,用于数据分析、数据处理和机器学习。
- SQL用于数据库管理和查询。
-
数据处理和分析:
- 数据清洗和预处理,包括处理缺失值和异常数据。
- 数据可视化,使用工具如Matplotlib、Seaborn、Tableau等。
- 统计分析和数据建模,包括回归、分类、聚类等。
-
大数据框架和工具:
- Apache Hadoop,用于分布式存储和处理大规模数据。
- Apache Spark,用于高性能数据分析和处理。
- NoSQL数据库,如MongoDB、Cassandra等。
- 数据仓库,如Amazon Redshift、Google BigQuery等。
-
机器学习和深度学习:
- 了解基本的机器学习算法,如决策树、随机森林、神经网络等。
- 掌握深度学习框架,如TensorFlow和PyTorch。
-
数据存储和管理:
- 数据库管理系统(DBMS)的知识,包括关系型数据库和NoSQL数据库。
- 数据湖和数据仓库的设计和管理。
-
大数据工作流程:
- 了解大数据的采集、存储、处理、分析和可视化的工作流程。
- 掌握数据管道(data pipeline)的建设和维护。
-
数据安全和隐私:
- 了解数据隐私法规和最佳实践,确保数据的合法和安全使用。
-
云计算:
- 掌握云计算平台,如AWS、Azure、Google Cloud等,用于大数据存储和处理。
-
业务洞察:
- 具备业务分析的能力,能够将数据分析结果转化为实际业务决策。
-
沟通和团队合作:
- 良好的沟通能力,能够与非技术人员分享数据分析结果。
- 能够与团队协作,共同解决数据相关问题。
大数据数仓分层实战
1.3 数仓命名规范
1.3.1 表命名
Ø ODS层命名为ods_表名
Ø DIM层命名为dim_表名
Ø DWD层命名为dwd_表名
Ø DWS层命名为dws_表名
Ø DWT层命名为dwt_表名
Ø ADS层命名为ads_表名
Ø 临时表命名为tmp_表名
1.3.2 脚本命名
Ø 数据源to目标_db/log.sh
Ø 用户行为脚本以log为后缀;业务数据脚本以db为后缀。
1.3.3 表字段类型
Ø 数量类型为bigint
Ø 金额类型为decimal(16, 2),表示:16位有效数字,其中小数部分2位
Ø 字符串(名字,描述信息等)类型为string
Ø 主键外键类型为string
Ø 时间戳类型为bigint
第2章 数仓理论
2.1 范式理论
2.1.1 范式概念
1)定义
数据建模必须遵循一定的规则,在关系建模中,这种规则就是范式。
2)目的
采用范式,可以降低数据的冗余性。
为什么要降低数据冗余性?
(1)十几年前,磁盘很贵,为了减少磁盘存储。
(2)以前没有分布式系统,都是单机,只能增加磁盘,磁盘个数也是有限的
(3)一次修改,需要修改多个表,很难保证数据一致性
3)缺点
范式的缺点是获取数据时,需要通过Join拼接出最后的数据。
4)分类
目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。
数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范。本文作者围绕企业数仓分层展开分析,希望对你有帮助。
从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数据易理解和高复用是分层的核心目标。
何为数仓DW
Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,它是一整套包括了etl、调度、建模在内的完整的理论体系。
数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。目前行业比较流行的有:AWS Redshift,Greenplum,Hive等。
数据仓库并不是数据的最终目的地,而是为数据最终的目的地做好准备,这些准备包含:清洗、转义、分类、重组、合并、拆分、统计等。
- 主要特点
面向主题
操作型数据库组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。 主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通过与多个操作型信息系统相关。
集成
需要对源数据进行加工与融合,统一与综合。 在加工的过程中必须消除源数据的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。(关联关系)
不可修改
DW中的数据并不是最新的,而是来源于其他数据源。 数据仓库主要是为决策分析提供数据,涉及的操作主要是数据的查询。
与时间相关
处于决策的需要数据仓库中的数据都需要标明时间属性。
与数据库的对比
DW:专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势。 数据库:用于捕获和存储数据。 四、为何要分层
在实际的工作中,我们都希望自己的数据能够有顺序地流转,设计者和使用者能够清晰地知道数据的整个声明周期,比如下面左图。
但是,实际情况下,我们所面临的数据状况很有可能是复杂性高、且层级混乱的,我们可能会做出一套表依赖结构混乱,且出现循环依赖的数据体系,比如下面的右图。