将Spark DataFrame转换为SparklyR表"tbl_spark"。

8
我正在尝试将 Spark DataFrame org.apache.spark.sql.DataFrame 转换为 sparklyr 表格 tbl_spark。我试着使用 sdf_register,但是遇到了以下错误。
这里的 df 是一个 Spark DataFrame。
sdf_register(df, name = "my_tbl")

错误是指,

Error: org.apache.spark.sql.AnalysisException: Table not found: my_tbl; line 2 pos 17
at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.getTable(Analyzer.scala:306)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$9.applyOrElse(Analyzer.scala:315)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$9.applyOrElse(Analyzer.scala:310)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:57)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:57)
at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperators(LogicalPlan.scala:56)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:54)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:54)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:281)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)

我有没有漏掉什么?或者有没有更好的方法将它转换为 tbl_spark?谢谢!

请发布一个 [mcve]。仅凭这段代码不会引起异常。 - Alper t. Turker
1个回答

1
使用 sdf_copy_to()dplyr::copy_to(),例如 my_tbl <- sdf_copy_to(sc, df, "my_tbl")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接