scala - 无法解析具有此类签名的引用 StructField

标签 scala apache-spark import signature bigdata

我已经复制了一个工作示例,并且稍微改变了它,但是核心始终是相同的,但是我在 StructField 点中总是遇到这个错误:

cannot resolve reference StructField with such signature

并且还给我这个,在签名里面:

Type mismatch, expected: Datatype, actual StringType

这是我遇到问题的代码部分:

import org.apache.avro.generic.GenericData.StringType
import org.apache.spark
import org.apache.spark.sql.types.StructField
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.types._
     object Test{

      def main(args: Array[String]): Unit = {

             val file = "/home/ubuntu/spark/MyFile"
                val conf = new SparkConf().setAppName("Test")
                val sc = new SparkContext(conf)
                val read = sc.textFile(file)
                val header = read.first().toString
                //generate schema from first csv row
                val fields = header.split(";").map(fieldName => StructField(fieldName.trim, StringType, true))
                val schema = StructType(fields)
    }
    }

我不明白我哪里错了。 我正在使用 Spark 版本 2.0.0

谢谢

最佳答案

看起来 GenericData.StringType 是个问题。使用别名:

import org.apache.avro.generic.GenericData.{StringType => AvroStringType}

或删除此导入(您不使用它)。

关于scala - 无法解析具有此类签名的引用 StructField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996336/

相关文章:

在 NextJS 中导入 geojson

powershell - Neo4j(Windows)-无法增加Neo4jImport工具的堆内存大小

java - Scala actor 作为参数传递给其他 actor

scala - com.paypal.core.rest.PayPalRESTException :Read timed out

apache-spark - 如何解决此错误org.apache.spark.sql.catalyst.errors.package $ TreeNodeException

apache-spark - 写入配置单元表后停止自动取消保留数据框

scala - 使用 testcontainers 测试 kafka 和 spark

performance - Scala:嵌套 for 循环和 for 理解之间的性能差异

linux - 如何在Linux终端中运行spark scala程序?

ruby-on-rails - Rake 数据库 :seed can't find . xml 文件