【技术实现步骤摘要】
一种数据存储和分析方法、装置、设备和可读介质
本申请涉及计算机
,尤其涉及一种数据存储和分析方法、装置、设备和可读介质。
技术介绍
在大数据领域,一种对数据仓库中的数据进行查询的方式称为“即席查询(AdHoc)”,即席查询是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。即席查询通常的实现方式是,将数据仓库中的维度表和事实表映射到语义层,用户可以通过语义层选择表,建立表间的关联,最终生成SQL语句。即席查询不同于通常的查询。通常的查询在系统设计和实施时是已知的,所以可以在系统实施时通过建立索引、分区等技术来优化这些查询,从而提高这些查询的效率。而即席查询是用户在使用时临时生成的,系统无法预先优化这些查询。客户端上报的用户行为日志数据多为文本化的JSON(JavaScriptObjectNotation)字符串,其中包括该埋点相关的参数信息,上层的分析系统需要基于这些数据进行筛选、聚合等操作,最终输出查询结果。对于客户端上报的日志数据,较常见的方式是将文本化的JSON数据直接存储为一列,在查询过程中通过数据仓库计算引擎提供的getJSONObject的方式进行字段的抽取和筛选。这种数据查询方法的问题在于需要多次解析JSON操作,会消耗大量的计算资源,花费大量的计算时间,无法满足即席查询时秒级的数据聚合和筛选需求。
技术实现思路
有鉴于此,本申请实施例提供了 ...
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n获取埋点配置信息,所述埋点配置信息中定义了埋点和所述埋点的埋点参数字段,其中,所述埋点参数字段包括埋点标识字段;/n基于所述埋点配置信息,确定列式存储表的列结构,其中,所述列式存储表中的每列对应一个埋点参数字段并且各列对应的埋点参数字段彼此不同;/n从埋点日志信息中获取埋点参数字段的值,将所述埋点参数字段的值存储到所述列式存储表中的相应列中,其中,所述列式存储表中的每行对应于一条埋点日志信息。/n
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
获取埋点配置信息,所述埋点配置信息中定义了埋点和所述埋点的埋点参数字段,其中,所述埋点参数字段包括埋点标识字段;
基于所述埋点配置信息,确定列式存储表的列结构,其中,所述列式存储表中的每列对应一个埋点参数字段并且各列对应的埋点参数字段彼此不同;
从埋点日志信息中获取埋点参数字段的值,将所述埋点参数字段的值存储到所述列式存储表中的相应列中,其中,所述列式存储表中的每行对应于一条埋点日志信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述埋点配置信息,确定列式存储表的列结构,具体包括:
将所述埋点参数字段存储到第一MySQL数据表中;
对所述第一MySQL数据表中的埋点参数字段进行去重,得到第二MySQL数据表;
基于所述第二MySQL数据表中的埋点参数字段,确定列式存储表的列结构,其中,所述列式存储表中的列一一对应于所述第二MySQL数据表中的埋点参数字段。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取更新的埋点配置信息,所述埋点配置信息中定义了更新的埋点参数字段;
基于所述更新的埋点参数字段,得到更新的第一MySQL数据表;
基于所述更新的第一MySQL数据表,与所述第二MySQL数据表中的字段进行对比;
若所述更新的第一MySQL数据表与所述第二MySQL数据表中具有不同的埋点参数字段,则基于所述更新的第一MySQL数据表,更新所述第二MySQL数据表,得到更新的第二MySQL数据表;
基于所述更新的第二MySQL数据表中的埋点参数字段,更新所述列式存储表,得到更新的列式存储表,其中,所述更新的列式存储表中的列一一对应于所述更新的第二MySQL数据表中的一个埋点参数字段;
从埋点日志信息中获取埋点参数字段的值,将埋点参数字段的值存储到所述更新的列式存储表的相应列中,其中,所述埋点日志信息是基于所述更新的埋点配置信息上报的。
4.根据权利要求1所述的方法,其特征在于,所述从埋点日志信息中获取埋点参数字段的值之前,还包括:
将用户端根据埋点配置信息上报的非结构化文本格式的用户行为日志数据存储到消息中间件中;
使用第一数据处理引擎,从所述消息中间件中读取所述用户行为日志数据;
将所述用户行为日志数据存储到hive底层表中,得到埋点日志信息。
5.根据权利要求4所述的方法,其特征在于,所述从埋点日志信息中获取埋点参数字段的值,将所述埋点参数字段的值存储到所述列式存储表中的相应列中,具体包括:
以预定周期,获取新的埋点日志信息;
将所述新的埋点日志信息中的埋点参数字段的值存储到所述列式存储表中的所述相应列中。
6.根据权利要求4所述的方法,其特征在于,所述将用户端根据埋点配置信息上报的非结构化文本格式的用户行为日志数据存储到消息中间件中之后,还包括:
使用第二数据处理引擎,从所述消息中间件中读取所述用户行为日志数据;
将所述用户行为日志数据存储到缓存中,所述缓存中的数据格式为键-值形式,其中,键为埋点标识-埋点参数字段,值为埋点参数字段的值。
7.一种数据分析方法,其特征在于,所述方法包括:
获取数据分析配置信息,其中,所述数据分析配置信息包括时间粒度、待分析日期和待分析埋点标识;
根据所述数据分析配置信息,筛选符合所述待分析日期和所述待分析埋点标识的埋点日志信息,其中,所述埋点日志信息存储在列式存储表中,所述列式存储表的每行对应于一条埋点日志信息,...
【专利技术属性】
技术研发人员:刘少伟,陈璇,高元胜,徐嘉亮,徐唐,沈仁奎,邓鑫鑫,
申请(专利权)人:北京思维造物信息科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。