r - 如何将 SparkR 结果存储到 R 对象中?

标签 r azure databricks azure-databricks sparkr

对于 Azure Databricks 的世界来说,SparkR 的使用仍然很陌生,即使对于非常简单的任务,SparkR 的使用对我来说仍然非常模糊......

我花了很长时间才找到如何计算不同值的方法,但我不确定这是正确的方法:

library(SparkR)
sparkR.session()

DW <- sql("select * from db.mytable")
nb.var <- head(summarize(DW, n_distinct(DW$VAR)))

我以为我找到了,但是nb.per不是一个对象,但仍然是一个数据框......

class(nb.per)
[1] "data.frame"

我尝试过:

nb.per <- as.numeric(head(summarize(DW, n_distinct(DW$PERIODE))))

看起来不错,但我很确定有更好的方法来实现这一目标?

谢谢!

最佳答案

既然您正在使用 Spark SQL,一个非常简单的方法就是这样做:
nb.per <- `[[`(SparkR::collect(SparkR::sql("select count(distinct VAR) from db.mytable")), 1) .
并使用 SparkR API,例如:

DW <- SparkR::tableToDF("db.mytable")
nb.per <- `[[`(SparkR::collect(SparkR::agg(DW, SparkR::countDistinct(SparkR::column("VAR")))), 1)

关于r - 如何将 SparkR 结果存储到 R 对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70681746/

相关文章:

r - 将一列列表强制转换为 R 数据框中的字符串

r - R 包 gmnl 和 Rchoice 中可能存在错误?

r - 根据几列制作 group_indices

azure - 在 Microsoft Azure 中使用 PowerApps 运行应用程序时出错

python - 如何在 Databricks 上使用 HoloViews/hvPlot

r - ggplot2 在 x 轴上的 Year 变量结束时不断添加 .5

reactjs - 如何正确地将 ReactJS 应用程序部署为 Azure Web 应用程序

azure - 通过 API 更改 Azure Databricks 工作区设置

pyspark - 在 Pyspark 中实现 K-medoids

powershell - 如何在 Azure VM 上对 Azure Powershell 进行身份验证