顽疾反复发作:大数据技术领域的九大痛点

尽管在Hadoop与NoSQL部署方面做足了准备,同样的问题仍然一次又一次反复出现。现在业界是时候尽快搞定这些麻烦事了。

有时候一艘巨轮的侧方出现了破洞,但业界却决定坐等船体下沉、并把希望寄托在销售救生艇身上。

也有些时候,这些问题似乎并没到要闹出人命的地步——类似我家里浴室的状况,只有往一边拧龙头才会出水。过一阵子我可能会找机会修理一下,但事实上这个问题已经存在了12年之久了。

而在面对大数据业务时,我可以列出九个长久以来一直令人头痛的问题,时至今日它们依然存在着并困扰着无数用户。

大数据痛点一号:GPU编程仍未得到普及

CPU的使用成本仍然较为昂贵,至少与GPU相比要贵得多。如果我们能够面向GPU开发出更理想的执行标准以及更多表现出色的驱动程序,那么相信一个新的市场将由此诞生。就目前来讲,GPU的使用成本优势并没能得到很好的体现,这是因为我们难以针对其进行编程,而且几乎没办法在不建立特定模型的前提下完成这项任务。

这种情况类似于,有些人希望编写出类似于ODBC或者JDBC的代码来处理某些高强度工作,并说服AMD或者英伟达将业务着眼点放在显卡产品之外。假设我们原本已经习惯了使用Spark实现各类计算任务,而且压根不觉得这么做有什么问题; 但仿佛在一夜之间,其他人都开始构建所谓“GPGPU”集群,这自然会让我们有点措手不及之感。

不少技术人员都开始在这方面做出探索,但要想真正让成果实现市场化,我们至少需要搞定两大竞争对手——AMD以及英伟达,也许再加上英特尔。除非它们愿意联手合作,否则如果继续像现在这样把技术保密看作市场成功的实现途径,那么问题永远也找不到理想的答案。

大数据痛点二号: 多工作负载缩放

我们拥有Docker。我们拥有Yarn。我们还拥有Spark、Tez、MapReduce以及未来可能出现的一系列技术方案。我们还拥有多种资源池化实现工具,其中包含各类不同优先级及其它设定。如果大家选择部署一个Java war文件,则可以在PaaS上进行“自动伸缩”。但如果大家希望在Hadoop上实现同样的效果,那么情况就不太一样了。

再有,存储与处理体系之间的交互该如何处理?有时候大家需要以临时性方式对存储资源进行扩展与分发。我应该有能力运行自己的“月末统计”批量任务并将Docker镜像自动部署到任意指定位置。而在我的任务完成之后,系统应当对其进行反部署,并将资源重新分配给其它工作负载。应用程序或者工作负载应该根本不需要在这方面浪费太多精力。

但目前这些要求尚无法实现。我希望大家习惯了编写Chef方案与脚本,因为这是达到以上目标的惟一办法。

大数据痛点三号: NoSQL部署更令人头痛

为什么我已经能够利用ssh与sudo将镜像导入Linux设备、为其指定Ambari并安装像Hadoop这样复杂度极高的项目,但却仍然需要在MongoDB以及大部分其它数据库的部署工作中浪费时间与精力?当然,我也可以编写Chef自动化方案,但恕我仍对此无法认同。

大数据痛点四号:查询分析器/修复器

当初在使用JBoss的时候,我曾经对Hibernate以及后来的JPA/EJB3进行过大量调试。具体来讲,主要工作包括查看日志记录、找出存在n+1类查询的位置、将其纳入join并移除可能影响运行效果的糟糕缓存配置。

但有时候情况又完全相反:我们可以将每一套需要的表添加到系统当中,但其返回速度却慢得让人抓狂。有时候,我打算在复杂程度更高的系统之上查看Oracle Enterprise Manager及其分析结果,但返回的报告却完全是一堆胡言乱语——这意味着其中存在问题。不过我可以同时着眼于两套始终共同协作的表,并据此找到分析当中存在的规律。我甚至考虑过利用编程方式解决问题。

而现在,每次对NoSQL系统进行调整时,我都会发现上述问题以不同形式表现出来:要么是跳转次数太多、要么是查询太过复杂,有时候我们的索引无法与where子句(即范围合并)相匹配。简而言之,我们将大量精力投入到了糟糕或者复杂查询的优化当中,但除了开发者培训课程、我们似乎从来不会对这些查询本身提出质疑。这套系统似乎有种魔性,它同用户的关系类似于:“嘿,你发来了这些查询,我认为它们看起来应该像这样……”

好吧,我猜很多从业者都以完成这些本可以通过自动化方式实现的工作为生。必须承认,我很庆幸自己已经渡过了基层工作时期,再也不用为这些琐事烦恼了。

大数据痛点五号: 分布式代码优化

我估计Spark当中的大量小功能及小设定会带来第四点里提到的各类问题。在编译器方面,大家可以编写优化器来检测循环内的非依赖性操作,同时自动对其进行提取与并行化调整。我在分布式计算领域经常会见到这类情况。所谓“数据科学家”们编写出的Python代码相当垃圾,根本没办法有效进行问题分配,而且会造成大量不必要的内存浪费。在这种情况下,需要由技术从牛挺身而出,尝试理解前面那位“科学家”的想法并进行优化。

问题在于,上述状况几乎跟大家在编译原理书里看到的反而实例一模一样。我猜随着技术的不断发展,未来Zeppelin甚至是Spark本身会站出来帮助大家修复糟糕的代码,并保证其与集群顺畅协作。

大数据痛点六号:分布式名不副实

我得承认,我对Hadoop的第一印象就是在Hive当中输入select count(*) from somesmalltable。我觉得这种使用方式真的非常差劲。大家会发现其中存在问题,并意识到其分布效果并不理想。有些朋友甚至不必参考其它数据(例如行数)就能发现我们没办法实现负载分布。通常来讲,这些只是整体工作当中的一部分(例如查找表),但无论我们实际使用的是Hive、Spark、HDFS还是YARN,其都会首先假设所有问题都已经得到切实分发。其中部分工作需要尽可能避免被分发,因为这样能使其运行速度更快。最让我受不了的就是用select * from thousandrowtable这样的操作拖慢MapReduce任务的运行速度。

大数据痛点七号:机器学习映射

在具体实例当中,我们都能轻松分清集群化问题、聚类问题或者其它一些归类工作。但似乎没人愿意解决真正有难度的部分——对业务体系中的常见部分进行映射、描述问题并通过描述映射找到应当使用的具体算法。

除了金融行业之外,只有10%到30%的企业能够保持有不同于行业常规情况的特色——换言之,我们可以将销售、市场推广、库存、劳动力等因素映射至一套通用模型,而后描述出适合使用的算法。这项工作不仅会改变我们处理业务的方式,同时也能极大扩展市场的整体规模。我们可以将其视为一种面向大数据的设计模式,只不过其更多是在强调业务方面的内容。

大数据痛点八号:安全性

首先,为什么我们只能通过Kerberos实现单点登录?云Web环境之下根本没有类似于Kerberos的方案可用。

其次,厂商之间奇怪的竞争方式对Hadoop造成了极大的扭曲,而这对任何人都不是件好事。在涉及到基础性身份验证及授权层面时,我们不得不使用两套完全不同的堆栈,才能为Hadoop的全部组成部分提供安全性支持。加密方面的产品竞争我还可以理解(各类方案都在以更小、更快、更强为发展目标),但无论是选择Ranger、Sentry或者是其它什么方案,为什么我们就不能拥有一套足以涵盖全部Hadoop项目的验证机制?公平地讲,大数据领域目前的状况比NoSQL还要糟糕; 随便拉来一家宣称“我们热爱开源”的企业都能在自己“企业级”专用版本的LDAP集成部分当中塞进几百行开源代码。

大数据痛点九号:提取、转换与加载

提取、转换与加载(简称ETL)可以说是每个大数据项目当中悄无声息的预算杀手。我们都很清楚自己到底需要利用大数据技术做些什么,但相较于将注意力集中在业务需求身上,现在我们首先得搞定Flume、Oozie、Pig、Sqoop以及Kettle等等。之所以面临这样的情况,是因为我们的原始数据往往处于混乱的状态。但真正令人惊讶的是,没有哪家厂商愿意拿出一套无缝化处理方案来。虽然解决这类问题没办法让你拿到诺贝尔奖,但却能够切实帮助到广大大数据技术用户。

大家在实际使用中遇到过哪些令人头痛的大数据技术难题?请在评论栏中写下你的“抱怨”。

本文作者:核子可乐译

来源:51CTO

时间: 2025-01-27 20:59:09

顽疾反复发作:大数据技术领域的九大痛点的相关文章

与主流同行,参加2014中国大数据技术大会的十大理由(议题攻略)

从2008年仅60人参加的技术沙龙到当下的数千人技术盛宴,作为业内极具实战价值的专业交流平台,已经成功举办七届的中国大数据技术大会忠实地描绘了大数据领域内的技术热点,沉淀了行业实战经验,见证了整个大数据生态圈技术的发展与演变. 12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所与CSDN共同协办的2014中国大数据技术大会(Big Data Technology Conference 2014,BDTC 2014)将在北京新云南皇冠假日酒店如

不可错过,参加2016中国大数据技术大会的十大理由(议题攻略)

作为国内大数据领域的顶级大会,中国大数据技术大会从2008年至今已近十年,超过一万名大数据开发者参与其中,完整地见证了中国大数据技术与应用的变革,忠实地描绘了大数据领域内的技术热点,沉淀了无数极具价值的行业实战经验,见证了整个大数据生态圈技术的发展与演变.历经九届的中国大数据技术大会由于其专业性.技术性,已经成为国内外大数据领域的顶级盛会,也因此受到大数据开发者的强烈关注. BDTC 2016中国大数据技术大会 2016年12月8日-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会

指引大数据未来方向的九大真理

文章讲的是指引大数据未来方向的九大真理,笔者总会时不时沉浸在对大数据原则的思索当中,这里讨论的并不是Hadoop与关系数据库或者Mahout与Weka的对抗,而是更具根源性的智慧--将数据作为"新时代货币"的思维方式.不过也许将数据描述成"新时代的石油"更加贴近,或者,我们还需要一种新的比喻更全面地诠释数据的价值与内涵. 比喻本身既非事实也难以证明,但它们确实能够创造出指引我们找到真理的话题.比喻让复杂的概念变得更易理解,正如本文中所引用的经典语录--它们有助于解释

解读云计算、大数据、物联网等九大IT技术发展趋势

不到一个月的时间就要到了2014年,很多人开始回顾和总结自己的2013年.在IT行业,市场研究公司IDC预测了该领域的九大技术:云计算.大数据.平板电脑的兴起.物联网等. 1. 个人和企业等将在技术上花费21000亿美元 IDC称,全球IT支出将在明年增长5%,至2.1万亿美元.在2014年很多个人和企业的购买方向将不再是单一的PC,而是更侧重于移动设备的投资.就单单智能手机和平板电脑方面,将会出现15%的增长.另外很多公司将会加强自身的数据安全以及采购新的硬件设备与移动设备搭配起来使用.他们需

NEC大数据技术,可实现大范围监控目标分析

近日,NEC开发出一种http://www.aliyun.com/zixun/aggregation/13568.html">大数据技术,可运用到需要人脸识别.人物检索等高精度视频分析功能的监控摄像系统中,通过自动调节监控频率,在一台服务器上的处理能力将是从前的3倍. 在验证试验中,对人脸.服装等人物特征以及各种可疑行为进行分析的视频监视系统,在应用了NEC的大范围视频处理技术后,于一台服务器上可分析30台摄像头的数据,是原来的3倍,这意味着在服务器等硬件不变的情况下,应用NEC该技术,监

大数据技术在发展 挑战与机遇并存

大数据技术是在传统数据处理手段无法应对海量数据的实时需求的情况下,采用新的信息技术来应对大数据爆发进行数据处理的技术.大数据技术一般可以包括基础架构支持.数据采集.数据存储.数据计算和数据展现交互等. 大数据技术的分类 大数据技术涵盖的范围十分广阔.基础架构支持方面主要包括了支撑大数据处理的基础架构级数据中心管理.云计算平台.云存储设备及技术.网络技术.资源监控等技术.而为了处理数据,则需要有大规模物理资源的云数据中心和具备高效的调度管理功能的云计算平台的支撑. 数据采集技术方面包含了数据采集的

【资料合集】在线大数据技术峰会:讲义PDF+活动视频!

回顾大数据技术领域大事件,最早可追溯到2006年Hadoop的正式启动,而环顾四下,围绕着数据库及数据处理引擎,业内充斥着各种各样的大数据技术.这是个技术人的好时代,仅数据库领域热门DB就有300+,围绕着Hadoop生态圈的大数据处理技术更是繁花似锦.然而着眼当下,大数据在行业内的实际落地仍然不是件简单的事情,大数据创业成功的案例更是少之又少. 1. MaxCompute 2.0 性能优化揭秘 演讲视频:http://yq.aliyun.com/webinar/play/188 PDF下载:h

盘点九种引人瞩目的开源大数据技术

本文讲的是盘点九种引人瞩目的开源大数据技术,越来越多的公司开始聚焦于大数据技术领域,而开源恰恰是大数据技术的灵魂.以下将为您介绍九大引人注目的开源大数据技术,请拭目以待: 1.Apache Hadoop Apache hadoop是一个开源的分布式计算框架,最初由Doug为支持其开源Web搜索引擎Nutch所创立.通过集成MapReduce技术,Hadoop将大数据分布到多个数据节点上进行处理.Hadoop遵循Apache 2.0许可证,可以轻松处理结构化.半结构化和非结构化数据,一举成为现在非

引领大数据技术创新 加快大数据产业聚集

在近日公布的全市2015年度绩效目标考核中,高新区斩获开发区类一等奖,在各大开发区中排名第一. "这得益于近年来市委.市政府坚持围绕创新做文章,确立大数据这一主导产业,先人一步.棋高一筹,帮我们摆脱了'路径依赖',找准了发展方向.发展路子."高新区党工委副书记.管委会主任黄昌祥说,高新区将以此为新的起点,抓住大数据这个核心,引领大数据技术创新,加快大数据产业聚集,全力打造创新型中心城市示范区. 走好"先手棋"发展新业态 前不久,朗玛信息技术股份有限公司披露,从201