scala - 在 Apache Spark 中使用 toDF 方法创建乱序数据帧
问题描述
我使用 Spark 2.4.4 并尝试获取下面给出的数据框。
val spark = SparkSession
.builder
.master("local[*]")
.appName("App")
.getOrCreate
import spark.sqlContext.implicits._
import spark.implicits._
val justNow = spark.sparkContext.parallelize(
Seq(Row("1", "One")
,Row("2", "Tow")
)
).toDF
我在 main 方法中定义了上面的代码。但是我收到一个错误,即 toDF 不是 RDD 中定义的函数。我参考了 stackoverflow 上的其他帖子,以包含显式以消除错误。我仍然得到它。
error: value toDF is not a member of org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]
possible cause: maybe a semicolon is missing before `value toDF'?
Error occurred in an application involving default arguments.
有人可以帮忙吗。谢谢!
解决方案
您可以改用该createDataFrame
方法。toDF 不适合 RDD of Rows。
import org.apache.spark.sql.types._
import org.apache.spark.sql.Row
val schema = StructType(Seq(StructField("col1",StringType), StructField("col2",StringType)))
val df = spark.createDataFrame(sc.parallelize(Seq(Row("1", "One"),Row("2", "Tow"))), schema)
df.show
+----+----+
|col1|col2|
+----+----+
| 1| One|
| 2| Tow|
+----+----+
推荐阅读
- azure - 如何在databricks中更改shellscript的权限
- typescript - 打字稿记录
[key] 应该返回 `Value | 未定义`,不是吗? - sql-server - SQL Server 中的每周百分比细分
- python-3.x - python 3中if语句的奇怪语法错误?
- neural-network - 神经网络输出(y_predict)粘在一起,可能是什么原因?
- go - 如何在没有互联网访问的情况下使用 gopls
- java - 无法更新片段内的 RecyclerView
- wordpress - WooCommerce 网站购物车与第二个 WooCommerce 网站连接
- python - 从多天列创建周标签
- javascript - 通过@Input() 传递的数据