企业可以利用Hadoop以及所有与它相关的技术设计大数据环境,以满足其特定的需求。但把所有的技术集成在一起并不是一件容易的事。
IT团队寻求构建大数据架构时有大量的技术可供选择,他们可以混合搭配各种技术以满足数据处理和分析需求。但是有一个问题存在:把所有需要的技术框架组合到一起是一项艰巨的任务。
在不断扩展的Hadoop生态系统中,选择和部署合适的大数据技术是一个长期反复的过程,周期要以年计。除非公司管理者愿花大量财力和资源来加速推动项目。选择技术的过程中有失误判断是很常见的,一家公司的架构蓝图不一定适用于另一家组织,即便是完全相同的行业也不行。
Bryan Lari是美国德克萨斯州大学MD安德森癌症研究中心(位于休斯顿)研究分析主任,他说:“我经常跟人说,这不是像你在亚马逊下个订单或者从苹果商店买个东西那么简单的事。这是一件复杂的事,它需要一个过程。我们在半年或者一年之内是做不完的。这也不是可以套用公式就能应用的技术,尽管有很多案例或者用户有成功经验,但我们也可能用不同的工具来满足我们的需求。”
MD安德森的大数据环境集中在Hadoop集群中,在三月份的时候投入了生产环境,初步打算用来处理病人房间监视设备传输回来的重要信号数据。不过,数据湖平台还包括HBase(与Hadoop配合的NoSQL数据库),Hive(Hadoop支持SQL的软件),还有各种其他Apache开源技术,例如:Pig、Sqoop、Oozie和Zookeeper。此外,这家癌症治疗和研究组织还部署了Oracle数据仓库作为信息库来支持分析和报表应用,还有IBM的Watson认知计算系统提供自然语言处理和机器学习功能。未来出现新的数据可视化、治理和安全工具也必然会参与进来。
MD安德森癌症中心的IT团队在2015年初就开始使用Hadoop。为了演示可能的应用情况同时熟悉该技术,该中心首先使用基本的Apache Hadoop软件构建了试点集群环境。后来,他们部署了Hadoop Hortonworks分布式架构用于生产环境。
Vamshi Punugoti是MD安德森癌症中兴研究信息系统的副主任,他说从这次试点项目中得到的经验可以使他们处理架构调整更容易。随着新的大数据工具出现,总会有调整架构的可能性,一定需要功能增强或者替换组件。Punugoti说:“这是个持续更新的过程,包括我们收集到的数据都在不断变化着。如果我们认为(现有架构)可以处理一切那就太天真了。”
演进更好的架构
Uber平台工程师团队花了大约一年时间设计了多层大数据架构,但是这么多技术组件搭建的有点仓促。Uber公司Hadoop团队高级工程师Vinoth Chandar说,该公司的现有系统跟不上业务运营带来的快速增长的数据量。结果,大部分数据不能进行实时分析,Chandar认为这对于Uber公司倡导实质性“实时叫车”理念来说是个大问题。
为了帮助运营经理实现数据驱动,Chandar和他的同事们搭建了Hadoop数据湖环境,其中包括HBase、Hive、Spark处理引擎、Kafka消息队列系统,还有其它一些技术。其中一些技术是内部构建的,例如:有一款数据提取工具Streamific。
有了该架构之后,Uber公司将追赶大数据和分析的艺术状态。但是,这并不是容易做到的。他半开玩笑地补充说:“为了把这些技术组件整合到一起,我们十个人几乎一年没有睡觉。”
架构的挑战对于组织来说可不是闹着玩的。Gartner咨询公司预测,到2018年,70%的Hadoop部署将无法实现他们节约成本和收入增长的目标,主要原因是技能不足和技术整合困难。Gartner公司分析师Merv Adrian说,整合障碍还在加剧,Hadoop分发商与大数据技术有关的数字还在稳步攀升,这代表了部署Hadoop的公司对Hadoop技术支持的需求量趋势。
在2016年太平洋西北地区BI峰会上,Adrian列举了46种Hadoop相关的开源技术创新,这些产品都是由一家或者多家分发商提供支持服务的。但是,要把这些组件放到大数据架构中却是留给使用方的工作。“大多数Hadoop项目都像是艺术工作,我们都要把这些技术组件整合到一起使用。”
执行过程中的变化
这种整合拼凑工作是非常艰巨的任务,即便Hadoop不是框架中的一部分。Celtra公司提供了一个平台可以设计在线显示和视频广告,有几部分已经在基于云的处理架构中陆续部署了,现在正把Spark及其SQL模块整合到Amazon简单存储服务(S3)、MySQL关系型数据库和Snowflake计算的数据仓库系统。