重载方法值 json with alternatives: (jsonRDD: org.apache.spark.rdd



我正在尝试将 JSON 字符串jsonStr转换为 Scala 中的 Spark 数据帧。为此目的使用 InteliJ。

val spark = SparkSession.builder().appName("SparkExample").master("local[*]").getOrCreate()
val sc = spark.sparkContext
import spark.implicits._
var df = spark.read.json(Seq(jsonStr).toDS)
df.show()

使用Maven编译/构建项目时收到以下错误。

错误:(243, 29( 重载方法值 json 与替代项: (jsonRDD: org.apache.spark.rdd.RDD[String](org.apache.spark.sql.DataFrame (jsonRDD: org.apache.spark.api.java.JavaRDD[String](org.apache.spark.sql.DataFrame (路径:字符串*(org.apache.spark.sql.DataFrame (路径: String(org.apache.spark.sql.DataFrame 不能应用于 (org.apache.spark.sql.Dataset[String]( var df = spark.read.json(Seq(jsonStr(.toDS(

注意:使用 SBT 构建时我没有收到错误。

以下方法在 Spark 2.2.0 中引入

def json(jsonDataset: Dataset[String]): DataFrame =

请在 maven 的 pom.xml 文件中更正您的 Spark 版本

将代码更改为

val rdd = sc.parallelize(Seq(jsonStr))
var json_df = spark.read.json(rdd)
var df = json_df.toDS

(或将其组合在一个变量中,由您决定( .

您正在尝试将Dataset传递到spark.read.json函数中,因此出现错误。

相关内容

  • 没有找到相关文章

最新更新