前言
在Hadoop生态里, Cloudera 是一家代表性公司。
这家 以 Hadoop 发明人 Doug Cutting 为首席架构师的公司,首家将Hadoop投入商用,目前全球最大10家银行中,有7家选择Cloudera的商业化版本。全球最大的10大电信公司中,有9家选择Cloudera的商业化版本。
商业上的成功,让Cloudera 在Hadoop生态里备受关注。
对于企业来说,如何基于Hadoop 打造企业大数据分析及机器学习平台?在选型中,应该关注哪些问题,为此,选型宝特邀Cloudera大中华区售前技术总监刘隶放先生进行了专业解读......。
大数据业务应用场景和用户需求
主持人:说到数据分析应用,数据仓库是以往常用的方法,如今Cloudera提出要从传统数据仓库转移到这个Hadoop大数据平台上来,请问原因是什么?
刘隶放:这个问题如果您在3~4年前问我,我给的答案会不一样。我从业至今18年了,从开始的关系型数据库做起,到现在的Hadoop平台,有一些经验可以分享给大家。
用Hadoop技术取代数据仓库,以前大家的理解都是从成本方面的考虑。传统的数据仓库,特别是数仓一体机,成本相对较为昂贵。如今,借助x86体系架构进行大数据分析,成本优势非常的明显。这就是我一开始的理解。
如今,重新思考这个问题,角度上有了很大变化,今天的Hadoop大数据平台不仅是提供了一个可扩展性的分析平台,更重要的是更多算法的涌现,类似机器学习、AI相关算法,它们更多落地在大数据平台之上。因此,Hadoop可以实现一个更加现代化的企业分析平台。
Hadoop大数据是对数据仓库方法的优化,其中主要有三方面的工作。
第一是ETL( Extract-Transform-Load,数据抽取-转换-加载)改造。以前的做法是把数据加载到数据仓库,再对数据进行抽取转换和加载(又称ELT),服务于最后的分析、报表需求。由于机器的计算能力、带宽都要留给ELT作业,如此其成本就会很高。相比,Hadoop用户的数仓优化第一选择就是把ETL这部分作业挪到数据仓库之外来解决。
第二考虑到数据仓库的价格昂贵,通常数据仓库只会保留N+1月的数据。比如保留3个月数据,外加1个月的过渡性数据,或者是6+1个月的数据,如此,超出期限的数据,需要进行离线归档。今天的做法,可以把这些数据转移到Hadoop平台处理,在近线数据的基础上,对过往数据进行再利用。
第三创建特定的数据集市,可以把基于数据仓库的主题在Hadoop平台上来实现。
往前走,今天很多中国客户不在仅仅考虑数仓优化,而是倾向把传统数据仓库用Hadoop平台来替代。这是因为数据仓库、Hadoop都是手段而不是目的,分析平台最终的目标是满足企业业务支撑和创新的需求,要在规定时间窗口(SLA)内,把所需要的报表、或者查询能够返回给应用。
主持人:从业务创新应有的角度,基于Hadoop商业版的大数据应用有哪些典型的应用案例呢?
刘隶放:如果从全行业的角度谈论大数据创新应用,这会比较困难,原因在于大数据创新应用场景实在太多了。我们可以简单举个例子,此前Cloudera梳理过我们合作伙伴在中国本地的案例,其中证券行业的大数据应用案例就有30个之多。
其中,一方面是从这个IT运维角度出发应用,如数据仓库卸载,历史数据查询,用于提升IT的这种运维能力。
另一方面也包括帮助业务部门进行创新,如大家耳熟能详的360度客户视图、客户流失分析等。这些应用能够给业务部门带来指导和帮助。证券只是金融行业的一部分。在制造、政府、零售、电信等很多行业,我们都有很多案例可以分享。
主持人:有人说机器学习最佳的承载的平台应该就是Hadoop,这个说法成立吗?
刘隶放:我觉得这应该就是一个正确的答案。在机器学习这个方面,Cloudera有很多成功案例。Hadoop是机器学习承载最好的平台。
如今AI和机器学习在国内都很流行,其中最重要的还是数据。AI应用的第一步与以前的数据仓库应用很类似,首先还是数据抽取,加工和整理。如果数据没整理好,是不能去做所谓AI和机器学习的。为此,Cloudera在机器学习方面也做了很多的探索,也提供了针对数据科学工作者的平台产品。
如今客户应用机器学习和AI,还是需要一定的方法论或者指导思想,例如怎么能够去搭建一个适用于机器学习的平台?从数据的捕获开始,到数据加工处理,Cloudera提供了一系列管理组件来帮助客户实现这一目标。
Cloudera在中国有很多机器学习的客户实践,以中联重工为例,这是一家大型机械的研发和制造商。对于这些厂商而言,设备是非常宝贵的企业资产,用户的诉求是希望能够最大限度保证其健康工作,提高整体设备效率(OEE)。对此,中联重工利用机器学习算法,对这些设备提供预测性维护,减少设备故障给企业带来损失。
我们的客户和Cloudera合作,在金融、电信和制造行业创造出很多类似有价值的案例。
主持人:传统数据仓库在应用海量数据的时候,最大的一个问题就暴露性能不足,扩展性也没有办法满足需要。这个时候,用户就需要Hadoop商用版本,那么Hadoop在性能、弹性、扩展性真的就能够解决这些问题吗?
刘隶放:我们可以借鉴一些已经成功客户的案例。例如如果某个应用特点对网络带宽要求比较高,带宽很有可能就会出现瓶颈,这时,我们就会遇到关系数据库相似的问题。如果数据分布设计不均衡,有的节点数据过多,有的节点数据很少,那也会造上述问题。
对此,建议大家能够去利用Cloudera提供的专业服务,在Hadoop应用架构、逻辑和物理设计上面设计一些指导。当然,可以强调的是:今天Cloudera可以支撑的算力,已经是传统数据仓库远远不能达到的,节点规模可以从几百个甚至上千个不等。从这个角度讲,通过系统架构调优和逻辑上设计,Hadoop平台可以实现非常好的扩展能。
主持人:Cloudera提出了混合开源软件的模式?请问这是一种什么模式?
刘隶放:Cloudera是一家开源软件的公司,因此始终坚守对开源社区的承诺。
这个承诺一个方面是能够保持先进性和优越性,能够引领这些项目不断前进。另外一方面,就是说所有跟数据相关的组件都要回馈到社区。如今,最新的Hadoop 3.0版本最核心的组件,都是Cloudera公司领衔开发。
在Hadoop社区版本3.0之后,Cloudera公司又花了将近半年的时间,推出了新的企业版。这个说明什么?说明我们首先是把所有代码先贡献到社区,然后再去做企业版,以及私有平台管理工具组件。
我们在市场上给大家提供的是专业知识能力、长期发展的平台能力。和传统软件企业不同的是,我们不会去锁定客户,如果用户觉得Cloudera服务不好,用户还是可以回到开源版本平台上,不存在兼容性方面的问题。