注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
TransformInput 对象用于在 Foundry 数据集上进行低级操作的接口。
spark.df()
data.frame()
fileSystem()
TransformOutput 对象用于在 Foundry 数据集上进行低级写操作的接口。
write.spark.df(df, partition_cols=NULL, bucket_cols=NULL, bucket_count=NULL, sort_by=NULL)
将给定的 DataFrame ↗ 写入输出数据集。
| 参数 |
|
write.data.frame(rdf)
fileSystem()
FileSystem 对象ls(glob=NULL, regex='.*', show_hidden=FALSE)
列出与给定模式(glob 或 regex)匹配的所有文件,基于数据集的根目录。
| 参数 |
|
| 返回 | 文件状态命名元组(路径、大小、修改时间)的 R 数组 - 逻辑路径、文件大小(字节)、修改时间戳(自1970年1月1日 UTC以来的毫秒数) |
open(path, open='r', disk_optimal=FALSE, encoding=default)
以给定模式打开一个 FoundryFS 文件。
| 参数 |
|
| 返回 | 一个 R 连接对象 |
get_path(path, open='r', disk_optimal=FALSE, encoding=default)
对于给定的 FoundryFS(远程)路径,返回本地临时路径。
| 参数 |
|
| 返回 | str |
upload(local_path, remote_path)
将文件从本地路径上传到远程路径。仅写入。
| 参数 |
|
| 返回 | None |
disk_optimal 设置在 FileSystem 方法 open() 和 get_path() 中,disk_optimal 参数控制文件输入和输出(i/o)的处理方式。
默认情况下,disk_optimal 在 open() 和 get_path() 中设置为 FALSE。在此模式下,文件保证在被访问之前被下载。
如果选择将 disk_optimal 设置为 TRUE,文件将在代码执行时同时下载。临时本地路径必须通过 fifo() 打开才能正确读取。注意并非所有库都支持读取此类文件。
当您读取的文件非常大时,可以选择将 disk_optimal 设置为 TRUE。
例如,假设我们有一个非常大的 txt 文件,我们只想读取前 10 行。使用以下代码仅打印前 10 行,而无需读取整个文件。
Copied!1 2 3 4 5 6 7 8 9 10 11 12disk_optimal_example<- function(large_txt_file) { fs <- large_txt_file$fileSystem() ## 使用 fifo() 打开一个连接 ## 文本文件名为 large_txt_file.txt ## 使用 disk_optimal 参数以优化磁盘读取性能 conn <- fs$open("large_txt_file.txt", "r", disk_optimal = TRUE) A <- readLines(conn, n = 10) print(A) return(NULL) }
如果您想使用 R TransformOutput 写入文件然后读取,则必须将 disk_optimal 设置为 false。