集算器对文本文件的处理.pdf

集算器对文本文件的处理.pdf

ID:52767899

大小:295.53 KB

页数:3页

时间:2020-03-30

集算器对文本文件的处理.pdf_第1页
集算器对文本文件的处理.pdf_第2页
集算器对文本文件的处理.pdf_第3页
资源描述:

《集算器对文本文件的处理.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、集算器对文本文件的处理使用集算器(esProc)可以很方便地处理文本文件中的数据。这里我们通过例子来看一下集算器提供的文本文件处理功能,包括:如何导入各种不同的文本文件;对于较大的文本文件如何处理;访问hdfs中的文本文件;以及文件的一般性操作:移动、删除、文件是否存在等。如果需要读入文本文件中的数据,可以使用file函数和import函数。例如:有一个文本文件empolyee.txt,保存了员工的信息,如下:EIDNAMESURNAMEGENDERSTATEBIRTHDAYHIREDATEDEPTSALARY1RebeccaMooreFCalifornia1974-11-202005

2、-03-11R&D70002AshleyWilsonFNewYork1980-07-192008-03-16Finance110003RachelJohnsonFNewMexico1970-12-172010-12-01Sales90004EmilySmithFTexas1985-03-072006-08-15HR70005AshleySmithFTexas1975-05-132004-07-30R&D160006MatthewJohnsonMCalifornia1984-07-072005-07-07Sales110007AlexisSmithFIllinois1972-08-162

3、002-08-16Sales90008MeganWilsonFCalifornia1979-04-191984-04-19Marketing110009VictoriaDavisFTexas1983-12-072009-12-07HR3000…导入这个文件的代码是非常简洁的:上图中A1单元格使用file函数打开指定文件名的文件对象,A2这个单元格使用文件对象的import函数导入这个文件的内容。从图中可以看到,集算器的集成开发环境提供了单步、断点等调试功能。导入的文件内容在左边的窗口中很直观的显示出来,可以很方便的调试程序、观察结果。和集算器提供的其他函数一样,import函数包含选项

4、和参数。上图中的import@t()中,@t是表示使用了t选项,查看函数说明可知,是指数据文件的第一行是字段的名称。而括号中是参数,上图的括号中是空的,就是说所有的参数都使用了默认值。下面看一下文本文件处理相关的功能,在集算器程序中的具体写法:1、分隔符号。因为empolyee.txt文本文件的分隔符是tab,所以在上图import函数的括号中没有使用任何输入参数,直接使用默认的tab字符。如果需要导入的是其他分隔符,则可以通过参数指定。例如:excel支持的csv文件是使用逗号来分割字段的,因此import函数的写法是:import@t(;”,”)。2、导入部分字段。如果不需要导入全

5、部字段,只需要导入其中一部分的话,也可以通过参数来指定,例如:import@t(EID,NAME,BIRTHDAY)。3、指定导入的数据类型。集算器会自动判断导入字段的类型,例如:BIRTHDAY符合日期时间类型的格式,集算器会自动的导入成datetime类型。如果程序中希望把这个字段导入成字符类型,可以这样写:import@t(EID,NAME,BIRTHDAY:string)。集算器支持的数据类型有:bool、int、long、float、decimal、number、string、date、time和datetime。4、分段导入。文本文件比较大,超过内存允许的最大值时,需要分段

6、导入处理。集算器的import函数提供了两个输入参数可以读取文件中从指定开始字节到结束字节的数据。例如:import@t(EID,NAME,BIRTHDAY;,1000:2000)是读入从第1000个字节到第2000个字节的数据。文本文件中的数据一般是整行读取才有意义,import函数会自动调整开始点和结束点到整行的位置,开始点落在某行中间时会将该行忽略,从下一行才开始读取数据,结尾点落在行中间时则会继续读到本行结束,这样保证读出的数据都是整行。分段读取代码约定,起始点字符不会读入,而结束点字符会读入,这样,在连续分段读取时,只要让下次读取的起始点要和上一次读取的结束点相同,就能保证所

7、有行都不遗漏也不重复的读入。例如,上边的例子继续读取的时候写成import@t(EID,NAME,BIRTHDAY;,2000:3000)。需要指出的是,不能直接按行数分段,要数出当前的行数必须遍历前面所有的行,完全达不到分段时期望的高性能。集算器还提供自动分段的功能。例如:将文件分成3部分读入其中第2部分,可以写成:import@tz(EID,NAME,BIRTHDAY:string;,2:3),使用@z选项后刚才那两个参数的意义改变为总出分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。