大数据项目实践指南(总体思路)

做了三个完整的大数据项目后,我整理了一下大数据的项目实践思路,这里写下总体思路。如果加油的人多,我愿意将其详细编写为一本书,就叫《大数据项目实践指南》吧?哪个出版社有兴趣的话,可以联系我。徐建明 18971024137


为什么大多数企业都实施大数据项目?

    1,希望进行更有效的分析,他们认识到由此需要分析的数据量也会大幅增加。这些活动往往会由一个业务单位(如营销部门)∙来承担。
    2,企业意识到可以通过实时分析将其产品打包在一个服务层中,帮助客户更高效地使用其产品。
    3,企业希望通过大数据来传达某个业务单位或流程的所有决策,从而提升操作速度,提高操作质量并降低操作成本。
    4,企业意识到大数据对于每个业务单位都相当重要,它们尝试建立以数据为中心纵观全局的基础环境。
    5,企业认识到必须在大数据方面有所作为,不然就会落伍,但并未切实规划出如何开展这项工作。我们的目标就是了解并尝试开展这项工作。
    
大数据项目为什么会失败?
    1,目标不明朗.此项调查得出的最常见失败原因是项目“范围不准确”。许多企业在项目伊始都雄心勃勃,但目标模棱两可,无法分清项目的轻重缓急。为了实施大数据项目而草率上马,必然会导致灾难。这类项目的复杂性要求企业具有坚定的信念,为取得一定成果而不懈努力。如果目标不确定,则显然是不可行的。
    2,预期目标不合理.在大数据纷纷扰扰的宣传之下,您会对项目的成果做出一下假设,而这些假设往往会产生不利影响。在很短的时间内冒然做出一些承诺虽然看起来会很诱人,但同样非常重要的是,您需要客观地估计项目可能会产生的成果、项目周期以及实现这些成果所需要付出的努力。如果对影响和洞察力的期望过高,则会像大海捞针一般茫然无措。如果对交付成果的期望不切实际,您就会发现您要遵从的截止日期和预算根本就不可行。
    
    3,项目超支和延误.由于对企业来说这方面仍然还是全新事物,您就不难理解大多数大数据项目都会成本超支或时间延误。造成这种问题的原因往往是期望目标不合理、加上对如何构建可扩展体系架构不了解在少数成本高昂的 Hadoop Java开发人员从事着大规模手动编码实施工作的同时,企业也很快认识到脱离沙盒环境而不出现任何错误是不可能的。大数据项目终归会沦落为一项科学实验
    
    4,无法扩展.要想找到五名优秀的 Hadoop Java 开发人员绝非易事。然而,随着项目的发展,一年需要扩充到30名 Java 开发人员,事情可能就变得愈加棘手。最糟糕的并非Hadoop 群集无用武之地而是白白浪费了时间并失去了动力。企业往往青睐短期的权宜之计,而忽视了长期的可持续发展。虽然我们可以不负责任地提醒您可以避免这种取舍,但我们还是要着重强调长期发展的重要性。为了让您的数据获得合理的保护和管理,您需要随时关注项目的长期影响。大数据项目失败的四个原因令人担忧,但的确很常见。所以,接下来让我们来看看如何避免这些因素,建立一个长久的实施方法。
    
如何让大数据项目成功运行
    1, 制定清晰的目标并对期望目标进行管理如果您不确定该项目的目标,请参考您为现有数据基础设施制定的目标。如果企业的某些业务流程(如欺诈检测或市场分析)已经需要用到数据,请想想大数据如何才能改进这些流程或提升其价值。与其应对全新的问题,不如致力于改进现有流程或项目。如果没有明确的方向并向业务用户展示出价值,您的项目将难逃厄运。
    2,确定能够证明项目。价值的指标明确定义贴合项目目标的指标可以让您避免诸多麻烦。为自己制定一些可以衡量的现实目标,其他人就能够看出您所取得的进展。更重要的是,他们也可以看出您的长期目标是什么。问问自己,根据您的目标,您如何衡量项目的影响。这一点非常重要,因为您的业务用户需要为短期失败找到合理的原因,而可衡量的目标可以帮助您证明您正在实现更高的价值。
    3,从战略的角度使用工具和手动。编码避免直接在 Hadoop 中对所有内容进行手动编码。请记住,我们的目标并不是从零开始人工实施一个有效的环境——而是为企业提供大数据的价值。您不应尝试对每一次集成和所有分析进行手动编码并清理每一个数据集,而是应借助工具和自动化技术来加快这些流程的执行。尤其是,不要让少数成本高昂的Java 开发人才把时间浪费在无法让其他员工接手的工作上。您的职责是制定战略决策,将稀缺资源部署到能够实现您的目标的地方。借助现有 ETL、数据质量和商业智能专家的技能和知识,采用能够提高开发团队工作效率的工具,将 Java 高手解放出来,从事具体逻辑工作。此外,由于像 Hadoop 这样的技术日新月异,您就需要考虑采用一个抽象层来应对不断变化的基础技术规范。总之,请记住,您需要的技能是稀缺的——而工具随时可用。

何谓正确的项目
    1,明确的价值。所谓正确的项目,就是要使 IT 与您尝试提供帮助的业务单位都能分享到项目所带来的价值。也就是说,需要为部门、业务单位或小组提供明确的价值,让他们都可以看得到。
    2,赞助方。高管能够支持您的愿景是项目取得成功的关键。大数据项目需要得到高层的拥护和赞同,愿意为您的工作提供支持。所以,如果您可以为物流部门打造超群的分析能力,而支持您这种想法的高管只有 CMO,您就应该三思而后行。如果营销部门拥护您的工作,您就应该优先满足营销部门的分析需求。您不能强迫任何人做出改变。顺势而为,尽力发挥最大价值。
    3,保龄球效应。您的首个战术项目具有至关重要的战略意义。您不仅要力排众议,证明大数据可以为您所在的业务单位提供帮助,还要确保它的价值可以轻松地传达给整个企业。因此,对于首个项目,您必须从战略的角度进行选择。举例来说,在您向营销部门展示出大数据的价值之后,争取获得可能持保留意见的物流团队的支持就会比较容易。
    4,可传授的技能。正如上面所说,您希望首个项目的价值能够让企业的其他部门信服。为此,您需要确保能够从首个项目中获得正确的技能、能力和经验教训。具体地说,就是您要确保将这些技能、能力和经验教训文档化,以便在下一个项目中加以运用。请记住,取得成功需要放眼未来。随时做好扩展的准备,这样您才能在将来处理更多的项目。这不只是扩展群集的问题,而是扩展您的技能和运营规模的问题。您需要召集更多的 Java/Hadoop高手,或者找到能够充分发挥现有资源潜能的方法。
    
考虑产生的影响
    1,成本和干扰。从根本上说,项目成本取决于顺利开展项目所需要的时间和资金。实际上,您还应考虑项目可能会造成的干扰。有时,由于业务单位习惯自行掌控数据,而不希望将控制权转移给一个中央数据治理框架,这样就会在过程上造成干扰。而如果您需要将新技术集成到现有基础设施中并对技能进行重组或升级,则会在技术和技能方面造成干扰。无论哪种情况,您都应该想到并确保尽可能地避免干扰,或者说明避免干扰的重要性。
    2,产生收益和影响的时间。当考虑不同的启动项目时,您自然而然会倾向于能够产生最大业务影响和提升的项目。然而,对业务影响性质的考虑也很重要。项目的多数价值是在短期还是长期内实现?更重要的是,业务用户什么时候才能感受到这种业务影响?例如,您可以向数据仓库引入主数据管理并大幅提高您的商业智能效率。但是,只有您的业务分析师意识到无需再清理财务数据的时候,这种价值才能被感知。
    3,资源和限制。鉴于您对前述两个因素的分析,请考虑您能支配的资源。我们随后会更详细地探讨这一点,但现在,请记住一点,您当然是希望您的项目能不枉您的投入。实现这个目标涉及两个方面。一方面,您希望实现最大限度的业务影响。然而,同时您也必须战略性地使用您的预算。尽管您可能会有建立像 Google 那样的数据科学家团队的冲动,但您真的负担得起吗?在工具和人员之间做出明智的选择,对您项目的成功至关重要。

战术性大数据项目示例
    1,一家大型科技公司希望通过结合 Hadoop 和传统的数据仓库技术,降低每 TB 的整体成本增长,从而节省几百万元的数据仓库成本增长。
    2,一家大型运输制造商计划在未来 10 年将汽车燃油消耗率降低 1%。这家制造商也希望通过将维护期延长 10% 并将里程提高 1%,从而降低有毒碳排放。
    3,一家机车制造商希望将日常路线提高每小时公里数,从而使客户每年可节省 2 亿元。
    4,一家支付服务公司希望通过改善客户个性化体验将数字业务增加 30%,作为其“零售全方位优化”大数据战略的一部分。对于任何大数据团队来说,这些都是不小的成就。

基础大数据之旅
    1,数据仓库优化。这一步要求选择在最经济高效的平台上存储和处理数据。该步骤的开始,通常要将原始数据或不常用数据以及 ETL 工作负荷从昂贵的数据仓库硬件中移除。其目的是避免数据仓库昂贵的升级成本,并开始使用更便宜的硬件和 Hadoop 等分布式计算框架,因而使您做好处理大数据的量、种类以及速度的准备。
    2,管理数据湖。管理数据湖是管理您所有数据供需的单个位置。这里的关键词是“管理”。该步骤的目的是将多结构的杂乱数据变成适用、可靠和安全的信息。这意味着建立可以优化、治理和控制您数据的数据湖。这就需要有足够的远见,因为要建立数据湖,您需要融合严格、战略性的数据治理策略和流程。没有这些策略和流程,您的数据湖就会有基本陷入数据瘫痪境地的风险。
    3,实时运营智能。这一步,您将建立您的团队访问、分析和交付所有数据所需的技术(分析、需要大量数据的应用系统以及参与接口)。您在该步骤建立的应用系统必须易于使用并交付用户需要的信息。这可以是一个接口,供客户服务代表多渠道监控客户行为并确定未来两周最可能流失的客户。
    如前文所述,要获得最大的成本优势,我们建议按下面顺序执行这些步骤。降低您的基础设施成本并增强企业体系架构。
    1,数据仓库优化。建立管理您所有数据供需的单个位置。
    2,管理数据湖。建立可提供您的团队所需信息的前沿应用系统。
    3,实时分析。建立可提供您的团队所需信息的前沿应用系统。

定制业务目标调研表,IT目标调研表

五个关键数据考虑事项
    1,为海量数据做好准备。您必须做好应对需要“海量”数据的准备。从多个角度根据数据价值(如客户交易)、使用情况( 访问频率)、大小(GB,TB)、复杂度(机器数据、关系数据、视频……)以及允许访问数据的人员(只有数据科学家或任何临时业务用户)对数据进行分类。全面、有序的数据库存有利于您确定如何对所有数据进行管理。评估您的当前存储和处理能力,并寻找最经济高效的方式来扩展它。
    2,应对多样性。大数据最具挑战性的一面是,您必须在分析中统协多种不同的格式和结构。如果要在您已经习惯使用的数据源(旧式关系型大型机)之外增加新的数据类型和结构(社交、传感器、视频),则您必须集成大量的数据源。如果要对每次集成都进行手动编码,则会非常繁琐,它可能会耗费您的所有时间和资源。充分利用所提供的数据集成和数据质量工具,可以让更有价值的任务加快进度。
    3,处理速度。实时流数据和历史数据相结合往往能提高分析的预测能力。因此,您所需要的某些数据只有在不断涌入您的系统时才可能有价值。实际上,大多数实时分析都需要基于流数据进行 – 这种数据通常来自不同的源并采用不同的格式。为您的项目准备流分析技术和一个逻辑基础设施,以便管理所有数据。
    4,确保真实性。无论您的分析有多么重要,如果人们没有理由信任其中的数据,它就一文不值。您分析的数据越多,保持较高的数据质量就越重要。为使您的数据满足实际需要,您需要了解数据的用途。如果数据科学家要在聚合的客户数据中找到数据模式,则需要准备的数据就会大为减少。另一方面,财务报表和供应链数据需要进行精心组织、进行清洗并获得认证,才能确保准确性和合规性。根据需要准备的数据创建类别,包括原始数据以及由经过清洗的可靠权威数据组成的数据存储等,该数据存储已进行精心组织并会受到掌控。
    5,考虑合规性。您处理的不同数据集也会具有不同的安全规定和要求。对于每个数据集,您需要考虑需要采取什么措施来根据安全策略对数据进行匿名化处理。您的海量数据会分散在企业的数百个数据存储中。您需要熟悉敏感数据所在的位置,并通过加密来确保其数据源的安全性,然后对有权访问该数据的人员加以控制。除了对敏感数据进行安全、智能存档之外,还要随时在其迁移或进入开发和测试环境时使用预定义的规则使该数据脱敏。对要处理的每个数据集应用上述五个考虑事项,您就可以更现实地做好准备来迎接大数据的挑战。
    

人员准备:
    1,数据科学家
    2,行业专家
    3,业务分析师
    4,数据分析师
    5,数据工程师
    6,数据库管理员
    7,企业架构师
    8,业务解决方案架构师
    9,数据架构师
    10,数据管理员
    11,ETL(数据集成)开发人员
    12,应用系统开发人员
    13,仪表盘开发人员
    14,统计数据建模人员



工具:

1,数据注入。以合理的方式采用合理的方法高效利用数据的过程。
    批量加载。您是否可以访问所需的各种数据,并高效地将批量加载的性能扩展至数据存储?
    变更数据捕获。您是否可以在不影响源系统的情况下捕获对源系统中的数据所做的更改?
    数据流。您是否可以可靠地收集实时数据并将其流式传输到数据存储?
    存档。您是否可以存档和压缩不常用的数据,同时确保可以在需要时轻松访问存档的数据?
    
2,数据管理
    数据集成。您是否可以准备各种结构和数据源并将它们整合成一个统一的数据集进行分析?
    数据质量。您是否可以可靠地清洗数据、进行重复数据删除并删除错误?
    数据安全性。您是否可以通过分配使用、访问和权限规则来发现和保护所有数据存储中的数据?
    虚拟数据机。您是否可以为基础部署环境中松散处理的数据创建一个抽象层?
    主数据管理。您是否可以为各种数据域存储一个经过整合的完整而权威的真实数据版本?
    分布式数据框架。您是否可以使用 Hadoop 之类的技术经济高效地扩展您的存储和处理需求?
    数据仓库。您是否具有可以满足性能、使用和可扩展性要求的数据仓库技术,以实现 Hadoop 基础设施的大数据分析和集成?

3,数据交付。将您的数据发送到需要该数据的系统和应用系统的过程。
    批量加载。您是否可以在源系统、分析系统和操作后端系统之间扩展数据批量加载的性能?
    实时流。您是否可以实时将数据流式传输到需要该数据的应用系统、分析系统和后端系统?
    数据集成中心。您是否可以使用发布-订阅模式之类的方法来提供数据,以避大量进行点对点集成?
    数据虚拟化。您是否可以在避免数据超载的情况下从您的系统交付数据?
    基于事件的处理。您是否可以实时检测、分析和响应威胁、机会和其他关键业务事件?

4,分析。将原始数据转化为对要分析的域生成的洞见、模式、预测和计算的工具和流程。
    可视化。您是否可以用易于消化和理解的方式展示数据和结果?
    高级分析。您是否可以将前沿分析算法应用到数据集进行复杂的计算?
    机器学习。您是否可以在不必进行手动处理的情况下采用复杂的机器学习算法来识别模式并做出预测?
    

你可能感兴趣的:(大数据项目实践指南(总体思路))