Spark 2.0 与 Hive
假设我正在尝试编写一个 Spark 数据框,irisDf
to orc and将其保存到 hive 元存储
在 Spark 中我会这样做,
irisDf.write.format("orc")
.mode("overwrite")
.option("path", "s3://my_bucket/iris/")
.saveAsTable("my_database.iris")
In sparklyr
我可以使用spark_write_table
功能,
data("iris")
iris_spark <- copy_to(sc, iris, name = "iris")
output <- spark_write_table(
iris
,name = 'my_database.iris'
,mode = 'overwrite'
)
但这不允许我设置path
or format
我也可以使用spark_write_orc
spark_write_orc(
iris
, path = "s3://my_bucket/iris/"
, mode = "overwrite"
)
但它没有saveAsTable
option
现在,我可以使用invoke
复制 Spark 代码的语句,
sdf <- spark_dataframe(iris_spark)
writer <- invoke(sdf, "write")
writer %>%
invoke('format', 'orc') %>%
invoke('mode', 'overwrite') %>%
invoke('option','path', "s3://my_bucket/iris/") %>%
invoke('saveAsTable',"my_database.iris")
但我想知道是否有办法可以通过format
and path
选项进入spark_write_table
or the saveAsTable
选择进入spark_write_orc
?