描述:
读取远程存储上存储桶中的文件(组)。
语法:
Qfile(fd:z)
Qfile(fd:cs)
备注:
获取远程存储上存储桶中的文件fd,返回成文件对象。
文件类型包括SPL脚本文件、组表文件、文件组、集文件、txt、xls等,返回的文件对象支持exists()、name()、size()、date()、read()、import()等读取操作,暂不支持写入。
返回的缓冲文件对象存放在【缓存目录/store Type/】位置下;QVS为服务模式时,缓存目录为QVM缓存目录;QVS为调试模式时,缓存目录为QVS缓存目录。如果没有在QVS应用配置文件中配置远程存储信息,直接在集算器ide中使用该函数,则需要在ide里配置【工具 – 远程存储配置】并连接。
未配置远程存储信息时,将被解析成file()函数。
参数:
fd |
远程存储中的文件,书写格式为“存储桶bucketName/文件名objectName” |
z |
fd为文件组时需要设置此参数,z为分表号或分表号组成的序列。 |
cs |
字符集,支持jvm自带的字符集;缺省则为操作系统默认值。 |
选项:
@c |
强行将该文件所有缓存块缓存至缓存目录下;缺省时根据读取数据所在的块位置,只缓存部分缓存块。 |
返回值:
文件对象
示例:
获取数据文件:
|
A |
|
1 |
=Qfile("qtc01/cities.txt") |
打开存储桶qtc01下的文件cities.txt。 |
2 |
=A1.exists() |
判断文件是否存在。 |
3 |
=A1.name() |
返回文件名,返回结果:[集算器安装目录]\esProc\q-server\webapps\qvs\WEB-INF\home\cache\s3\qtc01\cities.txt。 |
4 |
=A1.import@t() |
将文件数据返回成序表。 |
获取组表文件:
|
A |
|
1 |
=Qfile("qtc01/emp.ctx") |
获取存储桶qtc01下的组表文件对象。 |
2 |
=A1.open() |
打开组表的基表。 |
3 |
=A2.cursor().fetch() |
获取基表中的数据。 |
获取文件组:
|
A |
|
1 |
=Qfile("qtc01/emp.ctx":[1,2]) |
获取存储桶qtc01下的文件组1.emp.ctx、2.emp.ctx。 |
2 |
=A1.open() |
打开文件组。 |
3 |
=A2.import() |
获取文件组数据。 |
未配置远程存储:
|
A |
|
1 |
=Qfile("order.ctx") |
获取集算器主目录下的组表文件对象。 |
2 |
=Qfile("emp.ctx":[1,2]) |
获取集算器主目录下的文件组。 |