在Spark Scala中通过文件传递数据框的架构时发生错误

时间:2019-05-23 09:53:05

标签: scala apache-spark

我想通过HDFS中的文件传递数据帧的架构,而不要在代码中指定。我尝试从已经问过“ How to create a Schema file in Spark”的问题中获取解决方案,但出现错误:28:错误:未找到:值来源。

我已经经历了为类似问题提供的所有解决方案。任何人都可以提供端到端解决方案,在该解决方案中,我们通过提到的文件来推断模式,而不是在代码中进行硬编码。

import org.apache.spark.sql.types._ 
def getType(raw: String): DataType = { 
raw match { 
case "ByteType" => ByteType 
case "ShortType" => ShortType 
case "IntegerType" => IntegerType 
case "LongType" => LongType 
case "FloatType" => FloatType 
case "DoubleType" => DoubleType 
case "BooleanType" => BooleanType 
case "TimestampType" => TimestampType 
case _ => StringType } } 
val schema = Source.fromFile("/haas/cgt/dqar_dev1/data/configfile").getLines()
.toList.flatMap(.split(",")).map(.replaceAll("\"", "").split(" "))
.map(x => StructField(x(0), getType(x(1)), true))

0 个答案:

没有答案