Spark Scala中的模糊架构

问题描述 投票:2回答:1

架构:

|-- c0: string (nullable = true)
|-- c1: struct (nullable = true)
|    |-- c2: array (nullable = true)
|    |    |-- element: struct (containsNull = true)
|    |    |    |-- orangeID: string (nullable = true)
|    |    |    |-- orangeId: string (nullable = true)

我试图在spark中展平上面的架构。

码:

var df = data.select($"c0",$"c1.*").select($"c0",explode($"c2")).select($"c0",$"col.orangeID", $"col.orangeId")

扁平化代码工作正常。问题出在最后一部分,其中2列仅相差1个字母(orangeID和orangeId)。因此我收到此错误:

错误:

org.apache.spark.sql.AnalysisException: Ambiguous reference to fields StructField(orangeID,StringType,true), StructField(orangeId,StringType,true);

任何避免这种模糊性的建议都会很棒。

scala apache-spark
1个回答
3
投票

打开spark sql案例灵敏度配置并尝试

spark.sql("set spark.sql.caseSensitive=true")
© www.soinside.com 2019 - 2024. All rights reserved.