科技网

当前位置: 首页 >自媒体

天天在做大数据你的时间都花在哪了

自媒体
来源: 作者: 2019-04-19 05:59:18

大数据做了这许多年,有没有问过自己,大数据中,工作量最大和技术难度最高的,分别是什么呢?

 

 

我每天都在思考,思考很重要,是一个消化和不断深入的进程。正如下面的一句话:

 

我们从出身开始如果没思考过人生本身这件事情,一切按照社会的习惯前行,那人生是没有意义的。因为你连人生都没有想过。

 

那末延生出来,我们有没有想过大数据本身?大数据到底是在做甚么,为何我做了这么多年的大数据,总是做不完呢?大数据本质是:

 

随着科学技术发展,更多的数据能够被存储了,能被分析了。所以有了大数据的概念。

 

机器学习的本质是:

 

随着数据变多了,量变致使质变,数据足够大后其内部的隐含的规律会愈来愈精确和完全。机器学习则是将数据内存存在的这种隐含关联给发掘出来的一项技术。

 

大数据最消耗工作量的地方是哪里呢?

 

目前百分之八十的工作量都在于数据收集 清算和校验。 这个工作本身并不难,但是真的很繁琐,很费力。

 

我们天天感叹:

 

数据在哪里?如何搜集

数据要怎样进行清洗

无效数据太多,如何去除

而让我们心灰意冷的是当一个新的需求来临时,现有的数据形态仿佛不能满足需求,我们又要在现有的数据堆里,重新走数据搜集,清理,校验的流程。

 

这似乎是一种诅咒,如同可怜的西西弗斯,被判要将大石推上陡峭的高山,每次用尽全力,大石快要到顶时,石头就会从其手中滑脱,又得重新推回去,幹著无止境的劳动。

 

大数据目前遇到的最大技术难点是什么?

 

是海量数据的ad-hoc查询。当Hadoop刚刚兴起,我们可以通过它来操控愈来愈廉价的PC服务器价格,于是一种暴力弥漫了全部生态:

 

我们由于突然有了强大的算力,这就好比一个穷人突然有了一笔很大的钱。我们开始让强大的算力驾着最低效的程序去跑数据,这是批处理时代的悲哀。

 

但是随着查询效率要求愈来愈高,我们不能不被迫做出改变。还记得我们之前的日志都是简单的Raw文本吗? 现在各种存储的格式渐渐开花结果:

 

Parquet, 数砖公司大力发展的一个存储技术

ORC, Hive 常见的一种存储格式

CarbonData, 华为推出的一套可支持PB级别的数据格式

总之,我们仿佛没有找到一个奇妙的技术解决查询的问题,只能做某种折中:

 

为了加快查询速度,数据存储渐渐从早期的raw文本转为具有向量化,带索引,支持特定编码和压缩的列式存储结构,固然这类通过调剂存储结构的方式必然以消耗数据进入时的时间和资源为代价。

 

也就是我们在存储和查询之间做了让步。

 

如何让苦力干的更少

 

前面我们提及了,我们可能80%的工作都花在了数据的收集,清洗和校验上了。但是我们该如何紧缩这部分的工作呢?

 

答案是:

 

流式计算

流式计算上层建筑

让所有的计算活动起来,就会让下面的事情变得简单:

 

我们可以在已活动的数据中的任何一个环节引入一个新的支流。当我要获取数据时,我做的本质其实就是 连接两个或多个节点,并且在其中对数据进行转换。就犹如河水,我们可以很方便的开一个支流,将水引入灌溉新的额农田。

 

而且我们希望流式计算的实现是结合了流式和批量语义的。为什么呢?

 

看看华为在Storm上做的StreamCQL,就知道,很多情况实时流式是很有局限的,由于未来我们在流式上能做的事情会非常多:

 

数据处理

Ad-Hoc查询

机器学习

报表

存储输出

这就需要一定的灵活性,由于只有在数据集上,才会有比如Ad-Hoc查询,才能高效的进行存储,才能适应一些机器学习算法。单条数据很多情况下,是没有太大意义的。

 

这块我一直是Spark Streaming的支持者。

 

那为啥我们需要一个流式计算上层建筑? 我们回顾下问题,数据的ETL进程是个苦力活,消耗掉大量程序员的工作时间,那么为了减少这种时间,我们有两个办法:

 

将做些任务分散出去,使得每个人都可做,那末在总量不变的情况下,单个人就会变少了

提高每个人的工作效率

流式计算构建了整个基础,而其上的框架则使得上面两点成为可能。

用来治牛皮癣的中医疗法都是啥
前列腺囊肿的治疗方法有哪些
沈阳治疗牛皮癣好的医院

相关推荐