【技术实现步骤摘要】
基于热数据的用户画像生成方法、装置、设备及存储介质
本专利技术涉及大数据
,尤其涉及一种基于热数据的用户画像生成方法、装置、设备及存储介质。
技术介绍
随着移动互联网的发展,各种网站、手机应用软件对于个性化的需求逐渐提高。个性化的给用户提供服务更能精准的触达用户的需求。现行的用户画像系统主要采用离线处理的方式进行手机用户的基础信息(如:年龄、性别等)或者通过模型分析出用户的消费能力。专利技术人意识到离线的用户画像系统不具备实时性,并且其采用传统的服务器方式开发部署,扩展性、容错性较差。一些实时的用户画像系统也没有基于目前领先的大数据处理技术,导致其不能支持逐渐增大的海量数据,也不能有效的与其他系统耦合。近期基于批处理框架SparkStreaming的实时日志处理、用户画像系统属于minibatch(迷你批处理)的批处理方式,有一定的延时,并且代码结构复杂,相当于开发人员亲自重复了目前标准的数据框(dataframe)处理方式,使得离线与实时不能共用一套代码,造成二次开发的问题。此外,SparkStreaming是基于Spark1.6版本开发,版本较低与一些近期更新的组件并不能很好的兼容。例如,SparkStreaming是基于JAVA7版本,而StructuredStreaming则基于JAVA8版本,使得一些高性能的接口不能使用,因此会造成用户画像时效性低。
技术实现思路
本专利技术的主要目的在于提供一种基于热数据的用户画像生成方法、装置、设备及存储介质,旨在解决现有的用户 ...
【技术保护点】
1.一种基于热数据的用户画像生成方法,其特征在于,所述基于热数据的用户画像生成方法包括:/n通过日志接收工具Flume接收用户行为数据;/n通过实时流框架StructuredStreaming将所述用户行为数据以数据帧的格式转化为第一数据流;/n对所述第一数据流重新分区,得到第二数据流,所述第二数据流包括用户编号;/n计算所述第二数据流中的用户编号长度,判断所述用户编号长度是否满足预置长度;/n若所述用户编号长度满足预置长度,则判断所述第二数据流的参数是否非空;/n若所述第二数据流的参数非空,则记录所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,并基于所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,按照预设规则将所述数据缓存至分布式开源数据库HBase的存储单元hfile中,其中,所述存储单元hfile用于存储热数据和冷数据;/n从所述存储单元hfile中获取热数据,并根据所述热数据计算实时用户兴趣得分;/n根据所述实时用户兴趣得分获取用户兴趣标签,基于所述用户兴趣标签生成用户画像。/n
【技术特征摘要】
1.一种基于热数据的用户画像生成方法,其特征在于,所述基于热数据的用户画像生成方法包括:
通过日志接收工具Flume接收用户行为数据;
通过实时流框架StructuredStreaming将所述用户行为数据以数据帧的格式转化为第一数据流;
对所述第一数据流重新分区,得到第二数据流,所述第二数据流包括用户编号;
计算所述第二数据流中的用户编号长度,判断所述用户编号长度是否满足预置长度;
若所述用户编号长度满足预置长度,则判断所述第二数据流的参数是否非空;
若所述第二数据流的参数非空,则记录所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,并基于所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,按照预设规则将所述数据缓存至分布式开源数据库HBase的存储单元hfile中,其中,所述存储单元hfile用于存储热数据和冷数据;
从所述存储单元hfile中获取热数据,并根据所述热数据计算实时用户兴趣得分;
根据所述实时用户兴趣得分获取用户兴趣标签,基于所述用户兴趣标签生成用户画像。
2.如权利要求1所述的基于热数据的用户画像生成方法,其特征在于,所述通过实时流框架StructuredStreaming将所述用户行为数据以数据帧的格式转化为第一数据流,包括:
通过实时流框架StructuredStreaming接收所述用户行为数据;
通过实时流框架StructuredStreaming中的流处理模块将所述用户行为数据由字符串格式的数据转化为数据帧dataframe格式的第一数据流。
3.如权利要求1所述的基于热数据的用户画像生成方法,其特征在于,若所述第二数据流的参数非空,则记录所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,并基于所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔,按照预设规则将所述数据所缓存至分布式开源数据库HBase的的存储单元hfile中,其中,所述存储单元hfile用于存储热数据和冷数据,包括:
判断将第二数据流缓存进分布式开源数据库HBase的时间点是否在预设时间段内;
若将第二数据流缓存进分布式开源数据库HBase的时间点在预设时间段内,则通过轮询的方式统计所述第二数据流的每个数据在所述HBase中的历史出现频率,其中,所述历史出现频率包括:在存储热数据的存储单元hfile中出现的第一频率和在存储冷数据的存储单元hfile中出现的第二频率;
判断所述第一频率是否大于或等于所述第二频率;
若所述第一频率大于或等于所述第二频率,则将所述第二数据流缓存到HBase的用于存储热数据的存储单元hfile中;
若所述第一频率小于所述第二频率,则将所述第二数据流缓存到HBase的用于存储冷数据的存储单元hfile中。
4.如权利要求1所述的基于热数据的用户画像生成方法,其特征在于,所述从所述存储单元hfile中获取热数据,并根据所述热数据计算实时用户兴趣得分,包括:
从存储热数据的存储单元hfile中拉取热数据;
通过以下公式计算实时用户兴趣得分:
其中,S为实时用户兴趣得分,hi为第i种热数据,i≤n,Wi为第i种热数据对应的预置热数据权重,热数据为在预设时间段内出现的且出现的第一频率大于或等于第二频率的数据。
5.如权利要求1所述的基于热数据的用户画像生成方法,其特征在于,在所述通过日志接收工具Flume接收用户行为数据之前...
【专利技术属性】
技术研发人员:于其位,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。