天天在做大数据,你的时间都花在哪了
大数据做了这许多年,有没有问过自己,大数据中,工作量最大和技术难度最高的,分别是什么呢?
我每天都在思考,思考很重要,是一个消化和不断深入的过程。正如下面的一句话:
我们从出生开始如果没思考过人生本身这件事情,一切按照社会的习惯前行,那人生是没有意义的。因为你连人生都没有想过。
那么延生出来,我们有没有想过大数据本身?大数据到底是在做什么,为什么我做了这么多年的大数据,总是做不完呢?大数据本质是:
随着科学技术发展,更多的数据能够被存储了,能被分析了。所以有了大数据的概念。
机器学习的本质是:
随着数据变多了,量变导致质变,数据足够大后其内部的隐含的规律会越来越精确和完整。机器学习则是将数据内存存在的这种隐含关联给挖掘出来的一项技术。
大数据最消耗工作量的地方是哪里呢?
目前百分之八十的工作量都在于数据收集 清理和校验。 这个工作本身并不难,但是真的很繁琐,很费力。
我们天天感叹:
数据在哪里?如何收集
数据要怎么进行清洗
无效数据太多,如何去除
而让我们心灰意冷的是当一个新的需求来临时,现有的数据形态似乎不能满足需求,我们又要在现有的数据堆里,重新走数据收集,清理,校验的流程。
这似乎是一种诅咒,如同可怜的西西弗斯,被判要将大石推上陡峭的高山,每次用尽全力,大石快要到顶时,石头就会从其手中滑脱,又得重新推回去,幹著无止境的劳动。
大数据目前遇到的最大技术难点是什么?
是海量数据的ad-hoc查询。当Hadoop刚刚兴起,我们可以通过它来操控越来越廉价的PC服务器价格,于是一种暴力弥漫了整个生态:
我们因为突然有了强大的算力,这就好比一个穷人突然有了一笔很大的钱。我们开始让强大的算力驾着最低效的程序去跑数据,这是批处理时代的悲哀。
但是随着查询效率要求越来越高,我们不得不被迫做出改变。还记得我们以前的日志都是简单的Raw文本吗? 现在各种存储的格式慢慢开花结果:
Parquet, 数砖公司大力发展的一个存储技术
ORC, Hive 常见的一种存储格式
CarbonData, 华为推出的一套可支持PB级别的数据格式
总之,我们似乎没有找到一个奇妙的技术解决查询的问题,只能做某种折中:
为了加快查询速度,数据存储慢慢从早期的raw文本转为具备向量化,带索引,支持特定编码和压缩的列式存储结构,当然这种通过调整存储结构的方式必然以消耗数据进入时的时间和资源为代价。
也就是我们在存储和查询之间做了妥协。
如何让苦力干的更少
前面我们提及了,我们可能80%的工作都花在了数据的采集,清洗和校验上了。但是我们该如何压缩这部分的工作呢?
答案是:
流式计算
流式计算上层建筑
让所有的计算流动起来,就会让下面的事情变得简单:
我们可以在已经流动的数据中的任何一个环节引入一个新的支流。当我要获取数据时,我做的本质其实就是 连接两个或者多个节点,并且在其中对数据进行转换。就如同河水,我们可以很方便的开一个支流,将水引入灌溉新的额农田。
而且我们希望流式计算的实现是结合了流式和批量语义的。为什么呢?
看看华为在Storm上做的StreamCQL,就知道,很多情况实时流式是很有局限的,因为未来我们在流式上能做的事情会非常多:
数据处理
Ad-Hoc查询
报表
存储输出
这就需要一定的灵活性,因为只有在数据集上,才会有譬如Ad-Hoc查询,才能高效的进行存储,才能适应一些机器学习算法。单条数据很多情况下,是没有太大意义的。
这块我一直是Spark Streaming的支持者。
那为啥我们需要一个流式计算上层建筑? 我们回顾下问题,数据的ETL过程是个苦力活,消耗掉大量程序员的工作时间,那么为了减少这种时间,我们有两个办法:
将做些任务分散出去,使得每个人都可做,那么在总量不变的情况下,单个人就会变少了
提高每个人的工作效率
流式计算构建了整个基础,而其上的框架则使得上面两点成为可能。
相关推荐20年以亏为主的亚马逊,连续三个季度利润暴涨,它做对了什么?没人能靠堆积时髦词汇写出好文案为增强游戏的社交性和趣味性,微软 Xbox 团队收购流媒体服务提供商 Beam群雄布局蓝领在线招聘市场:得草根者得天下?这届奥运会追热点,看这7个品牌就够了30岁跳槽与50岁跳槽有些什么不同?到底怎样工作,才能拿到高工资?6条建议送给你想让高手帮你,首先你得学会问问题
数据分析咨询请扫描二维码
数据收集与整理 - 从各种来源收集数据,清洗和整理以确保数据质量和可用性。 数据分析与建模 - 运用统计学方法和机器学习模型对 ...
2024-11-26技术技能 - 编程能力: 数据分析师需要掌握至少一门编程语言,如Python、R或SQL。这些语言对于数据处理、建模和分析至关重要。例 ...
2024-11-26数据分析领域涵盖多样性岗位,根据工作职责和技能需求划分。这些角色在企业中扮演关键角色,帮助组织制定战略、优化流程并实现商 ...
2024-11-26数据分析是一种通过收集、处理、解释和展示数据,以获得见解和决策支持的过程。这个领域涉及使用统计学、计算机科学和商业智能等 ...
2024-11-26数据分析领域正日益成为当今商业世界中不可或缺的一环。随着数据量的爆炸式增长,企业越来越需要能够从这些海量信息中提炼出宝贵 ...
2024-11-26数据分析师需要学习的课程内容非常广泛,涵盖了从基础理论到实际应用的多个方面。在追求这一职业道路上,合适的教育和培训至关重 ...
2024-11-26数据分析师作为当今信息时代中关键的职业之一,扮演着解释、预测和推动决策的重要角色。他们需要多方位技能来处理各种复杂的数据 ...
2024-11-26数据分析师在今天的商业环境中扮演着至关重要的角色。他们需要应对各种复杂的数据分析任务和业务需求,这要求他们具备广泛的技能 ...
2024-11-26在当今快速变化的技术和市场环境中,数字化转型是企业利用数字技术全面重新设计和改造业务的重要过程。这一转型旨在通过整合云计 ...
2024-11-26数字化转型: 是企业在现代技术和市场环境不断变化的背景下,利用数字技术对其业务进行全面的重新设计和改造的过程。其核心目标是 ...
2024-11-26理论基础与高级学习 数学专业理论基础: 学生首先需要掌握数学的基础理论,包括数学分析、高等代数、几何学、常微分方程、实变函 ...
2024-11-26数字化转型:现代企业蜕变的引擎 数字化转型已然成为当今企业持续发展的关键支柱。这一过程并非简单的技术升级,更是涉及企业文 ...
2024-11-26# 数据科学与大数据技术专业学什么?就业前景与行业需求 **数字化转型:引领企业进步的关键** 数字化转型是现代企业发展的必经 ...
2024-11-26理论部分 - 基础数学理论: - 学生首先需要掌握数学的基础理论,包括数学分析、高等代数、几何学、常微分方程等。 - 这些课程 ...
2024-11-26在选择数据科学和大数据技术专业时,了解不同领域的职责和技能需求至关重要。数据治理工程师是这一领域中不可或缺的角色之一,承 ...
2024-11-26基础课程 统计学基础 - 统计学是数据分析的基石,包括概率、假设检验、回归分析等基本知识,有助于理解数据背后的意义。 - ...
2024-11-26数据分析是一门综合性学科,涉及多个领域的知识和技能。要全面掌握数据分析,需要学习以下内容: 基础课程 统计学基础:统计学 ...
2024-11-26数据治理工程师在当今信息时代扮演着至关重要的角色,负责确保组织内数据的质量、安全性和可用性。他们需要具备一系列技能和才能 ...
2024-11-26在当今数字化时代,数据被誉为新的石油,是企业最有价值的资产之一。因此,建立有效的数据战略规划对于企业的成功至关重要。数据 ...
2024-11-26<section id=
2024-11-26