注意:以下翻译的准确性尚未经过验证。这是使用 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 12
disk_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。