System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Spark SQL的数据处理方法及装置制造方法及图纸_技高网

一种基于Spark SQL的数据处理方法及装置制造方法及图纸

技术编号:40542893 阅读:7 留言:0更新日期:2024-03-05 18:59
本申请涉及数据处理技术领域,尤其涉及一种基于Spark SQL的数据处理方法及装置,基于Spark引擎对原始数据进行处理,并将得到的处理结果的相应数据写入数据仓库的Hive表中,然后只需要通过Java调度程序配置与所述Hive表结构一样、名称一样的ElasticSearch表,即可将Hive表中的数据快速写入ElasticSearch表中,完成数据同步,从而在有大量数据表的数据需要进行同步时,可以大大节省工作量;并且在进行数据导入时,对于数据量较大的数据采用ElasticSearch搜索服务器自身的bulk load接口完成数据同步,对于数据量较小的数据通过Spark引擎调用SparkElasticSearch接口完成数据同步,从而根据要导入数据的数据量大小进行灵活控制,达到更高的数据同步效率。

【技术实现步骤摘要】

本申请涉及数据处理,尤其涉及一种基于spark sql的数据处理方法及装置。


技术介绍

1、数据仓库(data warehouse,简写为dw),是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

2、在数据仓库中,处理好的数据还需要同步到不同的数据库中,以供各种应用使用。在基于hadoop、spark的数据仓库中,用spark处理完数据,然后还需要将数据同步到rdbms、elasticsearch等数据库中。其中将数据同步到elasticsearch时,由于elasticsearch与spark常规处理差异比较大,同步时需要很多的开发工作才可以完成,而由于开发的代码很多,bug也会同步增长,从而降低了数据同步的效率。


技术实现思路

1、为克服现有技术中的不足,本申请提供一种基于spark sql的数据处理方法及装置,能够通过配置表名称完成数据同步,提升数据同步效率。

2、第一方面,本申请提供一种基于spark sql的数据处理方法,包括以下步骤:

3、基于spark引擎对原始数据进行处理,得到所述原始数据的处理结果,并将所述处理结果的数据写入数据仓库的hive表中;

4、基于spark引擎读取所述hive表的配置表名;

5、检测elasticsearch搜索服务器中是否存在与所述hive表的配置表名一样的elasticsearch表;若不存在,基于所述hive表构建elasticsearch表;若存在,将所述elasticsearch表中的数据删除;

6、基于spark引擎将所述hive表的中的数据写入elasticsearch表中。

7、在一种可能的实施方式中,所述基于spark引擎对原始数据进行处理,包括以下步骤:

8、基于spark引擎执行数据计算策略对原始数据进行处理;其中,所述数据计算策略为sql脚本开发的计算策略,包括数据丢弃策略、数据关联策略中的一种或多种。

9、在一种可能的实施方式中,所述基于所述hive表构建elasticsearch表,包括以下步骤:

10、基于java调度程序解析所述hive表的建表语句、字段名和字段类型,并保存在缓存中;

11、将构建elasticsearch表的json语句用缓存中的字段名和字段类型进行拼接;其中,将所述hive表的字段类型映射成json的数据类型;

12、基于elasticsearch java接口传入json字符串参数生成elasticsearch表结构,并将生成的elasticsearch表设置为与所述hive表的配置表名一样的名称。

13、在一种可能的实施方式中,所述将所述elasticsearch表中的数据删除,包括以下步骤:

14、确定所述hive表的类别;其中,所述hive表包括增量表和全量表;

15、基于所述hive表的类别,将elasticsearch搜索服务器中与所述hive表的配置表名一样的elasticsearch表中的数据进行删除;其中,若所述hive表为增量表,按照增量条件将所述elasticsearch表中的数据进行部分删除;若所述hive表为全量表,将所述elasticsearch表中的数据进行全部删除。

16、在一种可能的实施方式中,所述基于spark引擎将所述hive表的中的数据写入elasticsearch表中,包括以下步骤:

17、检测待写入elasticsearch表中的数据的数据量;

18、若待写入elasticsearch表中的数据的数据量低于设定的阈值,基于spark引擎调用spark elasticsearch接口将所述hive表的中的数据写入elasticsearch表中;

19、若待写入elasticsearch表中的数据的数据量高于设定的阈值,先基于spark引擎将待写入elasticsearch表中的数据写成本地文件,再调用elasticsearch搜索服务器的bulk load接口将所述本地文件导入elasticsearch表中。

20、在一种可能的实施方式中,所述基于spark引擎将所述hive表的中的数据写入elasticsearch表中之后,还包括以下步骤:

21、查看所述hive表与所述elasticsearch表中数据的记录条数、数值型字段的平均值、方差是否一致,若不一致,进行报错处理。

22、在一种可能的实施方式中,所述原始数据为关系型数据或者非关系型数据。

23、第二方面,本申请提供一种基于spark sql的数据处理装置,包括:

24、第一写入模块,用于基于spark引擎对原始数据进行处理,得到所述原始数据的处理结果,并将所述处理结果的数据写入数据仓库的hive表中;

25、读取模块,用于基于spark引擎读取所述hive表的配置表名;

26、检测模块,用于检测elasticsearch搜索服务器中是否存在与所述hive表的配置表名一样的elasticsearch表;若不存在,基于所述hive表构建elasticsearch表;若存在,将所述elasticsearch表中的数据删除;

27、第二写入模块,用于基于spark引擎将所述hive表的中的数据写入elasticsearch表中。

28、第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面任一所述的基于spark sql的数据处理方法的步骤。

29、第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面任一所述的基于spark sql的数据处理方法的步骤。

30、本实施例提供的一种基于spark sql的数据处理方法及装置,基于spark引擎对原始数据进行处理,得到所述原始数据的处理结果,并将所述处理结果的数据写入数据仓库的hive表中;基于spark引擎读取所述hive表的配置表名;检测elasticsearch搜索服务器中是否存在与所述hive表的配置表名一样的elasticsearch表;若不存在,基于所述hive表构建elasticsearch表;若存在,将所述elasticsearch表中的数据删除;基于spark引擎将所述hive表的中的数据写入elasticsearch表中,通过配置表名称即可实现数据的快速同步,提升效率。

本文档来自技高网...

【技术保护点】

1.一种基于Spark SQL的数据处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述一种基于Spark SQL的数据处理方法,其特征在于,所述基于Spark引擎对原始数据进行处理,包括以下步骤:

3.根据权利要求2所述一种基于Spark SQL的数据处理方法,其特征在于,所述基于所述Hive表构建ElasticSearch表,包括以下步骤:

4.根据权利要求3所述一种基于Spark SQL的数据处理方法,其特征在于,所述将所述ElasticSearch表中的数据删除,包括以下步骤:

5.根据权利要求4所述一种基于Spark SQL的数据处理方法,其特征在于,所述基于Spark引擎将所述Hive表的中的数据写入ElasticSearch表中,包括以下步骤:

6.根据权利要求5所述一种基于Spark SQL的数据处理方法,其特征在于,所述基于Spark引擎将所述Hive表的中的数据写入ElasticSearch表中之后,还包括以下步骤:

7.根据权利要求6所述一种基于Spark SQL的数据处理方法,其特征在于,所述原始数据为关系型数据或者非关系型数据。

8.一种基于Spark SQL的数据处理装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的基于SparkSQL的数据处理方法的步骤。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的基于Spark SQL的数据处理方法的步骤。

...

【技术特征摘要】

1.一种基于spark sql的数据处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述一种基于spark sql的数据处理方法,其特征在于,所述基于spark引擎对原始数据进行处理,包括以下步骤:

3.根据权利要求2所述一种基于spark sql的数据处理方法,其特征在于,所述基于所述hive表构建elasticsearch表,包括以下步骤:

4.根据权利要求3所述一种基于spark sql的数据处理方法,其特征在于,所述将所述elasticsearch表中的数据删除,包括以下步骤:

5.根据权利要求4所述一种基于spark sql的数据处理方法,其特征在于,所述基于spark引擎将所述hive表的中的数据写入elasticsearch表中,包括以下步骤:

6.根据权利要求5所述一种基于spark sql的数据处理方法,其特...

【专利技术属性】
技术研发人员:崔雪征张金龙贾小龙李娟
申请(专利权)人:昆仑数智科技有限责任公司
类型:发明
国别省市:

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

1