新闻、帮助、产品更新动态

最新的业界新闻,产品系统更新开发动态,帮助教程和活动发布

腾讯云大数据技术介绍-案例分享

发布日:2021-11-06 15:15       阅读数:

典型案例——用户画像标签系统
1. 需求
       现在需要做某电商/某信息流App产品的用户画像系统,需要建立一个用户画像表,同时记录用户在app上所有的核心操作(例如购买退货等,不包括点击收藏等附属功能),为用户画像。
 
       这个系统要求对整体的app用户流量做监测,并且对用户画像表进行事实更新,并且能通过工具快速的搜寻到一个用户的用户标签信息;同时需要每天计算出一些统计数据,例如今天一天的用户平均年龄,总购买量等。
 
2. 具体设计
1)技术栈选择
这个用户画像系统最底层最核心的其实是一个实时更新数据存储,我们需要支持
 
1)海量数据存储;
 
2)快速查询;
 
3)海量数据处理;
 
4)高实时性流数据处理。
 
我们分析 数据存储:
 
     Hadoop是为了大数据而生的,由google开源。Google当时遇到的问题:大量的网页存储、搜索算法,分别对应了以下几个技术能力:
 
HDFS Hadoop Distributed File System:分布式存储系统(高可靠、高扩展、高吞吐)
MapReduce:分布式计算架构(计算向数据移动)
YARN Yet Another Resource Management :集群资源的管理和调度
但是Hadoop计算性能比较菜,现在用于存储(Hbase、Hive、HDFS)和资源调度(YARN)比较多。
 
所以 数据存储选择 HDFS + Hive + Hbase
 
再来看查询:如何快速查询,前面也讲到了,用Impala
 
**Impala**是一种介于MySQL和HIVE之间,实时交互式的OLAP 
 
1)作用
用SELECT JOIN快速的查询HDFS或者HBase上的数据,使用与HIVE相同的Metadata和SQL语法
 
2)特点
特点就是——快!快!快!
 
且保持了Hadoop的SQL查询
 
速度快、可扩展、易接入、易使用、高安全 kerberos认证
 
所以高效查询,选择 Impala
流数据处理:Flink,
 
Flink能够分布式运行在上千个节点上,将一个大型计算任务的流程拆解成小的计算过程,然后将tesk分布到并行节点上进行处理,在执行任务过程中,能够自动发现事件处理过程中的错误而导致数据不一致的问题
 
所以 批数据处理,采用Flink。
 
消息中间件:Pulsar, 鉴于对组件的熟悉程度,可以先选择Kafka ,
 
pulsar 和 Kafka的对比,可以查看这篇文章:https://www.infoq.cn/article/1uaxfkwuhukty1t_5gpq
 
根据上文我们分别针对这三点列出解决方案:

3)数据流程图

                                                                                                      流程图
腾讯云套件
这些大数据的套件在腾讯云都有,都可以申请使用。
 
为什么使用Pulsar呢?
 
Apache Kafka 是一种快速、可扩展的、分布式的消息流平台,拥有高吞吐、低延迟、高容错、高并发、可扩展、持久化等优秀特性,在公司内已经支持大量的业务场景。而Apache Pulsar也是一个高性能的服务间消息传输解决方案,拥有高一致性、低延时、读写分离、快速扩容、灵活容错等特性。相比较Kafka,Apache Pulsar不仅内置了多租户、跨机群复制等功能,还通过新一代存储分离的架构思想,依托BooKKeeper解决存储可靠性、一致性问题,从根本上避免了Kafka可能会出现的故障恢复不可控问题。
 
由于Pulsar比Kafka拥有更可靠的消息管理,并且支持灵活的扩缩容策略。
 
消息消费差别:

Kafka/Rocketmq每个分区进会负载到一个comsumer上,多出partition个数的consumer将不会起作用(即不会消息任何的消息)。而Pulsar这面每个分区会与当前订阅下的所有消费者客户端进行关联,broker端会根据每个消费者客户端的能力,将消息推送给客户端进行消费。Pulsar的这种设计,在很大程度上提高了系统可承载的消费能力。业务方可以根据自己的消费需求,并行的部署多于分区个数的消费者。
 
  但是,这种设计,有利也有弊,不但提高了系统实现的复杂度,也为broker端的客户端管理埋下了隐患,需要运营过程中,做好消费客户端个数、流量等的流控配置,避免因业务方使用不当,引起broker端负载压力过大,进一步导致broker oom、宕机等。
 
   此外,Pulsar支持shared、key_share、failover、exclusice四种模式消费,但不支持广播模式消费消息,这一点与Kafka/Rocketmq有比较大的区别。
 
如果没有Pulsar,可以使用CKafka,

总有一款适合你。
 
这里大数据部分就完结了。

编辑:航网科技   来源:腾讯云

本文版权归原作者所有 转载请注明出处

联系我们

0755-36300002

深圳市龙华区和平路龙胜商业大厦5楼B5区

资质证书

  • Copyright © 2011-2020 www.hangw.com. All Rights Reserved 深圳航网科技有限公司 版权所有 增值电信业务经营许可证:粤B2-20201122 - 粤ICP备14085080号

    在线客服

    微信扫一扫咨询客服


    全国免费服务热线
    0755-36300002

    返回顶部