怎样搭建企业大数据平台?

2024-05-17

1. 怎样搭建企业大数据平台?

步骤一:开展大数据咨询
规划合理的统筹规划与科学的顶层设计是大数据建设和应用的基础。通过大数据咨询规划服务,可以帮助企业明晰大数据建设的发展目标、重点任务和蓝图架构,并将蓝图架构的实现分解为可操作、可落地的实施路径和行动计划,有效指导企业大数据战略的落地实施。
步骤二:强化组织制度保障
企业信息化领导小组是企业大数据建设的强有力保障。企业需要从项目启动前就开始筹备组建以高层领导为核心的企业信息化领导小组。除了高层领导,还充分调动业务部门积极性,组织的执行层面由业务部门和IT部门共同组建,并确立决策层、管理层和执行层三级的项目组织机构,每个小组各司其职,完成项目的具体执行工作。
步骤三:建设企业大数据平台
基于大数据平台咨询规划的成果,进行大数据的建设和实施。由于大数据技术的复杂性,因此企业级大数据平台的建设不是一蹴而就,需循序渐进,分步实施,是一个持续迭代的工程,需本着开放、平等、协作、分享的互联网精神,构建大数据平台生态圈,形成相互协同、相互促进的良好的态势。
步骤四:进行大数据挖掘与分析
在企业级大数据平台的基础上,进行大数据的挖掘与分析。随着时代的发展,大数据挖掘与分析也会逐渐成为大数据技术的核心。大数据的价值体现在对大规模数据集合的智能处理方面,进而在大规模的数据中获取有用的信息,要想逐步实现这个功能,就必须对数据进行分析和挖掘,通过进行数据分析得到的结果,应用于企业经营管理的各个领域。
步骤五:利用大数据进行辅助决策
通过大数据的分析,为企业领导提供辅助决策。利用大数据决策将成为企业决策的必然,系统通过提供一个开放的、动态的、以全方位数据深度融合为基础的辅助决策环境,在适当的时机、以适当的方式提供指标、算法、模型、数据、知识等各种决策资源,供决策者选择,最大程度帮助企业决策者实现数据驱动的科学决策。
关于怎样搭建企业大数据平台,青藤小编就和您分享到这里了。如果你对大数据工程有浓厚的兴趣,希望这篇文章能够对你有所帮助。如果您还想了解更多数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

怎样搭建企业大数据平台?

2. 大数据平台是什么?什么时候需要大数据平台?如何建立大数据平台?

1、大数据平台目前业界也没有统一的定义,但一般情况下,使用了Hadoop、Spark、Storm、Flink等这些分布式的实时或者离线计算框架,建立计算集群,并在上面运行各种计算任务,这就是通常理解上的大数据平台。
2、至于一家企业什么时候需要大数据平台,这取决于这么几方面:
业务需求:业务需求引导是必须的,不能光为了建平台而建平台,建立平台的最终目的是为了服务业务,让业务发展的更好。企业内大数据平台一般是信息管理部门、IT部门承建并承接一些数据需求,业务部门其实不关心你是不是用大数据平台还是用Oracle数据库计算出来的,那么这怎么评估呢?其实主要还是数据量,比如业务部门是不是偶尔会提“去年全年的XX怎么样?”、“去年全年的销售按照渠道、产品类别几个维度进行细分”、“需要用户行为数据、订单数据结合来做用户画像”、“需要给用户打标签”、“设备传感器的数据都有了,需要做实时的故障预测”等等,在承接各种业务需求的时候,是不是偶尔会出现任务运行很久的情况?会不会出现有些需求根本难以实现,因为计算量太大的问题?这就说明,业务上已经有大数据的诉求了,技术上并没有满足。
说到业务需求,企业内的信息管理部门也要注意,自己不能光承担需求,更重要的是要深入业务,理解业务,本部门对技术了解,如果对业务也多了解一下,就能够利用技术优势做到“想业务部门所未想”,实现比业务部门能提出更好的需求,并且能用大数据技术实现这个需求,这时候,信息管理部门的价值就更突出了,在企业内就再也不是一个承接需求或者背锅的部门了。
数据量与计算量:涉及到数据量的评估,也包括2方面:
现有的情况:现在有多少数据?都存储在哪里?业务部门提的各种指标需求,每天需要多长时间计算完成?每天什么时候完成昨天经营情况的数据更新?
增长的情况:每天、每周、每个月的数据增量有多少?按照这个增速,现有的配置还能满足多长时间的需求?
以上2个方面需要综合评估,现有数据量较多或者增长较快,那就需要做大数据平台的打算了。
先进性:本企业在技术上的布局是否需要一定前瞻性?需要早在数据量不太大的时候就进行技术探索?亦或是未来会上马新项目,新项目会产生大量数据。
公有云与私有云的选择:如果企业对公有云比较接受,其实可以考虑直接数据上公有云,公有云在国内主要就是阿里云、腾讯云、百度云等,其中阿里云的技术最为成熟,此外还有亚马逊的AWS等,但这里说的是搭建自己的大数据平台,就不深入展开了。
3、如何搭建大数据平台
建设一个大数据平台不是一朝一夕能完成的,不是下载安装几个开源组件那么简单。
涉及到:
技术层面:如何进行系统架构设计?集群资源如何评估?需要哪些组件?Hadoop、Spark、Tez、Storm、Flink,这些组件有什么区别?它们之间如何有机的组合起来?
团队层面:现有的技术团队配比如何?有没有人力搭建并且运维这个平台?有没有能力运营好这个平台?
对于非常重视主营业务的传统企业,信息技术部门的团队规模一般比较有限,建设一个大数据平台的成本是很高的,这个成本不仅是经济成本,还包括人才投入的成本、时间消耗的成本等等,如何能快速满足企业的大数据平台需求。这时候就可以考虑直接采购商用的大数据平台。

商用的大数据平台,市场上也有很多可以选择,比如星环、华为,此外还有袋鼠云数栈。
数栈的目标是通过产品化的方式,帮助企业构建数据共享能力中心。数栈不仅仅是一个大数据平台,同时附加各类数据处理工具,包括:
开发套件:一站式大数据开发平台,帮助企业快速完全数据中台搭建
数据质量: 对过程数据和结果数据进行质量校验,帮助企业及时发现数据质量问题
数据地图: 可视化的数据资产中心,帮助企业全盘掌控数据资产情况和数据的来源去向
数据模型: 使企业数据标准化,模型化,帮助企业实现数据管理规范化
数据API: 快速生成数据API、统一管理API服务,帮助企业提高数据开放效率

主要特点有:
1.一站式。一站式数据开发产品体系,满足企业建设数据中台过程中的多样复杂需求。
2.兼容性强。支持对接多种计算引擎,兼容离线&实时任务开发。
3.开箱即用。基于Web的图形化操作界面,开箱即用,快速上手。
4.性价比高。满足中小企业数据中台建设需求,降低企业投入成本。

有了数栈,企业搭建数据平台就不再是什么问题,核心需求也就会从搭建数据平台转为满足更多的业务诉求,实现真正的企业数据共享能力中心

3. 创建大数据项目的五大步骤

创建大数据项目的五大步骤
企业需要积极的提升他们的数据管理能力。这并非意味着他们应该制定繁琐的流程和监督机制。明智的企业会配合他们的数据活动的生命周期制定灵活的流程和功能:根据业务需求启动更轻更严格、更强大的功能,并根据需求的增加来提升质量或精度。
    一些企业正在利用新兴技术来应对新的数据源,但大多数企业仍然面临着需要努力管理好他们已经掌握或者应当掌握的数据信息的困境,而当他们试图部署大数据功能时,发现自己还需要面对和处理新的以及当下实时的数据。
 为了能够实现持久成功的大数据项目,企业需要把重点放在如下五个主要领域。
    1、确立明确的角色分工和职责范围。
    对于您企业环境中的所有的数据信息,您需要对于这些数据信息所涉及的关键利益相关者、决策者有一个清晰的了解和把控。当数据信息在企业的系统传输过程中及其整个生命周期中,角色分工将发生变化,而企业需要对这些变化有一个很好的理解。当企业开始部署大数据项目之后,务必要明确识别相关数据的关键利益相关者,并做好这些数据信息的完善和迭代工作。
    2、加强企业的数据治理和数据管理功能。
    确保您企业的进程足够强大,能够满足和支持大数据用户和大数据技术的需求。进程可以是灵活的,并应充分考虑到业务部门和事务部门的需求,这些部门均伴有不同程度的严谨性和监督要求。
    确保您企业的参考信息架构已经更新到包括大数据。这样做会给未来的项目打好最好的使用大数据技术和适当的信息管理能力的基础。
    确保您企业的元数据管理功能足够强大,能够包括并关联所有的基本元数据组件。随着时间的推移,进行有序的分类,满足业务规范。
    一旦您开始在您企业的生产部门推广您的解决方案时,您会希望他们长期持续的使用该解决方案,所以对架构功能的定义并监督其发挥的作用是至关重要的。确保您企业的治理流程包括IT控制的角色,以帮助企业的利益相关者们进行引导项目,以最佳地利用这些数据信息。其还应该包括您企业的安全和法务团队。根据我们的经验,使用现有的监督机制能够达到最佳的工作状态,只要企业实施了大数据应用,并专注于快速在进程中处理应用程序,而不是阻碍进程的通过。
    3、了解环境中的数据的目的和要求的精度水平,并相应地调整您企业的期望值和流程。
    无论其是一个POC,或一个已经进入主流业务流程的项目,请务必确保您对于期望利用这些数据来执行什么任务,及其质量和精度处于何种级别有一个非常清晰的了解。这种方法将使得企业的项目能够寻找到正确的数据来源和利益相关者,以更好地评估这些数据信息的价值和影响,进而让您决定如何最好地管理这些数据信息。更高的质量和精度则要求更强大的数据管理和监督能力。
    随着您企业大数据项目的日趋成熟,考虑建立一套按照数据质量或精确度分类的办法,这将使得数据用户得以更好的了解他们所使用的是什么,并相应地调整自己的期望值。例如,您可以使用白色、蓝色或金色来分别代表原始数据、清理过的数据,经过验证可以有针对性的支持分析和使用的数据。有些企业甚至进一步完善了这一分类方法:将数据从1到5进行分类,其中1是原始数据,而5是便于理解,经过整理的、有组织的数据。
    4、将对非结构化的内容的管理纳入到您企业的数据管理能力。
    非结构化数据一直是企业业务运营的一部分,但既然现在我们已经有了更好的技术来探索,分析和这些非结构化的内容,进而帮助改善业务流程和工业务洞察,所以我们最终将其正式纳入我们的数据管理是非常重要的。大多数企业目前都被困在了这一步骤。
    数据库中基本的、非结构化的数据是以评论的形式或者自由的形式存在的,其至少是数据库的一部分,应该被纳入到数据管理。但挖掘这些数据信息则是非常难的。
    数字数据存储在传统的结构化数据库和业务流程外,很少有许多的治理范围分组和数据管理的实现,除了当其被看作是一个技术问题时。一般来说,除了严格遵守相关的安全政策,今天的企业尚未对其进行真正有效的管理。当您的企业开始大跨步实现了大数据项目之后,您会发现这一类型的数据信息迅速进入了您需要管理的范畴,其输出会影响您企业的商业智能解决方案或者甚至是您企业的业务活动。积极的考虑将这些数据纳入到您企业的数据管理功能的范围,并明确企业的所有权,并记录好这些数据信息的诸如如何使用、信息来源等等资料。
    不要采取“容易的轻松路线”,单纯依靠大数据技术是您企业唯一正式的非结构化数据管理的过程。随着时间的推移,企业将收集越来越多的非结构化数据,请务必搞清楚哪些数据是好的,哪些是坏的,他们分别来自何处,以及其使用是否一致,将变得越来越重要,甚至在其生命周期使用这个数据都是至关重要的。
    要保持这种清晰,您可以使用大数据和其他工具,以了解您企业所收集的数据信息,确定其有怎样的价值,需要怎样的管理,这是至关重要的。大多数进入您企业的大数据系统的非结构化数据都已经经过一些监控了,但通常是作为一个BLOB(binarylargeobject)二进制大对象和非结构化的形式进行的。随着您的企业不断的在您的业务流程中“发掘”出这一类型的数据,其变得更加精确和有价值。其可能还具有额外的特点,符合安全,隐私或法律和法规的元素要求。最终,这些数据块可以成为新的数据元素或添加到现有的数据,但您必须有元数据对其进行描述和管理,以便尽可能最有效地利用这些数据。
    5、正式在生产环境运行之前进行测试。
    如果您的企业做的是一次性的分析或完整的一次性的试点,这可能并不适用于您的企业,但对大多数企业来说,他们最初的大数据工作将迅速发展,他们找到一个可持续利用他们已经挖掘出的极具价值的信息的需求。这意味着需要在您的沙箱环境中进行测试,然后才正式的在您的生产环境运。

创建大数据项目的五大步骤

4. 大数据平台建设有哪些步骤以及需要注意的问题

大数据平台的搭建步骤:
1、linux系统安装    一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。2、分布式计算平台/组件安装  国内外的分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方)。2)开源组件一般免费,学习和维护相对方便。3)开源组件一般会持续更新,提供必要的更新服务『当然还需要手动做更新操作』。4)因为代码开源,若出bug可自由对源码作修改维护。3、数据导入数据导入的工具是Sqoop。用它可以将数据从文件或者传统数据库导入到分布式平台『一般主要导入到Hive,也可将数据导入到Hbase』。4、数据分析数据分析一般包括两个阶段:数据预处理和数据建模分析。数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。5、结果可视化及输出API可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。要基于大数据平台做展示,会需要用到ElasticSearch和Hbase。Hbase提供快速『ms级别』的行查找。 ElasticSearch可以实现列索引,提供快速列查找。 大数据平台搭建中的主要问题1、稳定性 Stability 理论上来说,稳定性是分布式系统最大的优势,因为它可以通过多台机器做数据及程序运行备份以确保系统稳定。但也由于大数据平台部署于多台机器上,配置不合适,也可能成为最大的问题。 2、可扩展性 Scalability 如何快速扩展已有大数据平台,在其基础上扩充新的机器是云计算等领域应用的关键问题。在实际2B的应用中,有时需要增减机器来满足新的需求。如何在保留原有功能的情况下,快速扩充平台是实际应用中的常见问题。 

5. 如何创建一个大数据平台

  所谓的大数据平台不是独立存在的,比如百度是依赖搜索引擎获得大数据并开展业务的,阿里是通过电子商务交易获得大数据并开展业务的,腾讯是通过社交获得大数据并开始业务的,所以说大数据平台不是独立存在的,重点是如何搜集和沉淀数据,如何分析数据并挖掘数据的价值。

  我可能还不够资格回答这个问题,没有经历过一个公司大数据平台从无到有到复杂的过程。不过说说看法吧,也算是梳理一下想法找找喷。
  这是个需求驱动的过程。
曾经听过spotify的分享,印象很深的是,他们分享说,他们的hadoop集群第一次故障是因为,机器放在靠窗的地方,太阳晒了当机了(笑)。从简单的没有机房放在自家窗前的集群到一直到现在复杂的数据平台,这是一个不断演进的过程。
对小公司来说,大概自己找一两台机器架个集群算算,也算是大数据平台了。在初创阶段,数据量会很小,不需要多大的规模。这时候组件选择也很随意,Hadoop一套,任务调度用脚本或者轻量的框架比如luigi之类的,数据分析可能hive还不如导入RMDB快。监控和部署也许都没时间整理,用脚本或者轻量的监控,大约是没有ganglia、nagios,puppet什么的。这个阶段也许算是技术积累,用传统手段还是真大数据平台都是两可的事情,但是为了今后的扩展性,这时候上Hadoop也许是不错的选择。
当进入高速发展期,也许扩容会跟不上计划,不少公司可能会迁移平台到云上,比如AWS阿里云什么的。小规模高速发展的平台,这种方式应该是经济实惠的,省了运维和管理的成本,扩容比较省心。要解决的是选择平台本身提供的服务,计算成本,打通数据出入的通道。整个数据平台本身如果走这条路,可能就已经基本成型了。走这条路的比较有名的应该是netflix。
也有一个阶段,你发现云服务的费用太高,虽然省了你很多事,但是花钱嗖嗖的。几个老板一合计,再玩下去下个月工资发布出来了。然后无奈之下公司开始往私有集群迁移。这时候你大概需要一群靠谱的运维,帮你监管机器,之前两三台机器登录上去看看状态换个磁盘什么的也许就不可能了,你面对的是成百上千台主机,有些关键服务必须保证稳定,有些是数据节点,磁盘三天两头损耗,网络可能被压得不堪重负。你需要一个靠谱的人设计网络布局,设计运维规范,架设监控,值班团队走起7*24小时随时准备出台。然后上面再有平台组真的大数据平台走起。
然后是选型,如果有技术实力,可以直接用社区的一整套,自己管起来,监控部署什么的自己走起。这个阶段部署监控和用户管理什么的都不可能像两三个节点那样人肉搞了,配置管理,部署管理都需要专门的平台和组件;定期Review用户的作业和使用情况,决定是否扩容,清理数据等等。否则等机器和业务进一步增加,团队可能会死的很惨,疲于奔命,每天事故不断,进入恶性循环。
当然有金钱实力的大户可以找Cloudera,Hortonworks,国内可以找华为星环,会省不少事,适合非互联网土豪。当然互联网公司也有用这些东西的,比如Ebay。
接下去你可能需要一些重量的组件帮你做一些事情。
比如你的数据接入,之前可能找个定时脚本或者爬log发包找个服务器接收写入HDFS,现在可能不行了,这些大概没有高性能,没有异常保障,你需要更强壮的解决方案,比如Flume之类的。
你的业务不断壮大,老板需要看的报表越来越多,需要训练的数据也需要清洗,你就需要任务调度,比如oozie或者azkaban之类的,这些系统帮你管理关键任务的调度和监控。
数据分析人员的数据大概可能渐渐从RDBMS搬迁到集群了,因为传统数据库已经完全hold不住了,但他们不会写代码,所以你上马了Hive。然后很多用户用了Hive觉得太慢,你就又上马交互分析系统,比如Presto,Impala或者SparkSQL。
你的数据科学家需要写ML代码,他们跟你说你需要Mahout或者Spark MLLib,于是你也部署了这些。
至此可能数据平台已经是工程师的日常工作场所了,大多数业务都会迁移过来。这时候你可能面临很多不同的问题。
比如各个业务线数据各种数据表多的一塌糊涂,不管是你还是写数据的人大概都不知道数据从哪儿来,接下去到哪儿去。你就自己搞了一套元数据管理的系统。
你分析性能,发现你们的数据都是上百Column,各种复杂的Query,裸存的Text格式即便压缩了也还是慢的要死,于是你主推用户都使用列存,Parquet,ORC之类的。
又或者你发现你们的ETL很长,中间生成好多临时数据,于是你下狠心把pipeline改写成Spark了。
再接下来也许你会想到花时间去维护一个门户,把这些零散的组件都整合到一起,提供统一的用户体验,比如一键就能把数据从数据库chua一下拉到HDFS导入Hive,也能一键就chua一下再搞回去;点几下就能设定一个定时任务,每天跑了给老板自动推送报表;或者点一下就能起一个Storm的topology;或者界面上写几个Query就能查询Hbase的数据。这时候你的数据平台算是成型了。
当然,磕磕碰碰免不了。每天你都有新的问题和挑战,否则你就要失业了不是?
你发现社区不断在解决你遇到过的问题,于是你们架构师每天分出很多时间去看社区的进展,有了什么新工具,有什么公司发布了什么项目解决了什么问题,兴许你就能用上。
上了这些乱七八糟的东西,你以为就安生了?Hadoop平台的一个大特点就是坑多。尤其是新做的功能新起的项目。对于平台组的人,老板如果知道这是天然坑多的平台,那他也许会很高兴,因为跟进社区,帮忙修bug,一起互动其实是很提升公司影响力的实情。当然如果老板不理解,你就自求多福吧,招几个老司机,出了问题能马上带路才是正道。当然团队的技术积累不能不跟上,因为数据平台还是乱世,三天不跟进你就不知道世界是什么样了。任何一个新技术,都是坑啊坑啊修啊修啊才完善的。如果是关键业务换技术,那需要小心再小心,技术主管也要有足够的积累,能够驾驭,知道收益和风险。

如何创建一个大数据平台

6. 如何快速搭建企业级大数据平台

提到大数据,无可避免的就会提到Hadoop。尽管大数据并不等同于Hadoop,但Hadoop确实是最热门的大数据技术。下面是最常用的混搭架构,来看一下大数据平台可以怎么搭建,支撑企业应用:


通过Kafka作为统一采集平台的消息管理层,灵活的对接、适配各种数据源采集(如集成flume),提供灵活、可配置的数据采集能力。
利用Spark和Hadoop技术,构建大数据平台最为核心的基础数据的存储、处理能力中心,提供强大的数据处理能力,满足数据的交互需求。同时通过Sparkstreaming,可以有效满足企业实时数据的要求,构建企业发展的实时指标体系。
同时为了更好的满足的数据获取需求,通过RDBMS,提供企业高度汇总的统计数据,满足企业常规的统计报表需求,降低使用门槛。对大数据明细查询需求,则通过构建HBase集群,提供大数据快速查询能力,满足对大数据的查询获取需求。

7. 如何创建一个大数据平台

 所谓的大数据平台不是独立存在的,比如百度是依赖搜索引擎获得大数据并开展业务的,阿里是通过电子商务交易获得大数据并开展业务的,腾讯是通过社交获得大数据并开始业务的,所以说大数据平台不是独立存在的,重点是如何搜集和沉淀数据,如何分析数据并挖掘数据的价值。

  我可能还不够资格回答这个问题,没有经历过一个公司大数据平台从无到有到复杂的过程。不过说说看法吧,也算是梳理一下想法找找喷。
  这是个需求驱动的过程。
曾经听过spotify的分享,印象很深的是,他们分享说,他们的hadoop集群第一次故障是因为,机器放在靠窗的地方,太阳晒了当机了(笑)。从简单的没有机房放在自家窗前的集群到一直到现在复杂的数据平台,这是一个不断演进的过程。
对小公司来说,大概自己找一两台机器架个集群算算,也算是大数据平台了。在初创阶段,数据量会很小,不需要多大的规模。这时候组件选择也很随意,Hadoop一套,任务调度用脚本或者轻量的框架比如luigi之类的,数据分析可能hive还不如导入RMDB快。监控和部署也许都没时间整理,用脚本或者轻量的监控,大约是没有ganglia、nagios,puppet什么的。这个阶段也许算是技术积累,用传统手段还是真大数据平台都是两可的事情,但是为了今后的扩展性,这时候上Hadoop也许是不错的选择。
当进入高速发展期,也许扩容会跟不上计划,不少公司可能会迁移平台到云上,比如AWS阿里云什么的。小规模高速发展的平台,这种方式应该是经济实惠的,省了运维和管理的成本,扩容比较省心。要解决的是选择平台本身提供的服务,计算成本,打通数据出入的通道。整个数据平台本身如果走这条路,可能就已经基本成型了。走这条路的比较有名的应该是netflix。
也有一个阶段,你发现云服务的费用太高,虽然省了你很多事,但是花钱嗖嗖的。几个老板一合计,再玩下去下个月工资发布出来了。然后无奈之下公司开始往私有集群迁移。这时候你大概需要一群靠谱的运维,帮你监管机器,之前两三台机器登录上去看看状态换个磁盘什么的也许就不可能了,你面对的是成百上千台主机,有些关键服务必须保证稳定,有些是数据节点,磁盘三天两头损耗,网络可能被压得不堪重负。你需要一个靠谱的人设计网络布局,设计运维规范,架设监控,值班团队走起7*24小时随时准备出台。然后上面再有平台组真的大数据平台走起。
然后是选型,如果有技术实力,可以直接用社区的一整套,自己管起来,监控部署什么的自己走起。这个阶段部署监控和用户管理什么的都不可能像两三个节点那样人肉搞了,配置管理,部署管理都需要专门的平台和组件;定期Review用户的作业和使用情况,决定是否扩容,清理数据等等。否则等机器和业务进一步增加,团队可能会死的很惨,疲于奔命,每天事故不断,进入恶性循环。
当然有金钱实力的大户可以找Cloudera,Hortonworks,国内可以找华为星环,会省不少事,适合非互联网土豪。当然互联网公司也有用这些东西的,比如Ebay。
接下去你可能需要一些重量的组件帮你做一些事情。
比如你的数据接入,之前可能找个定时脚本或者爬log发包找个服务器接收写入HDFS,现在可能不行了,这些大概没有高性能,没有异常保障,你需要更强壮的解决方案,比如Flume之类的。
你的业务不断壮大,老板需要看的报表越来越多,需要训练的数据也需要清洗,你就需要任务调度,比如oozie或者azkaban之类的,这些系统帮你管理关键任务的调度和监控。
数据分析人员的数据大概可能渐渐从RDBMS搬迁到集群了,因为传统数据库已经完全hold不住了,但他们不会写代码,所以你上马了Hive。然后很多用户用了Hive觉得太慢,你就又上马交互分析系统,比如Presto,Impala或者SparkSQL。
你的数据科学家需要写ML代码,他们跟你说你需要Mahout或者Spark MLLib,于是你也部署了这些。
至此可能数据平台已经是工程师的日常工作场所了,大多数业务都会迁移过来。这时候你可能面临很多不同的问题。
比如各个业务线数据各种数据表多的一塌糊涂,不管是你还是写数据的人大概都不知道数据从哪儿来,接下去到哪儿去。你就自己搞了一套元数据管理的系统。
你分析性能,发现你们的数据都是上百Column,各种复杂的Query,裸存的Text格式即便压缩了也还是慢的要死,于是你主推用户都使用列存,Parquet,ORC之类的。
又或者你发现你们的ETL很长,中间生成好多临时数据,于是你下狠心把pipeline改写成Spark了。
再接下来也许你会想到花时间去维护一个门户,把这些零散的组件都整合到一起,提供统一的用户体验,比如一键就能把数据从数据库chua一下拉到HDFS导入Hive,也能一键就chua一下再搞回去;点几下就能设定一个定时任务,每天跑了给老板自动推送报表;或者点一下就能起一个Storm的topology;或者界面上写几个Query就能查询Hbase的数据。这时候你的数据平台算是成型了。
当然,磕磕碰碰免不了。每天你都有新的问题和挑战,否则你就要失业了不是?
你发现社区不断在解决你遇到过的问题,于是你们架构师每天分出很多时间去看社区的进展,有了什么新工具,有什么公司发布了什么项目解决了什么问题,兴许你就能用上。
上了这些乱七八糟的东西,你以为就安生了?Hadoop平台的一个大特点就是坑多。尤其是新做的功能新起的项目。对于平台组的人,老板如果知道这是天然坑多的平台,那他也许会很高兴,因为跟进社区,帮忙修bug,一起互动其实是很提升公司影响力的实情。当然如果老板不理解,你就自求多福吧,招几个老司机,出了问题能马上带路才是正道。当然团队的技术积累不能不跟上,因为数据平台还是乱世,三天不跟进你就不知道世界是什么样了。任何一个新技术,都是坑啊坑啊修啊修啊才完善的。如果是关键业务换技术,那需要小心再小心,技术主管也要有足够的积累,能够驾驭,知道收益和风险。

如何创建一个大数据平台

8. 如何创建一个大数据平台

首先要明白大数据平台的基础,大数据的基础就是数据,数据是要经过采集才能形成。
建立大数据平台,关键是使用比较好的信息采集技术。
这些技术,具有以下的特点:
信息采集系统的主要功能为:根据用户自定义的任务配置,批量而精确地抽取因特网目标网页中的半结构化与非结构化数据,转化为结构化的记录,保存在本地数据库中,用于内部使用或外网发布,快速实现外部信息的获取。 如下图所示:

用于可以分为以下的方面:

淫才,这样的信息采集技术,用途是非常广泛的。