一种数据导入方法以及相关装置与流程

文档序号:11918695阅读:来源:国知局

技术特征:

1.一种数据导入方法,用于数据导入装置将第一源数据导入分布式文件系统中的目标分区表,其特征在于,所述目标分区表包括M个表分区,所述数据导入装置包括P个数据缓存区,所述M、P均为正整数,所述方法包括:

读取所述第一源数据,得到所述第一源数据的N个第一数据块,每个所述第一数据块包括待导入一个或多个所述表分区中的数据,所述N为不小于2的整数;

根据所述N个第一数据块,确定所述M个表分区中每个表分区对应的数据缓存区,其中一个所述表分区只对应一个数据缓存区;

将所述N个第一数据块中的数据写入待导入的表分区对应的数据缓存区中;

将每个所述数据缓存区中的数据分别导入对应的表分区中。

2.根据权利要求1所述的数据导入方法,其特征在于,所述目标分区表包括分区列,所述目标分区表按照所述分区列被划分为M个表分区,所述M个表分区分别为表分区1、表分区2、……表分区M;

所述确定所述M个表分区中每个表分区对应的数据缓存区包括:

对表分区m的分区列的值进行哈希运算,得到哈希值Hm,其中1≤m≤M;

将Hm对P值取余,得到余数q,其中0≤q≤P-1;

将q值对应的数据缓存区,确定为所述表分区m对应的数据缓存区。

3.根据权利要求1或2所述的数据导入方法,其特征在于,所述读取所述第一源数据,得到所述第一源数据的N个第一数据块具体包括:

接收运算指令,所述运算指令用于指示对所述第一源数据进行运算;

读取所述第一源数据,得到所述第一源数据的N个数据原始块;

根据所述运算指令,对所述第一源数据的N个数据原始块进行运算,并将对所述N个数据原始块的运算结果确定为所述第一源数据的N个第一数据块。

4.根据权利要求1至3中任一项所述的数据导入方法,其特征在于,所述方法还用于数据导入装置将第二源数据导入所述分布式文件系统中的目标非分区表或目标文件,所述方法还包括:

读取所述第二源数据,得到所述第二源数据的Z个第二数据块,所述Z为不小于2的整数;

将所述第二源数据的Z个第二数据块中的数据写入对应的数据缓存区中;

将每个所述数据缓存区中的数据导入所述目标非分区表或目标文件中。

5.根据权利要求4所述的数据导入方法,其特征在于,所述将所述第二源数据的Z个第二数据块中的数据写入对应的数据缓存区中包括:

采用轮询方法确定所述第二源数据的Z个第二数据块中,每个数据块对应的数据缓存区;

将所述第二源数据的Z个第二数据块中每个数据块的数据分别写入对应的数据缓存区中。

6.根据权利要求4所述的数据导入方法,其特征在于,所述将所述第二源数据的Z个第二数据块中的数据写入对应的数据缓存区中包括:

采用轮询方法将所述第二源数据的Z个第二数据块的每条记录逐条写入对应的数据缓存区中。

7.一种数据导入装置,用于将第一源数据导入分布式文件系统中的目标分区表,其特征在于,所述目标分区表包括M个表分区,所述数据导入装置包括P个数据缓存区,所述M、P均为正整数,所述装置包括:

数据读取模块,用于读取所述第一源数据,得到所述第一源数据的N个第一数据块,每个所述第一数据块包括待导入一个或多个所述表分区中的数据,所述N为不小于2的整数;

缓存区确定模块,用于根据所述N个第一数据块,确定所述M个表分区中每个表分区对应的数据缓存区,其中一个所述表分区只对应一个数据缓存区;

数据缓存模块,用于将所述N个第一数据块中的数据写入待导入的表分区对应的数据缓存区中;

数据导入模块,用于将每个所述数据缓存区中的数据分别导入对应的表分区中。

8.根据权利要求7所述的数据导入装置,其特征在于,所述目标分区表包括分区列,所述目标分区表按照所述分区列被划分为M个表分区,所述M 个表分区分别为表分区1、表分区2、……表分区M;

所述缓存区确定模块具体用于:

对表分区m的分区列的值进行哈希运算,得到哈希值Hm,其中1≤m≤M;

将Hm对P值取余,得到余数q,其中0≤q≤P-1;

将q值对应的数据缓存区,确定为所述表分区m对应的数据缓存区。

9.根据权利要求7或8所述的数据导入装置,其特征在于,所述数据读取模块具体用于:

接收运算指令,所述运算指令用于指示对所述第一源数据进行运算;

读取所述第一源数据,得到所述第一源数据的N个数据原始块;

根据所述运算指令,对所述第一源数据的N个数据原始块进行运算,并将对所述N个数据原始块的运算结果确定为所述第一源数据的N个第一数据块。

10.根据权利要求7至9中任一项所述的数据导入装置,其特征在于,所述数据导入装置还用于将第二源数据导入所述分布式文件系统中的目标非分区表或目标文件;

所述数据读取模块还用于:读取所述第二源数据,得到所述第二源数据的Z个第二数据块,所述Z为不小于2的整数;

所述数据缓存模块还用于:将所述第二源数据的Z个第二数据块中的数据写入对应的数据缓存区中;

所述数据导入模块还用于:将每个所述数据缓存区中的数据导入所述目标非分区表或目标文件中。

11.根据权利要求10所述的数据导入装置,其特征在于,所述数据缓存模块具体用于:

采用轮询方法确定所述第二源数据的Z个第二数据块中,每个数据块对应的数据缓存区;

将所述第二源数据的Z个第二数据块中每个数据块的数据分别写入对应的数据缓存区中。

12.根据权利要求10所述的数据导入装置,其特征在于,所述数据缓存 模块具体用于:

采用轮询方法将所述第二源数据的Z个第二数据块的每条记录逐条写入对应的数据缓存区中;

将所述P个数据缓存区中的数据导入所述目标非分区表或目标文件中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1