前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何解读Java架构师深入浅出的大数据体系原理?程序员必看!!!

如何解读Java架构师深入浅出的大数据体系原理?程序员必看!!!

原创
作者头像
用户6915163
修改2020-02-10 16:57:42
3160
修改2020-02-10 16:57:42
举报

如何解读Java架构师深入浅出的大数据体系原理?程序员必看!!!

Java架构师

最近几天在思考,如果用一个简单的例子来说明下大数据中涉及到一些方面或者内容。经过反复拿捏,感觉下面的例子对于未接触过大数据的人来说,比较容易接受和理解。

我们这里已数字排序作为说明。

我有10个整数,把他们全部放进内存,然后条用api的排序接口,很快就会得出结果。

我有1G的数据,这个时候,如果机器不是那么破的化,也可以全部把他们放到内存中进行排序,也可以得出结果。

我有10G的数据,勉强可以多往电脑中插几个8G的内存条,也许勉强可以。

如果现在我有100G的数据整数,怎么弄?这个时候显然增加内存条是不可能解决的。而且,这区区100G的数据还算不算大数据。按照现在电影的体积,也就100多部。

这个时候,1台机器显然装不下这么多东西,怎么半?就是再多找几台机器。

机器增多了意味着什么?这个时候就需要懂分布式计算,而如果连分布式都不懂,那么,大数据你肯定不清楚。

如果现在100G的数据,现在有10台机器,那么,

【1】这100G的整数如果分配?

【2】这10台机器之间如何通讯?这个时候,你需要懂网络编程

【3】假设每台机器上的数据都已经排好序,如何多快好省的把各自排序的结果merge在一起?

【4】如何设计有效的merge逻辑减少10台机器之间的网络IO。

【5】如果这10台机器中,万一在排序时突然down了,怎么办?具体但不限于:在机器down之前,有相应其他机器发给他的请求吗,它自身的任务完成了多少?在down的时候,其正在跟其他机器传输数据怎么办?

【6】谁去监听这10台机器的健康或者是其他机器怎么知道某台机器down了?如果是连接超时,怎么知道是网络阻塞还是目标机真的挂了?

【7】如果某台机器真的down了,无法恢复,或者集群中有一台主机被临时抽走怎么办?如果把那台机器上的数据分给其他9台?

如果数据不是100G,而是1TB,1PB 等等,那么这么大数据,那么大集群,同一时间挂掉的机器数量可能会很多,

【1】如果这些机器做存储,怎么保证数据不丢失?

【2】如果这个集群做离线计算,怎么涉及调度程序提高每台机器的资源利用率,减少集群内的网络IO和尽可能提高每台机器的响应速度。

【3】如果集群是可扩展的,最好架构能支持只要简单地增加机器数目就能扩充集群计算和存储能力,这个架构怎么设计?

综上,相关问题的解决会涉及到大数据中的种种概念,如:mapreduce,hadoop,hive,spark等。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档