#aws-glue-spark
Вопрос:
Пример:
schema = glueContext.get_catalog_schema_as_spark_schema(database=args['Database'], table_name=args['Table'])
если я просто распечатаю возвращенную схему, я смогу увидеть структуру StructType/StructField, что-то похожее на:
StructType(
StructField(column1,StringType,true),
StructField(column2,StringType,true)
)
Сам объект является объектом java, и он, похоже, не соответствует типу структуры, описанному в https://github.com/awslabs/aws-glue-libs/blob/master/awsglue/gluetypes.py
если я попытаюсь выполнить итерацию по fields
свойству, это приведет к ошибке, что поля не могут быть повторены.
Как мне работать с этим объектом? В идеале я хочу либо преобразовать его в JSON, либо, по крайней мере, получить список столбцов.
Я ценю любую помощь здесь.
Комментарии:
1. если вам просто нужен список столбцов, вы пробовали преобразовать dyf в df, а затем выполнить ColumnNames = df.schema.names
2. Я не хочу читать столбцы из dyf, я хочу иметь возможность использовать схему, которую я читаю из dataCatalog вместо этого.
3. что вы планируете с ним делать после прочтения?
4. Я надеялся использовать его как способ хранения схемы для обработки моих данных. Это долгая история, я нашел обходной путь к своей проблеме, но все же мне очень любопытно, как я могу работать с этим объектом схемы?