В моем запросе Spark Streaming я хотел бы использовать класс дел с именем URL с тремя строковыми членами следующим образом:
url: string
domain: string
topLevelDomain: string
Я хотел бы создать DataFrame
, где один из членов является массив объектов URL. Схема выглядит следующим образом:
root
|-- AccountId: integer (nullable = true)
|-- url1: struct (nullable = true)
| |-- url: string (nullable = true)
| |-- domain: string (nullable = true)
| |-- topLevelDomain: string (nullable = true)
|-- finalURLs: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- url: string (nullable = true)
| | |-- domain: string (nullable = true)
| | |-- topLevelDomain: string (nullable = true)
Столбец finalURLs
представляет собой массив объектов URL.
Позже я хотел бы применить преобразование к этому столбцу, чтобы преобразовать его в список строки, которые могут быть domain
или topLevelDomain
в зависимости от значений в других столбцах.
Прежде всего, возможно ли иметь столбец, который является массивом объектов класса case? Если да, как можно применить приведенное выше преобразование, чтобы уменьшить его до массива строк?