基于热数据的用户画像生成方法、装置、设备及存储介质制造方法及图纸

技术编号:24995930 阅读:21 留言:0更新日期:2020-07-24 17:58
本发明专利技术涉及大数据技术领域,公开了一种基于热数据的用户画像生成方法,包括以下步骤:通过实时流框架StructuredStreaming将所述用户行为数据以数据帧的格式转化为第一数据流;对第一数据流重新分区,得到第二数据流,所述第二数据流包括用户编号;计算所述第二数据流中的用户编号长度,判断用户编号长度是否满足预置长度;若是,则判断第二数据流的参数是否非空;若是,则基于所述第二数据流中每个数据出现的频率和每个数据两次出现间的时间间隔将数据分为冷热数据;基于热数据生成用户画像。本发明专利技术还提供了一种基于热数据的用户画像生成装置、设备及存储介质,本发明专利技术提供的基于热数据的用户画像生成方法提高了用户画像的时效性。

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

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1