大数据能为企业带来什么?更多的订单,更低的成本,更快捷的管理,更新的业务模式。然而在每轮技术变革中,中小企业似乎都是被最后照顾到的。在这场新变革的席卷下,我们不禁又要问小团队,你的大数据在哪里?
大数据之所以能称得上一个时代,来自于整个社会的集体狂欢。数据源于各行各业,这场变革带来的机遇自然蕴藏于各行各业之中。紧盯这个市场等待机遇的,无所谓IT巨头或是初创企业,无所谓团队规模是大是小。
大数据能为企业带来什么?更多的订单,更低的成本,更快捷的管理,更新的业务模式。巧妙善用互联网上的大数据, 小型创业团队就可以为自己快速积攒早期创业所需的资源,从而降低创业成本,提高收益率。然而我们却看到,在每轮技术变革中中小企业都是被最后照顾到的。在这场新变革的席卷下,我们不禁又要问小团队,你的大数据在哪里?
诚然,缺技术、缺人才、缺数据等种种现实,都将小团队置身于水深火热之中。那么大数据时代的小团队还有机会吗?
“当然有。”前小米数据工场负责人、现任火线数据创始人兼CEO、 WOT2016 讲师卢学裕在接受51CTO.com记者独家专访时,不仅给出明确的肯定答案,也结合他曾在优酷视频系统及小米数据工场的亲身实践,细细剖析面对种种问题下的小团队该如何做好技术选型,及如何权衡面临的大数据成用成本和数据隐私担忧。
小团队的大数据挑战
近几年,以Hadoop生态为代表的数据基础设施发展很快,给大数据技术的易用性提供了很大改善,也使技术门槛降低很多。
在卢学裕看来,小团队在大数据方面的挑战主要表现为人才短缺和数据来源。卢学裕讲到,为了应对这两个问题,小团队必须要在业务上下功夫,依据核心的业务形态,深入挖掘自身数据。
具体应该怎么做呢?卢学裕以视频用户数据举例。虽然用户在观看视频的过程中,没有太多的互动过程,但还是可以挖掘出价值非常大的高频数据。基于用户的拖拽、回看这样同一份数据,我们可以做到的可以有很多:
挖掘到不同用户对视频内容的High点,帮助视频的内容运营和内容创作找到用户兴趣点;
认识用户行为,找到相似用户,基于内容兴趣进行用户画像;
根据用户对内容上的喜好更好地进行CDN的预分发
根据用户行为做视频推荐
……
某种意义上说,视频推荐比商品推荐更容易。视频作为用户相对高频的行为,意味着我们能抓取到用户更多的行为数据,对用户的喜好反映更全面;从应用场景的角度来说,用户对于商品是否购买可能是一个很大的决定,而看不看视频相对决定很小,决定错误的损失也很小。在进行视频内容分析时,由于视频文本挖掘的维度偏少,因此进行文本分析的价值不大。
因此,同一技术在不同的业务领域上的重视程度,和起到的作用是不一样的。小团队由于自身技术能力和专业人才资源都有限,一定要更加细致地了解自己的业务形态,最大程度利用已有数据。
小米数据工场大数据平台架构
小米目前除了发展自己的公司,还投资了很多生态链企业。随着业务的快速增长,业务产生的数据量突飞猛涨。大家都知道,数据越集中,利用价值越大,由此小米数据工场应运而生。
小米数据工场主要承担着为全公司各团队及小米的生态链企业,提供数据采集、计算、存储等基础能力,以及机器学习、挖掘的工具和方法的任务。除了底层的能力,数据工场也为公司及生态链企业提供一些具体的基础数据服务,用于小米信用卡的风控和额度评估、广告精准投放、限时抢购时用数据打击黄牛等等。通过数据工场提供的数据能力,企业不仅能够对业务进行数据分析,也实实在在将数据应用到核心业务场景中。
围绕Hadoop生态构建基础平台
小米数据工场主要的工作是管理数据、元数据、数据权限,以及管理大量的计算。卢学裕强调,把数据存下来不是目的,而是要通过计算运用到各个业务领域中。小米及其生态链的业务场景丰富,因此整个计算体系是纷繁复杂的。
为了更好适应未来的需求,小米数据工场围绕Hadoop生态构建底层基础平台。虑到扩展性,数据工场天生基于Scala设计成分布式架构。由于小米及其生态链企业业务场景丰富,因此在技术选型方面全生态都会涉及,如消息流、批处理、实时计算等技术都需要用到,HBase、Hive、Spark、Storm 、Impala都在不同的场景下使用。
利用Docker解决异构和资源问题
为了管理好这些纷繁的计算框架和模型,在计算的执行方面,小米使用Docker来解决对环境的不同需求和异构问题,并且与Hive、Impala、Spark这些不同的计算模型都进行了对接,去适配不同应用场景计算不同数据的模型。另外,在不同业务场景下,同一个计算逻辑也可以选用不同的计算模型,Docker 的使用也避免了资源的浪费。比如一个计算任务每天凌晨运行,为了追求吞吐量,可以放到Hive里跑;还是同样一个计算模型,现在就要跑,可以不用更改,就放到Impala里运行。
总结看来,Docker不仅解决了环境的异构,也解决了资源问题。另外,Docker的环境适应性很强,做横向扩展会比较容易。
对于数据隐私方面,小米考虑得非常重。采用Docker与自身安全策略的综合,小米用户数据的隐私和安全性也得到了极其严格的控制。
小团队的大数据敏捷之路
选择热门的技术
小公司的时间耽误不起。选择热门的、常用的、经过大公司验证的技术,一是少踩坑,二是常用的技术人才相对好找。
按需使用,不要规划得太大
传统BI进行数据分析时通常会建立一个大而全的模型,再根据业务需求进行调整。但小团队的业务发展很快,因此在初期不要规划得太大,而是根据业务需要,细分业务场景,在每个小场景里构建小的数据模型,分析用户就建用户模型,分析产品用简单的产品模型。
另外,小团队要考虑到自己的应用场景是以分析型为主,还是应用型为主,之后再进行相关的技术选型,如Hive、Impala 、Presto等;而如果是以业务型为主,就要具体结合自身业务和技术能力综合来看。在数据量不是非常大的情况下,没必要选择HBase这样集群的存储方案,有许多产品可以替代。比如MySQL这类传统数据库能支持的数据规模也不小。根据计算要求和数据规模综合来选,不是超高量的不需要选太大规模的技术选型。
选择便捷、灵活和易于管理的技术
大公司在技术和系统使用上首先考虑的是集群的利用率和吞吐量,而小公司则要从便捷、灵活和易于管理的维度来考虑。
存储方面:建议使用以HDFS为主的存储,因为很多计算的工具所使用的存储都建立在它之上。对于业务未来的迅速发展,有比较好的兼容性;
计算方面:建议在选用常用的基础设施之外,具体计算用户交互时使用易于使用的技术:
HUE:基于web,在进行Hive 查询时可以直接在平台上完成,使用门槛更低;
Presto:适应数据源多,可以连接各种各样的数据源做计算和数据分析。由于业务数据和用户的行为数据时分开的。使用Presto这种连接器型的分析工具时,有分析能力的人就可以直接使用这种工具,我们不需要将不同的数据还要ETL导入到一起,后续还要做加工处理,只需要在物理打通就可以。
重视数据积累
小团队在前期积累数据时,一定要多花点儿功夫,不要偷懒,把数据尽可能采集全、采集准。千万不要等用到什么数据才去找数据,一旦发现你需要的数据之前没积累;或是积累的是错的;或是没有对数据进行标识,没办法区分这是哪个用户,陷入逻辑孤岛,都会非常麻烦。
比如我们需要采集用户在看一篇文章时的数据。这时我们应该将采集的维度考虑得更多,至少从用户本身的维度、文章内容、上下文关系、用互交互事件这四个维度上考虑。采集的数据可能包括文章分类、标题、内容ID、当前该文章热度、用户获取文章的渠道等等。这会让我们更全面地了解用户的喜好,也将用户的路径分析的很清楚。
哪怕未来不知道怎么用,采集更多更全的数据一定会对应用产生价值。在存储成本较低的现状下,多采集数据带来的代价并不大。真正昂贵的其实是计算,而一旦没有数据,代价将会更大。
大数据是工具
对于创业公司来说,在更短的时间内创造更大的价值,是企业得以存活的根本。大数据是工具,了解大数据的作用,结合业务的真实场据,满足用户需求,大数据才能真的帮得上你