Неоднозначная схема в Spark Scala - PullRequest
0 голосов
/ 30 августа 2018

Схема:

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

Я пытаюсь сплющить схему выше в искре.

Код:

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);

Любые предложения, чтобы избежать этой двусмысленности, будут великолепны.

1 Ответ

0 голосов
/ 30 августа 2018

включите конфигурацию чувствительности к регистру spark sql и попробуйте

spark.sql("set spark.sql.caseSensitive=true")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...