跳过内容

arrow 包包含 37 个 dplyr 表函数的方法,其中许多是用于对一个或多个表进行转换的“动词”。该包还将 223 个 R 函数映射到 Arrow 计算库中对应的函数。这些允许您在调用 R 函数的 dplyr 方法中编写代码,包括 stringrlubridate 等包中的许多函数,并且它们将被翻译成 Arrow 并在 Arrow 查询引擎 (Acero) 上运行。本文档列出了所有已映射的函数。

dplyr 动词

大多数动词函数返回一个 arrow_dplyr_query 对象,其精神与 dbplyr::tbl_lazy 相似。这意味着动词不会急切地评估数据上的查询。要运行查询,请调用 compute()(返回一个 arrow Table)或 collect()(将生成的 Table 提取到 R tibble 中)。

函数映射

在下面的列表中,列出了 Acero 和 R 函数之间在行为或支持方面的任何差异。如果函数名称后没有注释,则可以假定该函数在 Acero 中的工作方式与在 R 中相同。

函数可以调用为 pkg::fun() 或直接 fun(),即 str_sub()stringr::str_sub() 都有效。

除了这些函数,您还可以直接调用 Arrow 的 281 个计算函数中的任何一个。Arrow 有许多不映射到现有 R 函数的函数。在其他有 R 函数映射的情况下,如果您不希望 R 映射使 Acero 行为像 R 一样进行调整,您仍然可以直接调用 Arrow 函数。这些函数列在 C++ 文档中,在 R 的函数注册表中,它们以 arrow_ 前缀命名,例如 arrow_ascii_is_decimal

base

hms

  • as_hms():字符输入不支持亚秒精度

  • hms():不支持纳秒时间

lubridate

methods

stats

stringi

stringr

任何函数都不支持模式修饰符 coll()boundary()

tibble