загрузите файл avro в качестве фрейма данных pyspark и преобразуйте его в таблицу SQL для запроса по кирпичам данных - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь преобразовать файл 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

Как я могу сделать преобразование. ?

...