Я пытаюсь преобразовать файл avro в таблицу sql, чтобы я мог запросить его по кирпичам данных.
Схема avro:
root
|-- key: string (nullable = true)
|-- value1: struct (nullable = true)
| |-- an_id: string (nullable = true)
| |-- value2: string (nullable = true)
| |-- value3: struct (nullable = true)
| | |-- an_id_1: boolean (nullable = true)
| | |-- a_value: double (nullable = true)
|-- an_array: array (nullable = true)
| | | |-- a_num: integer (containsNull = true)
Мой python3 код :
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('test').getOrCreate()
s3_object_path = 's3://my_s3_bucket/my_prefix/my_folder'
df = spark.read.format('avro').load(s3_object_path)
display(df)
показывает, что только одна строка с ключом и значением со всеми вложенными вложенными значениями в одной строке.
Мне нужна таблица типа:
key value1 an_id value2 value3 an_id_1 a_value
Как я могу сделать преобразование. ?