自动化加载大数据的加载方法和系统技术方案

技术编号:37196249 阅读:8 留言:0更新日期:2023-04-20 22:54
本发明专利技术提供了一种自动化加载大数据的加载方法和系统,包括:检查并将数据文件、数据标志文件上传分布式文件系统HDFS;进行初始化配置,将数据检查上传步骤中生产的数据处理后进行切片,写入集群上不同的机器上的缓存区;将缓存区中的数据写入到分布式文件系统HDFS上形成新文件,通过hive自动读取到分布式文件系统HDFS目录上写入的新文件。本发明专利技术提高了大数据自动化加载的速度,改善了mapReduce的容错性、减少了数据倾斜的可能性并且基本上覆盖大数据读入后要求的textFi le、Parquet、ORC等不同格式的需求,使得自动化加载系统更加具有普遍适应性。遍适应性。遍适应性。

【技术实现步骤摘要】
自动化加载大数据的加载方法和系统


[0001]本专利技术涉及数据迁移加载领域,具体地,涉及自动化加载大数据的加载方法和系统。

技术介绍

[0002]随着国民GDP总量不断提高,银行业也迎来了快速发展,业务量不断提高,不仅仅是线下业务的提高,线上的不论是PC端还是移动端都得到了提高;这导致了不同系统的数据量大大提高。
[0003]但是,每个业务部门相对独立,想要将不同的数据进行深入挖掘其价值就不仅仅局限于单部门或者少量部门的数据,需要将全公司各个业务部门的所有数据进行入池,进行深入的挖掘,提高数据的价值。
[0004]为了将数据安全存储,高效的挖掘使用,将不同的数据迁移到大数据平台(hadoop)已经是一种趋势;
[0005]专利文献CN114296633A公开了一种基于大数据的数据迁移方法,包括:终端同时向多个元数据节点发送数据获取请求;第一元数据节点基于数据获取请求,获取第一磁盘中的文件数据对应的元数据,并将文件数据对应的元数据发送至zookeeper中;zookeeper基于文件数据对应的元数据,获取文件数据对应的第一文件数据节点及对应的第二磁盘信息;当第二磁盘指示状态为饱和时,zookeeper控制第二磁盘将第二磁盘中的数据迁移至第三磁盘;zookeeper将第一文件数据节点与挂载的第三磁盘信息发送至第一元数据节点,并通过第一元数据节点透发至终端。
[0006]但是现在数据迁移的方式通常是手动加载数据或者使用大数据组件自带的读取功能将数据读入。

技术实现思路

[0007]针对现有技术中的缺陷,本专利技术的目的是提供一种自动化加载大数据的加载方法和系统。
[0008]根据本专利技术提供的一种自动化加载大数据的加载方法,包括:
[0009]数据检查上传步骤:检查并将数据文件、数据标志文件上传分布式文件系统HDFS;
[0010]配置数据切片步骤:进行初始化配置,将数据检查上传步骤中生产的数据处理后进行切片,写入集群上不同的机器上的缓存区;
[0011]自动读取步骤:将缓存区中的数据写入到分布式文件系统HDFS上形成新文件,通过hive自动读取到分布式文件系统HDFS目录上写入的新文件。
[0012]优选地,所述数据检查上传步骤,包括:
[0013]步骤S1:检查数据文件、数据标志文件,并在数据标志文件描述的数据行数不为0且描述的数据文件大小与所述数据文件实际的大小一致,则触发步骤S2;其中,所述数据文件是将要加载的数据的存储文档,所述数据标志文件是对于数据文件的基本描述;在所述
步骤S1中:若数据标志文件中数据行数为0则不加载数据,加载数据完成;若数据标志文件中的数据文件大小与数据文件实际的大小不同,则认为是异常,提示用户检查数据源;
[0014]步骤S2:将所述数据文件和数据标志文件上传到分布式文件系统HDFS。
[0015]优选地,所述配置数据切片步骤,包括:
[0016]步骤S3:注册SparkSQL并且启用HiveSupport,通过SparkSQL读取到数据标志文件中的字段信息,并且将字段信息转变为hive建表语句,执行SparkSQL建立相应的hive表;同时将表结构语句作为json文件输出到HDFS临时文件上;
[0017]步骤S4:初始化加载方法的基本信息;
[0018]步骤S5:建立序列化对象,并且对于不同的字段类型给予不同的编号代码;将步骤S3中生成的临时文件读入,将产生的表结构信息放到对象中,此时对象获得每个字段在Byte下开始的位置、结束的位置、数据类型、数据最大占用长度;
[0019]步骤S6:配置MapReduce的Job的基本信息;
[0020]步骤S7:重写MapReduce的切片机制,对步骤S5处理后的数据进行切片,得到切片数据;
[0021]步骤S8:对切片数据进行map()函数的步骤,均匀的写入集群上不同的机器上的缓存区;
[0022]其中,切片的方式包括指定为换行符,记为方式1,还包括按照字段的Byte长度进行切割,记为方式2;所述方式1的输出数据主键为IntWriteable类型,值为Text类型,所述方式2的输出数据主键为IntWriteable类型,值为ByteWriteable类型;其中,默认基于方式1加载数据,当数据中有脏数据时,加载行数与数据文件不一致,自动执行基于方式2加载数据。
[0023]优选地,所述自动读取步骤,包括:
[0024]步骤S9:当数据缓存数量超过100M或者加载map()函数处理完所有数据后,数据进行reduce()函数操作,将数据写入到HDFS上,并且写入之前给每个数据打上唯一的序号值,写入HDFS的数据按照reduce()函数的配置的输出路径和数据格式进行输出到相应的位置,hive会自动读取到HDFS目录上写入的新文件;
[0025]步骤10、SparkSQL检查hive表中导入的数据量,将得到的数据量与flg文件信息中的文件进行对比,若数据行数一致则认为加载成功,否则则认为加载失败。
[0026]优选地,通过MapReduce的方式对数据进行自动化加载,其中当数据源在原字段后边增加新字段后,通过建表语句的读取加载的数据的方式,仍然加载原来业务使用的数据。
[0027]根据本专利技术提供的一种自动化加载大数据的加载系统,包括:
[0028]数据检查上传模块:检查并将数据文件、数据标志文件上传分布式文件系统HDFS;
[0029]配置数据切片模块:进行初始化配置,将数据检查上传模块中生产的数据处理后进行切片,写入集群上不同的机器上的缓存区;
[0030]自动读取模块:将缓存区中的数据写入到分布式文件系统HDFS上形成新文件,通过hive自动读取到分布式文件系统HDFS目录上写入的新文件。
[0031]优选地,所述数据检查上传模块,包括:
[0032]模块M1:检查数据文件、数据标志文件,并在数据标志文件描述的数据行数不为0且描述的数据文件大小与所述数据文件实际的大小一致,则触发模块M2;其中,所述数据文
件是将要加载的数据的存储文档,所述数据标志文件是对于数据文件的基本描述;在所述模块M1中:若数据标志文件中数据行数为0则不加载数据,加载数据完成;若数据标志文件中的数据文件大小与数据文件实际的大小不同,则认为是异常,提示用户检查数据源;
[0033]模块M2:将所述数据文件和数据标志文件上传到分布式文件系统HDFS。
[0034]优选地,所述配置数据切片模块,包括:
[0035]模块M3:注册SparkSQL并且启用HiveSupport,通过SparkSQL读取到数据标志文件中的字段信息,并且将字段信息转变为hive建表语句,执行SparkSQL建立相应的hive表;同时将表结构语句作为json文件输出到HDFS临时文件上;
[0036]模块M4:初始化加载系统的基本信息;
[0037]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化加载大数据的加载方法,其特征在于,包括:数据检查上传步骤:检查并将数据文件、数据标志文件上传分布式文件系统HDFS;配置数据切片步骤:进行初始化配置,将数据检查上传步骤中生产的数据处理后进行切片,写入集群上不同的机器上的缓存区;自动读取步骤:将缓存区中的数据写入到分布式文件系统HDFS上形成新文件,通过hive自动读取到分布式文件系统HDFS目录上写入的新文件。2.根据权利要求1所述的自动化加载大数据的加载方法,其特征在于,所述数据检查上传步骤,包括:步骤S1:检查数据文件、数据标志文件,并在数据标志文件描述的数据行数不为0且描述的数据文件大小与所述数据文件实际的大小一致,则触发步骤S2;其中,所述数据文件是将要加载的数据的存储文档,所述数据标志文件是对于数据文件的基本描述;在所述步骤S1中:若数据标志文件中数据行数为0则不加载数据,加载数据完成;若数据标志文件中的数据文件大小与数据文件实际的大小不同,则认为是异常,提示用户检查数据源;步骤S2:将所述数据文件和数据标志文件上传到分布式文件系统HDFS。3.根据权利要求2所述的自动化加载大数据的加载方法,其特征在于,所述配置数据切片步骤,包括:步骤S3:注册SparkSQL并且启用HiveSupport,通过SparkSQL读取到数据标志文件中的字段信息,并且将字段信息转变为hive建表语句,执行SparkSQL建立相应的hive表;同时将表结构语句作为json文件输出到HDFS临时文件上;步骤S4:初始化加载方法的基本信息;步骤S5:建立序列化对象,并且对于不同的字段类型给予不同的编号代码;将步骤S3中生成的临时文件读入,将产生的表结构信息放到对象中,此时对象获得每个字段在Byte下开始的位置、结束的位置、数据类型、数据最大占用长度;步骤S6:配置MapReduce的Job的基本信息;步骤S7:重写MapReduce的切片机制,对步骤S5处理后的数据进行切片,得到切片数据;步骤S8:对切片数据进行map()函数的步骤,均匀的写入集群上不同的机器上的缓存区;其中,切片的方式包括指定为换行符,记为方式1,还包括按照字段的Byte长度进行切割,记为方式2;所述方式1的输出数据主键为IntWriteable类型,值为Text类型,所述方式2的输出数据主键为IntWriteable类型,值为ByteWriteable类型;其中,默认基于方式1加载数据,当数据中有脏数据时,加载行数与数据文件不一致,自动执行基于方式2加载数据。4.根据权利要求3所述的自动化加载大数据的加载方法,其特征在于,所述自动读取步骤,包括:步骤S9:当数据缓存数量超过100M或者加载map()函数处理完所有数据后,数据进行reduce()函数操作,将数据写入到HDFS上,并且写入之前给每个数据打上唯一的序号值,写入HDFS的数据按照reduce()函数的配置的输出路径和数据格式进行输出到相应的位置,hive会自动读取到HDFS目录上写入的新文件;步骤10、SparkSQL检查hive表中导入的数据量,将得到的数据量与flg文件信息中的文件进行对比,若数据行数一致则认为加载成功,否则则认为加载失败。
5.根据权利要求1所述的自动化加载大数据的加载方法,其特征在于,通过MapReduce的方式对数据进行自动化加载,其中当数据源在原字段后边增加新字段后,通过建表语句的读取加...

【专利技术属性】
技术研发人员:张云粮廖韵文唐进魏东旺胡小明
申请(专利权)人:兴业数字金融服务上海股份有限公司
类型:发明
国别省市:

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

1