7.8.2使用游标分段读取

在大数据运算中,将数据拆分后分别计算,是常见的处理方法。在使用文件数据时,无论是文本文件或者集文件,均可以添加分段读取参数来分段读取。7.7文本数据 中,介绍了使用文件数据生成序表时,分段读取的使用,使用游标分段读取数据与之是类似的,如:

 

A

1

=file("PersonnelInfo.btx")

2

=A1.cursor@b(;1:5)

3

=A2.fetch()

4

=A1.cursor@b(;2:5)

5

=A4.fetch()

A2A4中,生成游标的时候,均添加了分段参数,如1:5。在使用分段读取功能时,如果读入的文件是集文件,则需要用export@z参数特殊处理过,也就是说这里使用的PersonnelInfo.btx在生成时,需要使用export@z函数选项,这时生成的集文件又称为集文件,常用扩展名为btx。根据参数,将游标中的所有数据分为5份,A2中返回第1份,A4中返回第2份。在A3A5中,全部取出的数据如下:

PersonnelInfo.btx中共包含100,000条记录,因此可以看到,在将数据划分为5份的时候,是根据大致的容量划分的,而不是根据记录数精确均分。在分段读取数据时,集算器将自动调整读取数据的范围,以保证数据的完整性。如例子中的第1块数据和第2块数据,计算时将确保数据相连而不重复。

使用文本文件时,分段读取集文件是完全相同的,只是不再使用@b选项。在集文件中分段读取数据时,可以在添加@z选项的同时,设定按组分段,具体的介绍请阅读7.9组游标。按组分段是集文件独有的功能,普通文本文件无法使用。