无法解析具有此类签名的引用 StructField
Cannot resolve reference StructField with such signature
我已经复制了一个工作示例,并对其进行了一些更改,但核心始终是相同的,但我在 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}
或删除此导入(您不使用它)。
我已经复制了一个工作示例,并对其进行了一些更改,但核心始终是相同的,但我在 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}
或删除此导入(您不使用它)。