在大数据时代,我们需要对海量的用户信息、运营数据及系统日志等进行存储管理、统计分析及深入挖掘,以便更好的提高用户体验和创造商业价值。为此我们基于Hadoop生态系统构建了统一数据平台,通过该平台不仅可以实现对文件、hive、hbase等多种类型数据源的统一管理及安全控制,还能对离线计算和实时计算任务进行统一维护,并通过梳理数据血缘关系来进行集中治理。除此之外,我们还提供了数据容灾恢复、接入自动化、ETL操作配置化等工具,显著提高了平台使用效率和易用性。与此同时,我们还通过引入Phoenix、kylin等技术来实现olap统计功能来满足业务人员多个维度的统计分析需求,并向社区贡献了多个patch。在本次分享中将会结合我们在搜狗商业平台中大数据系统建设及维护治理方面的应用实践进行阐述。
针对大数据平台架构的痛点,杨剑飞提出了统一数据接入存储、数据校验或格式转换,实时分析或离线分析等解决思路,将平台架构分为包含采集层与源数据层的数据接入部分,包含处理层、存储层、计算层的存储计算部分,包含访问层的数据访问部分,以及平台运行监控和一体化管理、任务调度。
1、数据接入
数据接入方面可能存在数据源类型多样、业务高峰期每小时可以产生上G增量数据、数据源变化概率大、业务场景对时效性要求不同,不同类型数据有不同的计算时效性等问题,杨剑飞对数据实时与离线接入,分别提出解决方法,实时数据接入可以通过采集器实时采集数据源数据,通过消息队列提供给不同的消费者,针对不同的实时数据源提供不同的Adaptor,离线数据接入部分,大批量且无实时分析场景的数据通过离线接入方式接入平台,离线接入通过定时任务调度将数据源中的数据汇总到存储层。在此基础上,对实时与离线数据接入方式进行优化,使新增接入需求只需通过界面配置相关数据源参数及目标存储参数即可,数据源参数发生修改只需要调整数据源参数,无需修改代码,数据源维护交由运维负责,RD专注于业务逻辑开发,同时平台已接入数据一目了然,避免重复接入。
2、存储计算
随着企业规模的不断增大,需求也与日俱增。存储计算方面可能面临着多用户冗余存储、计算任务增多、由于数据之间存在的千丝万缕的联系,导致计算任务之间存在复杂的依赖关系,对数据的故障恢复要求也极高。杨剑飞提出使用数据仓库理念梳理数据,李先统计场景使用Hive分区表可以减小存储计算范围,加速性能;针对详情查询,可以使用HBase表;文件存储可以使用HDFS存储等,通过控制数据读写权限保护数据安全,提供多种元数据查询界面。
基于ETL任务抽取血缘关系,通过公共ETL计算进行统一编码、数据格式转换,通过业务ETL计算产生维度表、计算业务指标,通过对ETL计算进行优化,建立数据处理工作流,抽取公共计算逻辑,配置ETL元数据及任务依赖关系,抽取数据血缘关系。
3、即席查询
好的基础上永远可以更好,用户对即席查询的要求往往是越快越好,越准越好,使用门槛越低越好。固定指标查询中的报表数据大多数统计维度固定,以空间换时间,基础表按固定维度定时汇总,同时对统计结果进行校验。
对随机指标查询,杨剑飞表示,可以采用Phoenix优化HBase查询,支持JDBC方式访问和SQL标准,支持视图和索引,协处理器加速,定制优化,贡献多个patch。
4、 数据访问
所见即所得的方式更易于用户接受,在数据访问层面,一些可视化展现可以方便平台使用者将统计结果一站式转换。增加自助查询,在对历史数据进行存储的情况下可以提供自助查询提示。
5、平台监控
监控可能涉及架构的方方面面,集群状态监控、基础设施监控、数据接入监控、业务计算监控以及平台使用监控等。监控Yarn资源在各个时间段的使用情况,在各个业务线的分布情况,监控平台资源利用率,合理利用资源。
最后,杨剑飞针对大数据平台架构设计,提出从原始需求出发,从自身情况出发,从基本规律出发,从投入产出出发,从拥抱变化出发的体会。虽然大数据流行了这么久,但可以展望与发展的技术点还是很多,从社区中来到社区中去,开源的态度或许可以走得更稳更远。
浏览7433次
浏览5253次
浏览4216次
浏览7657次
浏览9599次
浏览1401次
2025-01-08 昆明
2025-06-20 深圳
2025-04-19 南京
2025-08-15 上海
打开微信扫一扫,分享到朋友圈