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

时间:2017-05-17 15:13:04

标签: r apache-spark sparkr sparklyr orc

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

  • spark_read_csv
  • spark_read_parquet
  • spark_read_json

阅读orc文件怎么样?这个库是否支持它?

我知道我可以在SparkR或read.orc中使用this solution,但我希望将我的代码保留在闪闪发光中。

1 个答案:

答案 0 :(得分:5)

您可以像我在Transfer data from database to Spark using sparklyr的回答中描述的那样使用低级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)

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

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

spark_read_source(sc, name, source = "orc", options = list(path = path))