Схема выглядит следующим образом
root
|-- orderitemlist: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- internal-material-code: string (nullable = true)
| | |-- lot-number: string (nullable = true)
| | |-- packaging-item-code: string (nullable = true)
| | |-- packaging-item-code-type: string (nullable = true)
как получить доступ к значениям internal-material-code
и lot-number
при создании кадра данных. Я делаю это
df.withColumn("internalmaterialcode", col("orderitemlist")(0).getItem("internal-material-code"))
также
df.withColumn("internalmaterialcode", col("orderitemlist")(0)("internal-material-code"))
также следующим образом
df.withColumn("orderitemlistarray", explode(col("orderitemlist")))
.withColumn("internalmaterialcode", col("orderitemlistarray").getItem("internal-material-code"))
также следующим образом
df.withColumn("orderitemlistarray", explode(col("orderitemlist")))
.withColumn("internalmaterialcode", col("orderitemlistarray.internal-material-code"))
но выдает null
Я видел похожие схемы на вопросы stackoverflow, но ни один из ответов не был полезен для меня. Может ли кто-нибудь ответить на это или направить меня в правильное место.