31 | 大数据架构:大数据技术架构的思想和原理是什么?
李智慧
该思维导图由 AI 生成,仅供参考
我在开篇词讲到,任何新技术都不是凭空产生的,都是在既有技术的基础之上,进行了一些创新性的组合扩展,应用到一些合适的场景之中,然后爆发出来巨大的生产力。后面几篇我要讲的大数据技术,区块链技术都是如此。
大数据技术其实是分布式技术在数据处理领域的创新性应用,本质和我们此前讲到的分布式技术思路一脉相承:用更多的计算机组成一个集群,提供更多的计算资源,从而满足更大的计算压力要求。
前面我们讨论的各种分布式缓存、负载均衡、分布式存储等都是讲如何在高并发的访问压力下,利用更多的计算机满足用户的请求访问压力。而大数据技术讨论的是,如何利用更多的计算机满足大规模的数据计算要求。
大数据就是将各种数据统一收集起来进行计算,发掘其中的价值。这些数据,既包括数据库的数据,也包括日志数据,还包括专门采集的用户行为数据;既包括企业内部自己产生的数据,也包括从第三方采购的数据,还包括使用网络爬虫获取的各种互联网公开数据。
面对如此庞大的数据,如何存储,如何利用大规模的服务器集群处理计算大量的数据,就是大数据技术的核心关键。
分布式文件存储 HDFS 架构
大规模数据计算首先要解决的是大规模数据的存储问题。如何将数百 T,数百 P 的数据存储起来,通过一个文件系统统一管理,这本身就是一个极大的挑战。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
大数据架构是利用分布式技术处理大规模数据的创新应用。该架构包括HDFS、MapReduce和Hive等核心技术,用于解决大规模数据存储、计算和分析的问题。与传统的MapReduce相比,Spark架构利用内存进行中间计算数据存储,大大提升了计算性能,同时采用RDD编程模型简化了复杂计算的编程难度。此外,文章还介绍了大数据流计算架构,包括Spark Streaming和Flink,用于实时处理海量数据。总的来说,大数据技术是分布式技术的一个分支,通过分布式服务器集群解决大量计算压力,而大数据技术则需要处理具有关联性的数据,因此需要中心服务器进行管理。最后,文章提出了一个思考题,探讨了在SQL生成MapReduce计算时,如何设计map和reduce函数来处理join操作。整体而言,本文介绍了大数据架构的核心技术和发展趋势,为读者提供了对大数据处理技术的全面了解。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《后端技术面试 38 讲》,新⼈⾸单¥59
《后端技术面试 38 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(10)
- 最新
- 精选
- 黄海峰shuffle把相同key发送给同一个reduce,那岂不是还是要传输大量数据?还是实际是把相同key放到相同hdfs文件reduce进程读取?
作者回复: 确实要传输很大量数据。 shuffle不通过HDFS,即使通过HDFS,也解决不了数据传输的问题。
2020-02-032 - Winon老师说的集群有标准吗?譬如,由两台相同功能组成的服务器提供服务,算集群吗?
作者回复: 算
2020-07-282 - imageFlink引擎是基于record,还是和spark streaming minibatch有较大区别的。2020-03-218
- escray大数据技术首先要有大数据,其次要有大规模的数据计算要求。 没有接触过大数据相关的项目,但是基本的概念还是有的。曾经在体制内工作过一段时间,很多项目也跟风大数据、云计算、人工智能……区块链也不能阻止他们。 不过在我看来,其实很多大数据项目压根就没有“大数据”,却寄希望于从一堆没有意义的数据中,找到“啤酒和尿布”;另一方面,文中说“大数据技术主要是为了满足大规模数据计算要求”,你能想象以前用纸质文件保存的数据,一上来就要“数据挖掘”么? 其实,在没有一个好的量化标准的情况下,大数据技术的投入产出比是没法计算的。相对于互联网大厂,有数据、有需求、有指标,一般的项目可以从简单架构开始,等到计算能力出现瓶颈在考虑大数据技术。2020-10-176
- 不要挑战自己的智商spark会在data node做更多的内存运算,很多reduce的过程在data node里面就完成了,以word count 为例,对于每个word出现的次数,在每个data node里面就先分别计算好了。最后在把各个data node里面的结果相加就是了。对吧? spark会优化和从新排列用户指令,来达到更更效率的运算。这点好像一些sql引擎也在做? hadoop 是把reduce完全放在shuffle之后,这样在shuffle的过程中,需要通过网络移动更多数据。2020-08-032
- 不记年交作业~ map程序: page_view行数据 -> (userid , pageid + "," + "") user行数据 -> (userid, "" + ", " +age) reduce程序: (userid, [pageid + "," + "", "" + ", " +age]) -> (pageid , age)2020-02-242
- 非洲黑猴子MapReduce 程序可以自定义 Partitioner, 决定哪些相同的 key 去到哪些 Reducer. 这里使用自定义的分区器, 分别处理两张表的 userid, 对两张表的这个字段分别计算分区, 这样两张表中相同的 userid 的数据便会在同一个 Reducer 中相遇. 接下来的Reduce计算就方便了2023-06-10归属地:美国1
- 非洲黑猴子MapReduce 程序可以自定义 Partitioner, 决定哪些相同的 key 去到哪些 Reducer. 这里使用自定义的分区器, 分别处理两张表的 userid, 对两张表的这个字段分别计算分区, 这样两张表中相同的 userid 的数据便会在同一个 Reducer 中相遇. 接下来的Reduce计算就方便了2023-06-10归属地:美国
- 特立独行的猪hive,map reduce,spark 的关系能讲得再细一些吗?flink能多讲一些就更好了2021-02-28
- 好好先生买下一门课!!!加油!!2020-03-29
收起评论