BI大数据如何学习

网友投稿 632 2022-12-01

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

BI大数据如何学习

我们可以思考下整个大数据的流程是什么,从数据采集->数据存储->数据处理->数据应用,再加一个任务调度。每个流程都有很多对应的大数据框架,我们学习其中一两个比较重要,也就是企业用的较多的框架即可。

数据采集:就是把数据从其他平台采集到我们大数据平台,只是负责采集数据,所以对这个流程的框架要求是会用即可,日志采集工具如 Flume,大数据平台与传统的数据库(mysql、postgresql...)间进行数据的传递工具如 Sqoop,我们会用即可,这种工具上手也很快,没有太复杂的功能。

数据存储:数据存储就比较重要了,大数据如此流行,和大规模分布式数据存储快速发展有很大关系,当然数据存储的框架也比较多,不同的框架,功能不太一样,首先第一个:Hadoop HDFS,分布式文件系统,HDFS 的诞生,解决了海量数据的存储问题, 但是一个优秀的数据存储系统需要同时考虑数据存储和访问两方面的问题,比如你希望能够对数据进行随机访问,这是传统的关系型数据库所擅长的,但却不是分布式文件系统所擅长的,那么有没有一种存储方案能够同时兼具分布式文件系统和关系型数据库的优点,基于这种需求,就产生了 HBase、MongoDB 等。

数据处理:大数据最重要的环节就是数据处理了,数据处理通常分为两种:批处理和流处理。

批处理:对一段时间内海量的离线数据进行统一的处理,对应的处理框架有 Hadoop MapReduce、Spark、Flink 等;

流处理:对运动中的数据进行处理,即在接收数据的同时就对其进行处理,对应的处理框架有 Spark Streaming、Flink 等。

批处理和流处理各有其适用的场景,时间不敏感或者硬件资源有限,可以采用批处理;

时间敏感和及时性要求高就可以采用流处理。随着服务器硬件的价格越来越低和大家对及时性的要求越来越高,流处理越来越普遍,如股票价格预测和电商运营数据分析等。

大数据是一个非常完善的生态圈,有需求就有解决方案。为了能够让熟悉 SQL 的人员也能够进行数据处理与分析,查询分析框架应运而生,常用的有 Hive 、Spark SQL 、Flink SQL、Phoenix 等。这些框架都能够使用标准的 SQL 或者 类 SQL 语法灵活地进行数据的查询分析。

这些 SQL 经过解析优化后转换为对应的作业程序来运行,如 Hive 本质上就是将 SQL 转换为 MapReduce 或 Spark 作业,Phoenix 将 SQL 查询转换为一个或多个 HBase Scan。

大数据流处理中使用的比较多的另外一个框架是 Kafka,Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以用于消峰,避免在秒杀等场景下并发数据对流处理程序造成冲击。

数据应用:处理好的数据就可以输出应用了,如可视化展示,推动业务决策,用于推荐算法,机器学习等。

任务调度:复杂大数据处理的另外一个显著的问题是,如何调度多个复杂的并且彼此之间存在依赖关系的作业?基于这种需求,产生了 Azkaban 和 Oozie 等工作流调度框架。

同时针对集群资源管理的需求,又衍生了 Hadoop YARN,资源调度框架。

想要保证集群高可用,需要用到 ZooKeeper ,ZooKeeper 是最常用的分布式协调服务,它能够解决大多数集群问题,包括首领选举、失败恢复、元数据存储及其一致性保证。

以上,在分析大数据处理流程中,我们把常用的框架都说了下,基本上也是大数据中最常用的框架,尽量全部掌握。

以上框架大部分是用 Java 写的,有部分是用 Scala 写的,所以我们必须掌握的语言是 Java、Scala,以便我们开发相关应用及阅读源码等。

总结

我们总结下重点框架:

语言:Java 和 Scala(语言以这两种为主,需要重点掌握)

Linux(需要对 Linux 有一定的理解)

Hadoop(需理解底层,能看懂源码)

Hive(会使用,理解底层 SQL 转化原理及优化)

Spark(能进行开发。对源码有了解)

Kafka(会使用,理解底层原理)

Flink(能进行开发。对源码有了解)

HBase(理解底层原理)

Zookeeper(会用,最好理解原理)

Sqoop、Flume、Oozie/Azkaban(会用即可)

如果走数仓方向,需要掌握以下技能:

离线数仓建设(搭建数仓,数仓建模规范)

维度建模(建模方式常用的有范式建模和维度建模,重点关注维度建模)

实时数仓架构(两种数仓架构:Lambda 架构和 Kappa 架构)

不管离线还是实时,重中之重就是:SQL。多找一些 SQL 题练习!

等工作之后,有时间还需要学习比较流行的 OLAP 查询引擎:

Impala 、Presto、Druid 、Kudu 、ClickHouse 、Doris

如果还有时间,需学习数据质量及数据治理相关的内容!

另还有元数据管理工具:Atlas

上一篇:BI大数据就业方向
下一篇:软件测试与游戏测试的关系
相关文章

 发表评论

暂时没有评论,来抢沙发吧~