数据结构与算法

浅谈大数据

2020-11-07  本文已影响0人  ITsCLG

    要想给他人一杯水,那自己至少得有一桶水。作为一头教狮【也算一只程序猿】,这种狩猎进食的本领也要不断提升。笔者最近一直在跟数据打交道,顺便想来聊一聊大数据。

    当然,知乎上的大神关于大数据的介绍非常生动,这里小编也是拿过来学习了下。

    什么是大数据?

    这问题看似简单,实际不简单,也许一千个人会有一千个答案。是的,每个人对大数据都有自己的理解,就像小编问朋友,“潮汕哪里的牛肉火锅最好吃?”分分钟都能收获上百个答案。

    小编从吃货的角度,给大家举栗说明一下,什么是大数据?

    1、大数据是什么?怎么理解大数据?

    如果把数据比作地球上的水,个人的数据(电脑里的各种文档、歌曲、电影、程序等等),就好像一颗小水珠,最多能在累的时候解解渴;企业级的数据略有些不同,根据规模的大小,有些可以算作水坑、有些是池塘,已经可以养些小鱼小虾打打牙祭了;还有一些企业的数据(比如Facebook,2012年每天需要处理的数据量就达到了500TB)已经算得上是一个大的湖泊了,可以实现大型的捕捞、规模化的养殖。但是,在湖泊之外,还有更广阔的世界,也就是说还有更多的数据值得我们去发现。

    比如,外国人常常埋怨中国菜不够“精确”,很多配料都用“少许”“适当”“足量”粗略地进行描述,实际操作起来很难学到精髓。有了大数据以后,主材、配料的数量、比例,油盐酱醋的多少,都可以进行精准地记录,甚至哪里产的猪肉,配上哪里的青椒、豆瓣做出来的回锅肉最好吃,都可以形成数据被记录下来。这些以前不被重视、不被采集的数据,就是我们大数据领域隐藏的“水滴”“池塘”“湖泊”。已有的大量数据,以及尚未被发现、记录的数据,共同构成了大数据时代的发展基础。

    水滴、池塘、湖泊发现得多了,就能够汇聚成海洋。大数据海洋里面的水(数据),多到数不清楚,里面的物产、资源(大数据产生的价值)也丰富到无以复加。原来我们在湖泊里面养养“青草鲢鳙”四大家鱼,有了数据海洋,想吃生蚝、鳕鱼、金枪鱼等等都可以轻松搞定。

    这么说,你明白大数据了吗?就是把超级多数据信息汇集到一起,然后在里面“钓大鱼”。

数据海洋里面“钓大鱼

    2、都说大数据有4V的特征,是什么意思?

    大数据的4V,就是“容量大Volume”、“多样性Variety”、“价值高Value”、“速度快Velocity”,同样以海洋和里面的美食进行类比:

    A、容量大:地球表面有70%左右都是海洋,想想里面都有多少水滴,有多少好吃的?大数据时代,每一个人、每一种食材、甚至每一秒风味与口感的变化关系,都能够形成一系列随时更新的数据,数据规模空前庞大,其中隐藏的价值也远远超出大部分人的预期。

    B、多样性:海洋里面的物质非常多样化,有资源、也有杂物;有海胆、生蚝、象鼻蚌等小而鲜嫩的海产,也有黄鱼、鳕鱼、金枪鱼等大型鱼类……大数据的结构也和海洋一样复杂,仅仅以文件类型为例,就有图片、文字、声音、视频等等,还有各种非结构化数据,所以在利用这些资源之前,需要把他们“排排站”进行分类、处理,才能“吃果果”。

    C、价值高:这个就不用说了,鳗鱼、龙虾、三文鱼……动辄每100克3~4万元的黄唇鱼,还有危急时刻能救人命的秋刀鱼。(前几年就出过一个日本青年因吃到炭烤秋刀鱼而放弃轻生的新闻,小智会乱说?)在实际应用中,大数据可以用于提升优化企业的管理效率,发现新的商业机会,也能够对事物的发展做出准确的分析、预测等等,各种商业价值就看你怎么用;

    D、速度快:先来吃肉、后来喝汤,这个道理想必大家都懂。数据海洋很大,想要比别人抢先一步找到美味,速度一定要快,这就要求我们要能对整个数据海洋进行快速的扫描、筛选、处理。如果只有两条小渔船,就算给你整个太平洋,也不见得能奔上小康。

传说中的炭烤秋刀鱼

    3、对大数据的处理,还是以在大海里面抓鱼为例:

    通过技术手段,发现隐藏在海水中的丰富物产的过程,就是数据挖掘

    (从大量的数据中通过算法搜索隐藏于其中信息)找到的东西里面,哪些是有用的,哪些是杂草、沙石先大概做一个分析,顺手把错误的、不合适的、没价值东西排除掉,这是数据清洗

    (发现并纠正数据文件中可识别的错误)在进行过初步筛选的“海域”里,进一步扫描出哪些是矿产、哪些是渔产,渔产里面有哪些鱼类,分别的种类划分、经济价值如何、数量多少……这是数据分析

    (对收集来的大量数据进行分析,提取有用信息和形成结论)把一眼看起来有些面目狰狞的海鲜(各种数字、表格)进行加工、处理,做成精美的大餐送上餐桌,色香味俱全地呈现在用户面前(精美、直观的图表),就是我们说的数据可视化

“数据可视化”大餐

    4、IaaS,PaaS,SaaS?

    IaaS是基础设施服务。IaaS是所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。就好像给你一个码头,配备好了各种硬件设备。机会和能力给了你,还需要靠自己的平台、工具,到海洋里面获取资源。

    PaaS是平台服务。提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python,.Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。除了码头,又给了一艘船,还给你配齐船长、大副、水手,有了一个系统可以直接面对海洋的各种资源了。不过怎么抓鱼,用什么工具抓鱼,还是你自己的事情。

    SaaS是软件服务,提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。这次就落实到具体的工具上面来,捕捞方案、抓鱼的网、开船路线都配齐了,只需要安排下去:去哪片海域抓什么鱼就行。

你想在数据海洋里面捞什么鱼?      

    5、Hadoop和Spark,又是啥东东?

    这几年说大数据,必定说Hadoop,后来又多了个Spark,是什么意思呢?

    假如我的家族世代以打鱼为生,以前都是聚集在一个岛上,驾驶一艘大船出海打鱼,整个家族能打到多少鱼就和这艘船的航行速度(计算能力)、装载数量(存储能力)有关。它的速度再快、捞得再多,由于只有一艘船,能够搜寻的海域就相当有限。现在我们改变了策略,一艘船的能力不行,就找N多艘船一起。整个家族的人分散到世界海洋各地,和其他家族一起共同分享各自的船只。必要的时候,我们可以联合几百艘船一起出动捕捞,由于覆盖的海域足够广,能够装载的收获足够多,对应的捕捞能力也可以实现指数式的增长。

    hadoop就是这样一个分布式系统的基础构架,通过将文件进行分布式(切块、分散)管理,充分利用集体的威力进行高速运算和存储。

Hadoop生态系统 2.0时代

    至于spark嘛,就是船上以前有艘快艇,本来是用来逃生的,如今也被利用当成抓鱼的主要工具。(Spark是一种与hadoop类似的开源计算集群环境,启用了内存分布数据集,直接从内存读数据,运算速度最快能比从硬盘读取数据提升10倍水平)。

    6、大数据用来做什么?

    大数据有很多应用场景,比如精准营销,就是打鱼的人通过多年海上经验,知道哪片海域的海鲜多又能卖好价钱;比如舆情分析,就像海啸预警,通过对海量信息的分析、比对,找出可能产生海啸灾害的区域……当然,最大的用处还是“预测”,比如通过分析多年的洋流运动,能够分析出你今天在好望角错过的鱼群下个月会出现在哪里。什么?你说鱼对你没有吸引力?那如果预测的是未来股票的涨跌呢?如果预测的是未来行业的风口呢?

google

    7、大数据企业都提供哪些服务?

    第一类,云平台服务商,像亚马逊、阿里云这些,就好比世界上一个个国家,管理各自的海域,你可以去他的海域里面捕鱼,可以将你的海域交给他们管理,也可以直接买他们捕捞到的成品;

    第二类,数据交易中介,他们自身提供一些数据,更主要的是搭建一个交易平台,撮合数据提供者与数据使用者实现数据交换,促成数据价值的实现,这有点像买卖各种湖泊、海洋的商人,买家拿到这些数据后,可以融合到自己的“海洋”里面去,让自己的海洋变得更大,物产更丰富;

    第三类,大数据解决方案提供商,就是在数据海洋的各个角落派遣捕鱼船队,提供海洋开拓、资源扫描、采矿捕捞、加工销售的一系列服务,你想在数据大航海时代做的所有事情,他们都能帮你处理。

cloud

    8、大数据时代的思维变革

    舍恩伯格《大数据时代》这本书里总结的大数据的三个特征,业内人早已耳熟能详,但也争议颇多。但实际上,这三个看似不起眼的特征的背后,蕴含着对大数据深刻的理解和洞察。

    (1)要相关不要因果

    因果关系,既某种现象(原因),引起了另一种现象(结果),其原因和结果具有必然的联系。寻找因果关系是我们认识、了解世界的重要手段。

    在大数据时代,建立在相关分析法上的面的预测是大数据的核心。如果A和B经常一起发生,那么当B发生时,可以预测A也发生了。至于为什么会这样,在某些应用上,已经没那么重要。

    (2)要全体不要抽样

    在过去,由于收集、储存和分析数据的技术落后,对大量数据的收集成本非常高昂,我们只能收集少量的数据进行分析。所以就会导致有很多小概率事件覆盖不到,容易出现黑天鹅事件。甚至有些时候我们都不是基于实证检验,而只是凭借经验,假设,和价值观,就对客观规律做出了总结。这就导致过去很多时候,人类对于客观世界的认知,是肤浅的、表面的、错误的。

    在大数据时代,可以获取足够大的数据样本乃至全体数据,在大数据时代依靠强大的数据处理能力,应该去处理所有数据。

    总体而言,这条特征反映出来的是:大数据的『量变』引发了人类进行分析和思考的核心层面上的『质变』。

    (3)不是精确性,而是混杂性

    以最通俗的语言来说,就是在庞大的数据体量面前,每一个小的数据的精确性可以变得不是那么的重要,因为庞大的数量可以消除或极大地稀释那些不准确的部分

    比如我们发100份调查问卷,里面如果有5个人是胡乱回答的,那可能就会极大地影响我们的调查结果;

    但如果我们发了10万份调查问卷,那么即便是有50个人可以捣乱,那也不会对最终结果有太大的影响。

    同时,如我们在前面所提到的,看上去混杂无章的数据,可以将原来看似无关的维度联系起来。我们对这些不同维度的信息进行挖掘、加工和整理,就能够获得有价值的统计规律。因此,在这个时候,数据的混杂性反而成为了大数据的优势,通过对不同维度的数据的分析,使这些维度开始出现相互交叉,数据之间的关联性获得了极大地增强,我们也因此能够获得更多的新的规律。

大数据时代

    上述呢,就是关于大数据的一些介绍。当然,看完知乎大神的分享笔者也受益匪浅。接下来也得抽点时间,看看《大数据时代》这本书了!

    大部分转载自:什么是大数据? - 小智的回答 - 知乎

上一篇下一篇

猜你喜欢

热点阅读