是否可以在Sparklyr中将ORC文件读取到Spark数据框?

mrj*_*eph 3 r apache-spark sparkr orc sparklyr

我知道sparklyr有以下读取文件方法:

  • spark_read_csv
  • spark_read_parquet
  • spark_read_json

那么阅读orc文件怎么样?这个图书馆是否支持它?

我知道我可以在SparkR或者这个解决方案中使用read.orc,但是我想把我的代码保存在sparklyr中.

use*_*411 5

您可以像我在使用sparklyr将数据从数据库传输到Spark的回答中描述的那样使用低级Spark API :

library(dplyr)
library(sparklyr)

sc <- spark_connect(...)

spark_session(sc) %>% 
  invoke("read") %>% 
  invoke("format", "orc") %>%
  invoke("load", path) %>% 
  invoke("createOrReplaceTempView", name)

df <- tbl(sc, name)
Run Code Online (Sandbox Code Playgroud)

where name是用于标识表的任意名称

在当前sparklyr版本中,您应该可以使用以下内容替换spark_read_source:

spark_read_source(sc, name, source = "orc", options = list(path = path))
Run Code Online (Sandbox Code Playgroud)