用户时代,小米数据工场如何做技术架构与数据处理
小米数据工场主要承担着为全公司各团队及小米的生态链企业,提供数据采集、计算、存储等基础能力,以及机器学习、挖掘的工具和方法的任务。
作者:51CTO技术栈
来源:51CTO技术栈
2017-05-22 14:02:00

小米数据工场的技术架构

小米数据工场主要承担着为全公司各团队及小米的生态链企业,提供数据采集、计算、存储等基础能力,以及机器学习、挖掘的工具和方法的任务。

整个底层基础平台建立在 Hadoop 体系之上。考虑到扩展性,数据工场天生基于 Scala 设计成分布式架构。由于小米及其生态链企业业务场景丰富 ,因此在技术选型方面全生态都会涉及,如消息流、批处理、实时计算等技术都需要用到,HBase、Hive、Spark、Storm 、Impala 都在不同的场景下使用。

最底层使用 HDFS,上面使用 Hive、Spark 和 Mapreduce 这些混合到一个亚运集群上。而且 Impala 小米很早就在用,是一个很重的计算角色。

0

小米数据工场总体结构

如上图,上半部分是小米自研的数据工厂,是为最顶部业务层提供服务的。数据工厂主要是提供数据可视化、计算任务管理、数据管理、权限管理、任务调度、数据共享等服务。

公司越大就更希望数据能够开放给公司的各个部门,数据可相互利用。但不能没有任何限制的去使用,所以需要对数据权限做管理。

任务调度是整个工厂里面最重的部分。数据共享就是类似非常火的用户画像类数据,还有其他公共数据如 IP 库,这些数据具有公共特点,不用重复计算,就可以通过数据共享的方式在各个团队之间使用。

数据管理

分为数据预览、元数据、数据源三部分。

数据预览,是每个团队用来互相了解数据。

元数据,就是数据使用过程中要把非结构化的数据转换成结构化的数据。元数据管理就是去了解每个字段的含义和机器解析。机器解析包括 Mapreduce 程序可直接读文件可解析,如用 Impala、Spark 和 Hive 同样也能解析,而不需要每个使用者再去格式化,再去解析这个数据。但面临的问题是数据一旦出现格式的转变或者某些字段的调整,以前任务可能都会出现问题,所以一定要统一管理的地方。

数据源,数据管理非常核心的是数据集成,能够把各个地方的数据集成到平台上来。

HDFS 目录管理

有公共数据空间、业务数据空间、团队数据空间、个人数据空间、Yarn计算空间五部分。

公共数据空间,是用来把公共数据放到上面,把维护权限和读的权限分开。这样大部分都是读这个空间,空间数据安全性等级相对来讲比较低,可以付给更多人。

业务数据空间,因为每个业务数据的增长量是不一样的,甚至有些业务会出现如刚上来一个新功能,数据量迅速的增大,有的甚至会出现某个团队的数据增加,导致把整个集群空间全吃掉,又没有事先打招呼。这种情况下做好业务间的限额配额非常重要,防止某一个团队的增长导致整个集群出现一些问题。

团队数据空间,就是把权限控制到个人,用来帮助做团队之间的数据协作。如把线上任务放到团队账号中去,团队账号的权限要做好控制,权限不随便开放。当团队人员发生变动后,整个团队任务不用再去切换账户而导致交接的复杂性。

个人数据空间,数据工程师、开发工程师等是需要做一些调试或做自己的计算,这就要给这些人一定空间的同时对其数据做配额。这是为了防止这些人过多的使用资源和为了空间不够需要清理数据时,哪些数据要清理,哪些数据不能清理一目了然。这样限制空间的情况下,废弃文件或者垃圾文件的积累会相对较少。

Yarn计算空间,做配额限制是为了杜绝空间滥用的问题。比如:之前发生过一件事,某人在 Reduce 里面写了一个死循环,不停的输出数据,导致整个集群很快出现报警。后来才发现是这个计算造成的一些问题,最后差点导致那些日志上传、数据的写入都出问题,幸亏处理的比较及时。

所以,Yarn 计算空间是需要做一个配额限制,防止对整个集群造成过大的影响。

小米数据处理方式

除了底层的能力,小米数据工场也为公司及生态链企业提供一些具体的基础数据服务,用于小米信用卡的风控和额度评估、广告精准投放、限时抢购时用数据打击黄牛等等。通过数据工场提供的数据能力,企业不仅能够对业务进行数据分析,也实实在在将数据应用到核心业务场景中。

小米数据存储格式

统一采用的 Parquet,优点在于其使用的是列式存储,支持Mapreduce、Hive、Impala、Spark 和读取快、占用空间少。

客户端数据接入

客户端指的是 Wap、App 等数据,存在方式有 SDK 和服务端 Log 两种模式。下图为两种模式的优劣势。

1

客户端数据接入两种模式优劣势

服务器端数据源

除前端数据源外,整个处理数据时还会有大量服务器端数据源需要处理。业务数据库类,用 ETL 工具做导入。服务器端日志,用 Scribe 将数据写入 HDFS.

元数据管理

当公司业务变多后,每一个数据的处理方式都有可能不一样,这时候就凸显出元数据管理的重要性。如视频播放日志,分析师希望用 Hive,用 Impala 直接写 SQL 去计算,但数据挖掘工程师就要去写 Mapreduce,写 Spark 的方式去读,去解析。

元数据管理就是要做数据统一,既能够满足 Hive、Spark、Impala,还能满足 Mapreduce.这样一来节省大家对数据理解、执行的时间。

2

元数据管理

如上图,小米数据工厂是每一份数据的描述都需要在数据工厂上提交,之后数据工厂会在 MetaStore 中做建表的同时带上元数据的行为,供 Hive、Spark、Impala 使用。数据管理还会生成 Jave Class,给 Mapreduce 使用。当去解析用某个数据的时候,可以直接用这样的方式把它解析成 Jave 类。

计算管理

数据管理相对来讲是一次性的活,计算就是很复杂的事情。计算任务数一天达到几千或过万时,就会变得非常复杂。对于计算管理这块的优化,小米做了如下一些工作:

5

Docker

为了管理好这些纷繁的计算框架和模型,在计算的执行方面,小米使用 Docker 来解决对环境的不同需求和异构问题,并且与 Hive、Impala、Spark 这些不同的计算模型都进行了对接,去适配不同应用场景计算不同数据的模型。

另外,在不同业务场景下,同一个计算逻辑也可以选用不同的计算模型,Docker 的使用也避免了资源的浪费。比如:一个计算任务每天凌晨运行,为了追求吞吐量,可以放到 Hive 里跑;还是同样一个计算模型,现在就要跑,可以不用更改,就放到 Impala 里运行。

Docker 不仅解决了环境的异构,也解决了资源问题。

另外,Docker 的环境适应性很强,做横向扩展会比较容易。对于数据隐私方面,小米考虑得非常重。采用 Docker 与自身安全策略的综合,小米用户数据的隐私和安全性也得到了极其严格的控制。

总结

无论你用什么样的技术,一定要做好数据的积累,这是一家数据公司非常重要的部分。不仅要提前规划好数据,还要避免逻辑孤岛,还需要注意 ID 问题,也就是关联的问题。不要当采集了数据,却发现没有采用户 ID,当算到用户级别的时候,那就尴尬了。

以前讲的是流量时代,讲的是 PV 如何,而现在越来越多的业务都回到了用户时代。核心问题就是我们要做好用户的数据积累,尤其是用户模型建立。模型包括画像、用户点点滴滴行为等。这些行为在业务发展之后,尤其是要做数据挖掘,做推荐系统时,会非常有帮助。

关注中国IDC圈官方微信:idc-quan或微信号:821496803 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2022-06-17 11:09:25
边缘计算 阿里云何云飞:IoT边缘计算进入爆发期 需解决三大挑战
大会上,信通院发布用户调研数据,2021年我国边缘计算市场规模达到436.4亿元,到2024年将增长到1803.7亿元。2022年,物联网边缘计算占边缘计算整体部署比例高达48.1%。 <详情>
2021-11-29 10:06:02
大数据技术 干货分享:数据分析的6大基本步骤
数据分析就是运用恰当的分析方法,分析所收集的海量资料,并运用高效的分析工具将之归类、归纳,从中提炼出最有价值的资料,总结形成有效结论,挖掘数据最大价值的过程。 <详情>
2021-11-29 09:52:36
大数据资讯 大数据包括哪些方面
对于不同模式,不同结构的数据,我们需要进行进一步的处理,需要进行集成处理或者整合处理。当我们将不同的数据收集,整理并且转换之后,就可以获取一个新的数据。这样在后 <详情>
2021-09-13 10:04:51
国内资讯 浪潮液冷数据中心助力世界最高海拔的宇宙线观测站
LHAASO重大成果的发现离不开海量数据的支撑以及高效的数据处理平台 <详情>
2021-03-03 09:29:29
大数据技术 大数据的关键技术有哪些?
大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 <详情>
2020-11-10 11:46:52
大数据技术 数据中台到底包括什么内容?一文详解架构设计与组成
数据中台建设的成功与否,与数据资产是否管理有序有直接关系。 <详情>
2020-10-30 13:57:58
国内资讯 穿过巨头的丛林,柏睿数据存算一体机释放工业互联网内生力
当前,随着5G创新乃至6G时代的到来,面对海量&多源数据的存储安全和极速处理需求,中国社会经济的数字化进程已经走到了“临门一脚”的时刻,必须以完全自主可控,且性能卓越的智 <详情>
2020-09-09 15:09:58
市场情报 大咖驾到|副总裁孙鹏博:三生数字化实践
近两年直销行业内忧外患。在多方面问题的冲击下,直销企业需要进行改革升级,重视线上平台运营,经营重心从线下转到线上。 <详情>
2020-02-21 09:37:10
大数据资讯 欧盟启动新数字战略 从AI到数据追赶美国和中国
欧盟委员会主席乌苏拉·冯德莱恩(Ursula Von Der Leyen)在谈及这份文件时称,我们希望数字转型为我们的经济提供动力,我们希望在数字时代找到欧洲的解决方案。 <详情>
2019-09-29 10:47:42
国内资讯 打造北方最大医疗数据处理中心!济南大数据中心预计年底竣工
中国健康医疗大数据北方中心存储中心项目,也就是大数据中心,项目占地约108亩,规划总建筑面积约19.7万平方米,其中地上建筑面积约15.5万平方米,地下建筑面积约4.2万平方 <详情>

51CTO技术栈

阅读量
阅读排行榜