【问题标题】:Cannot resolve reference StructField with such signature无法解析具有此类签名的引用 StructField
【发布时间】:2016-10-12 10:28:57
【问题描述】:

我已经复制了一个工作示例,并对其进行了一些更改,但核心始终相同,但在 StructField 点中总是出现此错误:

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

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

类型不匹配,预期:数据类型,实际 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 版

谢谢

【问题讨论】:

    标签: scala apache-spark import signature bigdata


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多