CN108647329B - 用户行为数据的处理方法、装置及计算机可读存储介质 - Google Patents
用户行为数据的处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108647329B CN108647329B CN201810449413.6A CN201810449413A CN108647329B CN 108647329 B CN108647329 B CN 108647329B CN 201810449413 A CN201810449413 A CN 201810449413A CN 108647329 B CN108647329 B CN 108647329B
- Authority
- CN
- China
- Prior art keywords
- user behavior
- behavior data
- processing
- framework
- kafka
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000003672 processing method Methods 0.000 title description 9
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000004364 calculation method Methods 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000006399 behavior Effects 0.000 claims description 111
- 238000012549 training Methods 0.000 claims description 31
- 238000007637 random forest analysis Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 238000005192 partition Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241000208377 Corynocarpus laevigatus Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种用户行为数据的处理方法、装置及计算机可读存储介质,该方法包括:获取用户行为数据;将所述用户行为数据转化为kafka消息并进行缓存;采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;输出关联后的用户行为数据。由于spark streaming计算框架能够把流式计算转化为一批很小的、确定的批处理作业,能够对数据进行并行处理,所以能够实现秒级的大量数据的处理,进而能够对及时对用户行为数据进行处理及分析,感知用户兴趣。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种用户行为数据的处理方法、装置及计算机可读存储介质。
背景技术
用户行为分析是分析用户在使用网络资源时表现出来的规律、个性化的习惯。其目的在于收集、分析、预测用户行为。在互联网飞速发展的今天,对用户行为进行分析,提取用户兴趣,了解其特点,能够进行用户个性化定制与推送,为用户提供更加主动的,智能化的服务。
在分析用户行为时需要对用户行为数据进行采集并处理。现有技术中对用户行为数据进行处理时一般采用小时级的批处理技术或流处理技术。小时级的批处理技术由于对数据的批处理技术延时性较高,无法满足实时性较高的业务。而流处理技术虽然能够实现亚秒级别时延的处理,但每次只能处理一条数据,使处理速度较慢。
所以现有技术中采用小时级的批处理技术或流处理技术对用户行为数据进行处理,均不能及时对用户行为数据进行处理及分析,感知用户兴趣。
发明内容
本发明实施例提供一种用户行为数据的处理方法、装置及计算机可读存储介质,解决了现有技术中采用批处理技术或流处理技术对用户行为数据进行处理,均不能及时对用户行为数据进行处理及分析,感知用户兴趣的技术问题。
本发明实施例提供一种用户行为数据的处理方法,包括:
获取用户行为数据;
将所述用户行为数据转化为kafka消息并进行缓存;
采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;
输出关联后的用户行为数据。
进一步地,如上所述的方法,所述采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联之前,还包括:
采用direct接口获取所述kafka消息;
将所述kafka消息转化为所述spark streaming计算框架中的数据格式。
进一步地,如上所述的方法,所述采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联之前,还包括:
采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化;
将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数。
进一步地,如上所述的方法,所述采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化,具体包括:
从日志分析文件中获取训练集样本和测试集样本;
通过所述训练集样本对所述随机森林模型进行训练,并输出计算资源参数;
通过所述测试集样本对所述计算资源参数进行验证;
若所述计算资源参数通过验证,则确定所述计算资源参数为优化后的计算资源参数。
进一步地,如上所述的方法,所述计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
本发明实施例提供一种用户行为数据的处理装置,包括:
获取模块,用于获取用户行为数据;
转化模块,用于将所述用户行为数据转化为kafka消息;
缓存模块,用于将所述kafka消息进行缓存;
处理模块,用于采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;
输出模块,用于输出关联后的用户行为数据。
进一步地,如上所述的装置,所述获取模块,还用于采用direct接口获取所述kafka消息;
所述转化模块,还用于将所述kafka消息转化为所述spark streaming计算框架中的数据格式。
进一步地,如上所述的装置,还包括:
优化模块,用于采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化;
设置模块,用于将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数。
进一步地,如上所述的装置,所述优化模块,具体用于:
从日志分析文件中获取训练集样本和测试集样本;通过所述训练集样本对所述随机森林模型进行训练,并输出计算资源参数;通过所述测试集样本对所述计算资源参数进行验证;若所述计算资源参数通过验证,则确定所述计算资源参数为优化后的计算资源参数。
进一步地,如上所述的装置,所述计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
本发明实施例提供一种用户行为数据的处理装置,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如上述任一项所述的方法。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述任一项所述的方法。
本发明实施例提供一种用户行为数据的处理方法、装置及计算机可读存储介质,通过获取用户行为数据;将所述用户行为数据转化为kafka消息并进行缓存;采用sparkstreaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;输出关联后的用户行为数据。由于spark streaming计算框架能够把流式计算转化为一批很小的、确定的批处理作业,能够对数据进行并行处理,所以能够实现秒级的大量数据的处理,进而能够对及时对用户行为数据进行处理及分析,感知用户兴趣。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明用户行为数据的处理方法实施例一的流程图;
图2为本发明用户行为数据的处理方法实施例二的流程图;
图3为本发明用户行为数据的处理装置实施例一的结构示意图;
图4为本发明用户行为数据的处理装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了清楚起见,首先说明本发明使用的特定词或短语的定义。
spark streaming计算框架:spark streaming计算框架的原理是将流式计算转化为一批很小的,确定的批处理作业,以X秒为单位将数据切分成离散的作业,将每批数据看做弹性分布式数据集,使用弹性分布式数据集操作符进行处理,最终以弹性分布式数据集为单位返回。其将spark扩展为大规模流处理作业,可以扩展到百级别的节点规模,达到秒级延迟,高效且具有良好的容错性。
Kafka:是开源的分布式发布-订阅消息系统,主要包括数据管道和消息队列。具备高吞吐率、低延迟、可动态扩展节点数据、数据持久化磁盘、多副本防数据丢失、高容错高并发的特点。
图1为本发明用户行为数据的处理方法实施例一的流程图,如图1所示,本实施例的执行主体为用户行为数据的处理装置,该用户行为数据的处理装置可以集成在计算机集群或服务器集群中,则本实施例提供的用户行为数据的处理方法包括以下几个步骤。
步骤101,获取用户行为数据。
其中,用户行为数据为用户通过移动终端在应用程序,网页所发生的行为数据。用户行为数据的数据格式为json格式。
本实施例中以事件为单位获取用户行为数据,一个用户行为事件数据中包括的信息有直接采集的信息及由采集信息衍生的信息。其中直接采集的信息可以包括:用户标识信息,事件发生时间戳,事件类型,用户移动终端号码,移动终端操作系统类型,电子串号(简称:IMEI),访问链接,基站信息。由采集信息衍生的信息可以包括:移动终端的机型,产地,品牌,内存,颜色类别,价格,硬件配置,用户访问的网页类型、搜索关键词,用户实时位置等。
其中,移动终端可以为智能手机、平板电脑、智能手环、智能手表等。
具体地,本实施例中,获取用户行为数据中的直接采集数据的方法为:当用户通过移动终端发生事件时,采集该事件对应的信息,该事件可以为点击事件,输入事件,搜索事件等。
本实施例中,通过电子串号获取由电子串号衍生的信息的方法为:获取电子串号的前六位数,该前六位数为型号核准号码,并和移动终端机型字典匹配,得到移动终端机型。电子串号的第七八位号为最后装配号,通过与移动终端产地字典匹配得到移动终端的产地。同时通过移动终端机型,产地,匹配从网页爬取的移动终端销售信息,该销售信息可以包括:移动终端品牌,内存,颜色类别,价格,硬件配置等。
本实施例中,通过访问链接获取由访问链接衍生的信息的方法为:解析URL域名,匹配主流网站地址,获取用户访问的网页类型、搜索关键词等信息。
本实施例中,通过基站信息获取由基站信息衍生的信息方法为:通过基站信息获取移动终端位置信息从而获取用户实时位置信息。
本实施例中,一个用户行为事件数据中直接采集的信息还可以包括其他信息,由直接采集的信息所衍生的信息也可以包括其他信息,本实施例中对此不做限定。
步骤102,将用户行为数据转化为kafka消息并进行缓存。
具体地,本实施例中,通过kafka系统将每一个用户行为数据以事件为单位转化为kafka消息,并由kafka系统进行缓存。
步骤103,采用spark streaming计算框架对kafka消息进行并行处理,以将用户行为数据进行关联。
具体地,本实施例中,将spark streaming计算框架部署到多台计算机或服务器上,每个计算机或服务器为集群中的一个节点。采用基于接收器接口(简称为:receiver-based接口)或直接接口(简称为:Direct接口)从kafka系统中获取kafka消息,对kafka消息进行并行处理,将用户行为数据进行关联。
若采用receiver-based接口从kafka系统中获取kafka消息,则启动若干接收器(英文为:Receiver),从kafka系统中拉取kafka消息,保存成弹性分布式数据集以供处理。若采用Direct接口从kafka系统中获取kafka消息,则无需启动Receiver,每一轮作业直接从kafka系统中获取kafka消息。本实施例中可以通过任一种接口从kafka系统中获取kafka消息。
步骤104,输出关联后的用户行为数据。
具体地,本实施例中,通过spark streaming计算框架对kafka消息进行关联处理后,输出关联后的用户行为数据。
其中,关联后的用户行为数据将每一个用户标识信息下的所有数据进行关联。关联后的用户行为数据可以包括:用户标识信息,每个事件类型发生的事件次数,每个事件发生的时间戳,用户所有的移动终端号码,每种移动终端操作系统类型,每种移动终端对应的电子串号(简称:IMEI),所有的访问链接,每个事件对应的基站信息,每种移动终端的机型,产地,品牌,内存,颜色类别,价格,硬件配置,用户访问的所有网页的类型、每次访问网页搜索关键词,每个事件对应的用户实时位置。
可以理解的是,关联后的用户行为数据还可以包括其他信息,本实施例中对此不做限定。
本实施例提供的用户行为数据的处理方法,通过获取用户行为数据;将用户行为数据转化为kafka消息并进行缓存;采用spark streaming计算框架对kafka消息进行并行处理,以将用户行为数据进行关联;输出关联后的用户行为数据。由于spark streaming计算框架能够把流式计算转化为一批很小的、确定的批处理作业,能够对数据进行并行处理,所以能够实现秒级的大量数据的处理,进而能够及时对用户行为数据进行处理及分析,感知用户兴趣。
图2为本发明用户行为数据的处理方法实施例二的流程图,如图2所示,本实施例提供的用户行为数据的处理方法,是在本发明用户行为数据的处理方法实施例一的基础上,还包括了采用direct接口获取kafka消息并进行数据格式转化的步骤,以及采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化的步骤,则本实施例提供用户行为数据的处理方法包括以下步骤。
步骤201,获取用户行为数据。
步骤202,将用户行为数据转化为kafka消息并进行缓存。
本实施例中,步骤201-步骤202的实现方式与本发明用户行为数据的处理方法实施例一中的步骤101-步骤102的实现方式相同,在此不再一一赘述。
步骤203,采用direct接口获取kafka消息。
进一步地,本实施例中,由于采用receiver-based接口从kafka系统中获取kafka消息,对于所有的接收器(英文为:Receiver),从kafka系统接收来的kafka消息会存储在spark streaming计算框架的执行器中,之后spark streaming计算框架提交的作业(英文为:job)会处理这些数据。而Spark streaming计算框架中的分片(英文为:partition)和kafka系统中的partition并不是相关的,通过加大每个主题(英文为:topic)的partition数量,仅仅是增加线程来处理由单一Receiver接收的数据。但是这并没有增加Sparkstreaming计算框架在处理数据上的并行度。而采用Direct接口方式没有receiver这一层,其会周期性的获取Kafka系统中每个topic的每个partition中的最新偏移值(英文为:offsets),之后根据设定的最大分区率(英文为:maxRatePerPartition)来处理每个批次。在采用Direct接口方式获取kafka消息,Kafka系统中的partition与spark streaming计算框架中的partition是一一对应的,更易并行读取Kafka消息,所以本实施例中采用direct接口获取kafka消息。
步骤204,将kafka消息转化为spark streaming计算框架中的数据格式。
进一步地,本实施例中,将kafka消息转化为Dstream数据格式,该Dstream数据格式为spark streaming计算框架中的数据格式。
步骤205,采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化。
进一步地,本实施例中,采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化,具体包括:
首先,从日志分析文件中获取训练集样本和测试集样本。
具体地,本实施例中,在日志分析文件中存储有多次对用户行为数据进行处理后的参数数据,该每次对用户行为数据进行处理后的参数数据至少包括:集群节点数量,节点设备内存,节点设备核数,数据量大小,数据格式,批处理间隔时间,数据输入率,延时时长,处理时间。本实施例中,以每次对用户行为数据进行处理后的参数数据作为训练样本或测试样本。由第一预设个数的训练样本组成训练集,以第二预设个数的测试样本组成测试集。
其中,第一预设个数大于第二预设个数,对第一预设个数和第二预设个数的数值不做限定。如第一预设个数可以为70,第二预设个数可以为30。
其次,通过训练集样本对随机森林模型进行训练,并输出计算资源参数。
进一步地,本实施例中,计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
其中,CPU资源数包括:CPU内核数及内存大小。
具体地,本实施例中,计算资源参数包括批处理间隔时间是因为:如果这个值设置的过短,则批处理间隔时间所产生的作业并不能在这期间完成处理,那么就会造成数据不断堆积,最终导致Spark Streaming计算框架发生阻塞。而且一般对于批处理间隔时间的设置不会小于500ms,因为过小会导致频繁的提交作业,对整个计算框架造成额外的负担。在平时的应用中,根据不同的应用场景和硬件配置,设在1~10s之间。此目标字段的预测值,会在1~10秒的区间限制内。
具体地,本实施例中,计算资源参数包括kafka消息拉取量是因为:在原有的sparkstreaming计算框架中这个参数默认是没有上限的,即kafka系统当中有多少kafka消息就会直接全部拉出。而根据写入Kafka消息的速率以及处理数据的速度,同时这个参数需要结合上面的批处理间隔时间,需要使每个数据分片的数量满足在每个批处理间隔时间的期间拉取的数据能够顺利的处理完毕,做到尽可能高的吞吐量,所以需要根据训练集得到最优的kafka消息拉取量。
具体地,本实施例中,计算资源参数包括缓存反复使用的弹性分布式数据集个数是因为:Spark streaming中的弹性分布式数据集如果被反复的使用,最好利用cache函数,将该数据流缓存起来,防止过度的调度资源造成的网络开销。所以需要根据训练集得到最优的缓存反复使用的弹性分布式数据集个数。
具体地,本实施例中,计算资源参数包括CPU资源数是因为:一种很常见的一种浪费是一个执行器占用了多个内核,但是总的CPU使用率却不高。这个时候可以考虑让一个执行器占用更少的内核,同时一台节点设备上面增加并行执行的执行器的数量,从而增加CPU利用率。但是增加执行器的时候需要考虑好内存消耗,因为一台机器的内存分配给越多的执行器,每个执行器的内存就越小,会出现内存溢出的情况。所以根据集群能提供的最大限度的CPU资源数,预测CPU内核数及内存大小。如集群内核core最大为72,内存最大为100G。在此限制条件内,根据训练集得到最优的CPU资源数。
具体地,本实施例中,计算资源参数包括主题分片数是因为:partition指的就是数据分片的数量,每一次任务只能处理一个partition的数据,这个值太小了会导致每片数据量太大,导致内存压力;但是如果太大了则会导致分片太多,执行效率降低。所以本实施例中,需要根据训练集得到最优的主题分片数。
具体地,本实施例中,设置计算资源参数和初始随机森林模型,将训练集样本输入到随机森林模型中进行训练,采用广度优先的方式逐层构建树节点,保证遍历数据的次数等于设定的树的层数,单个节点只需计算节点上切分点数据,并根据特征划分,决定是否切分以及切分方式,树的剪枝次数,树的子节点层数。最终通过单棵树的投票结构,以投票最多的结果得到处理时间最短的计算资源参数。
再次,通过测试集样本对计算资源参数进行验证。
具体地,本实施例中,将测试集样本输入到训练后的随机森林模型中,输出计算资源参数后,将输出的计算资源参数与测试集样本中的计算资源参数进行对比,若对比结果在预设数值范围内,则说明训练集样本对随机森林模型进行训练输出的计算资源参数通过验证。其中,输出的计算资源参数与测试集样本中的计算资源参数进行对比的方式不做限定,如可以为计算均方差,差值等。
最后,若计算资源参数通过验证,则确定计算资源参数为优化后的计算资源参数。
若训练集样本对随机森林模型进行训练输出的计算资源参数通过验证,则将该输出的计算资源参数确定为优化后的计算资源参数。
步骤206,将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数。
需要说明的是,步骤205-步骤206只需要在步骤207之前执行即可,与步骤201-步骤204之间无严格的时间限制。可以理解的是,在第一次执行本实施例的用户行为数据的处理方法时需要执行步骤205-步骤206,后续再执行本实施例的用户行为数据的处理方法时无需再次执行步骤205-步骤206。
步骤207,采用spark streaming计算框架对kafka消息进行并行处理,以将用户行为数据进行关联。
结合步骤206-步骤207进行说明。进一步地,本实施例中,将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数,由于设置的计算资源参数具有合理的批处理间隔时间,合理的kafka消息拉取量,合理的缓存反复使用的弹性分布式数据集的个数,合理的CPU资源数,所以采用设置了优化后的计算资源参数的spark streaming计算框架对kafka消息进行并行处理时,能够有效减少处理时间,并有效减少占用的资源。
步骤208,输出关联后的用户行为数据。
本实施例中,步骤208的实现方式与本发明用户行为数据的处理方法实施例一中的步骤104的实现方式相同,在此不再一一赘述。
本实施例提供的用户行为数据的处理方法,通过获取用户行为数据,将用户行为数据转化为kafka消息并进行缓存,采用direct接口获取kafka消息,将kafka消息转化为spark streaming计算框架中的数据格式,采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化,将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数,采用spark streaming计算框架对kafka消息进行并行处理,以将用户行为数据进行关联,输出关联后的用户行为数据。由于将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数,按照设置了优化后的计算资源参数的sparkstreaming计算框架对kafka消息进行并行处理,进一步提高了数据的处理速度,有效减少了处理时间,并有效减少了占用的资源。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明用户行为数据的处理装置实施例一的结构示意图,如图3所示,本实施例提供的用户行为数据的处理装置包括:获取模块31,转化模块32,缓存模块33,处理模块34及输出模块35。
其中,获取模块31,用于获取用户行为数据。转化模块32,用于将用户行为数据转化为kafka消息。缓存模块33,用于将kafka消息进行缓存。处理模块34,用于采用sparkstreaming计算框架对kafka消息进行并行处理,以将用户行为数据进行关联。输出模块35,用于输出关联后的用户行为数据。
本实施例提供的用户行为数据的处理装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明用户行为数据的处理装置实施例二的结构示意图,如图4所示,本实施例提供的用户行为数据的处理装置在本发明用户行为数据的处理装置实施例一的基础上,进一步地,还包括:优化模块41及设置模块42。
进一步地,获取模块31,还用于采用direct接口获取kafka消息。转化模块32,还用于将kafka消息转化为spark streaming计算框架中的数据格式。
进一步地,优化模块41,用于采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化。设置模块42,用于将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数。
进一步地,优化模块41,具体用于:
从日志分析文件中获取训练集样本和测试集样本;通过训练集样本对随机森林模型进行训练,并输出计算资源参数;通过测试集样本对计算资源参数进行验证;若计算资源参数通过验证,则确定计算资源参数为优化后的计算资源参数。
其中,计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
本实施例提供的用户行为数据的处理装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种用户行为数据的处理装置,包括:存储器,处理器以及计算机程序。
其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现本发明用户行为数据的处理方法实施例一或本发明用户行为数据的处理方法实施例二中的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明用户行为数据的处理方法实施例一或本发明用户行为数据的处理方法实施例二中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种用户行为数据的处理方法,其特征在于,包括:
获取用户行为数据;
将所述用户行为数据转化为kafka消息并进行缓存;
采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;
输出关联后的用户行为数据;
所述采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联之前,还包括:
采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化;
将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数;
所述采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化,具体包括:
从日志分析文件中获取训练集样本和测试集样本;
通过所述训练集样本对所述随机森林模型进行训练,并输出计算资源参数;
通过所述测试集样本对所述计算资源参数进行验证;
若所述计算资源参数通过验证,则确定所述计算资源参数为优化后的计算资源参数;
所述计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
2.根据权利要求1所述的方法,其特征在于,所述采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联之前,还包括:
采用direct接口获取所述kafka消息;
将所述kafka消息转化为所述spark streaming计算框架中的数据格式。
3.一种用户行为数据的处理装置,其特征在于,包括:
获取模块,用于获取用户行为数据;
转化模块,用于将所述用户行为数据转化为kafka消息;
缓存模块,用于将所述kafka消息进行缓存;
处理模块,用于采用spark streaming计算框架对所述kafka消息进行并行处理,以将所述用户行为数据进行关联;
输出模块,用于输出关联后的用户行为数据;
优化模块,用于采用随机森林模型对spark streaming计算框架中的计算资源参数进行优化;
设置模块,用于将spark streaming计算框架中的计算资源参数设置为优化后的计算资源参数;
所述优化模块,具体用于:
从日志分析文件中获取训练集样本和测试集样本;通过所述训练集样本对所述随机森林模型进行训练,并输出计算资源参数;通过所述测试集样本对所述计算资源参数进行验证;若所述计算资源参数通过验证,则确定所述计算资源参数为优化后的计算资源参数;
所述计算资源参数至少包括:批处理间隔时间,kafka消息拉取量,缓存反复使用的弹性分布式数据集个数,CPU资源数,主题分片数。
4.根据权利要求3所述的装置,其特征在于,所述获取模块,还用于采用direct接口获取所述kafka消息;
所述转化模块,还用于将所述kafka消息转化为所述spark streaming计算框架中的数据格式。
5.一种用户行为数据的处理装置,其特征在于,包括:
存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1或2所述的方法。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810449413.6A CN108647329B (zh) | 2018-05-11 | 2018-05-11 | 用户行为数据的处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810449413.6A CN108647329B (zh) | 2018-05-11 | 2018-05-11 | 用户行为数据的处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647329A CN108647329A (zh) | 2018-10-12 |
CN108647329B true CN108647329B (zh) | 2021-08-10 |
Family
ID=63754557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810449413.6A Active CN108647329B (zh) | 2018-05-11 | 2018-05-11 | 用户行为数据的处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647329B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361629B (zh) * | 2018-10-26 | 2020-11-03 | 江苏大学 | 一种基于Kafka大消息可靠传输方法 |
CN109471741A (zh) * | 2018-10-31 | 2019-03-15 | 新华三大数据技术有限公司 | 一种Spark平台中事件处理方法和装置 |
CN111124847B (zh) * | 2018-11-01 | 2023-07-25 | 百度在线网络技术(北京)有限公司 | 网站用户行为分析方法及装置 |
CN111163118B (zh) * | 2018-11-07 | 2023-04-07 | 株式会社日立制作所 | 一种Kafka集群中的消息传输方法及装置 |
CN109710612B (zh) * | 2018-12-25 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 向量索引的召回方法、装置、电子设备和存储介质 |
US20200219024A1 (en) * | 2019-01-07 | 2020-07-09 | Walmart Apollo, Llc | System and method for real-time business intelligence atop existing streaming pipelines |
CN111737661A (zh) * | 2020-05-22 | 2020-10-02 | 北京百度网讯科技有限公司 | 异常堆栈处理方法、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488216A (zh) * | 2015-12-17 | 2016-04-13 | 上海中彦信息科技有限公司 | 基于隐式反馈协同过滤算法的推荐系统及方法 |
CN105930373A (zh) * | 2016-04-13 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于spark streaming的大数据流处理方法和系统 |
CN106126641A (zh) * | 2016-06-24 | 2016-11-16 | 中国科学技术大学 | 一种基于Spark的实时推荐系统及方法 |
CN106776855A (zh) * | 2016-11-29 | 2017-05-31 | 上海轻维软件有限公司 | 基于Spark Streaming读取Kafka数据的处理方法 |
CN106874478A (zh) * | 2017-02-17 | 2017-06-20 | 重庆邮电大学 | 基于Spark的并行化随机标签子集多标签文本分类方法 |
-
2018
- 2018-05-11 CN CN201810449413.6A patent/CN108647329B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488216A (zh) * | 2015-12-17 | 2016-04-13 | 上海中彦信息科技有限公司 | 基于隐式反馈协同过滤算法的推荐系统及方法 |
CN105930373A (zh) * | 2016-04-13 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于spark streaming的大数据流处理方法和系统 |
CN106126641A (zh) * | 2016-06-24 | 2016-11-16 | 中国科学技术大学 | 一种基于Spark的实时推荐系统及方法 |
CN106776855A (zh) * | 2016-11-29 | 2017-05-31 | 上海轻维软件有限公司 | 基于Spark Streaming读取Kafka数据的处理方法 |
CN106874478A (zh) * | 2017-02-17 | 2017-06-20 | 重庆邮电大学 | 基于Spark的并行化随机标签子集多标签文本分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108647329A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647329B (zh) | 用户行为数据的处理方法、装置及计算机可读存储介质 | |
US10679132B2 (en) | Application recommending method and apparatus | |
CN106940679B (zh) | 数据处理方法及装置 | |
US9832280B2 (en) | User profile configuring method and device | |
US8838651B2 (en) | Database system testing | |
US10346496B2 (en) | Information category obtaining method and apparatus | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN110598109A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN111415200A (zh) | 数据处理方法及装置 | |
CN116225848A (zh) | 日志监测方法、装置、设备和介质 | |
CN113918577B (zh) | 数据表识别方法、装置、电子设备及存储介质 | |
CN111400608B (zh) | 数据处理方法及装置、存储介质及电子设备 | |
CN110674839B (zh) | 异常用户识别方法、装置、存储介质及电子设备 | |
CN116134460A (zh) | 对信息技术服务管理系统中的警报进行优先化 | |
CN111858918A (zh) | 新闻分类方法及装置、网元、存储介质 | |
CN115396319B (zh) | 数据流分片方法、装置、设备及存储介质 | |
CN113220530B (zh) | 数据质量监控方法及平台 | |
JP2014191365A (ja) | 多階層システムに含まれる処理システムの分類装置及び多階層システムに含まれる処理システムの分類プログラム並びに多階層システムに含まれる処理システムの分類方法 | |
CN112148491B (zh) | 数据处理方法及装置 | |
CN113535594B (zh) | 业务场景测试用例的生成方法、装置、设备和存储介质 | |
CN109241428B (zh) | 用户性别的确定方法、装置、服务器及存储介质 | |
US11886451B2 (en) | Quantization of data streams of instrumented software and handling of delayed data by adjustment of a maximum delay | |
US11886453B2 (en) | Quantization of data streams of instrumented software and handling of delayed or late data | |
CN116204441A (zh) | 索引数据结构的性能测试方法、装置、设备及存储介质 | |
CN112115036A (zh) | 集群容量预测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |