Hadoop数仓知识小结
1. RDD的概念,就是说它会把一个比较大的数据集,然后分成很多个不同的部分,这叫分区。那这个分区,它会分布在不同的计算节点里边,去对每一个节点进行同样的算法的计算。那这个RDD的概念,它叫什么弹性分布式数据集意思?它就是如果有的计算节点失败了,它能够按照。计算的定义的那个计算图重新去构建它失败的那一部分,能够起到一个重视作用,也就是一个,能够保证这个计算的时候,能够在有问题的时候能够鼓掌恢复,然后还能够做这种分布式的计算
2. join的时候一定要看好join的类型:left join、right join、inner join以及左表右表的join字段名称,每join一个表就执行测试下,看看数据效果
3. 数仓开发主要梳理清楚取数的逻辑,可以采用WITH tmp_01 AS 的方式写好需要用的表,最后汇总起来
4. 数仓代码中尽量不要出现SELECT *、DISTINCT,因为会加大资源的损耗,导致数据倾斜
5. sql只能解决固定模式的问题,如分组聚合,排名,去重。累计等。如果超越了这些需求,需要复杂数据计算逻辑,或需要优化执行性能时候,sql捉襟见肘,spark 用scala开发最是方便,即支持sql语句执行,还支持 流式计算、机器学习、图数据结构分析计算。这些功能sql是没法做的。spark在数据倾斜防治上也有更多的优化手段方法
#Hadoop##咪咕视讯#Hadoop数据仓库是建立在Hadoop生态系统基础上的大数据存储和处理解决方案。它可以用于将结构化、半结构化和非结构化的数据集中存储,并提供高性能的数据查询、分析和数据处理功能。