Приклейте aws, создав таблицу каталога данных на boto3 python

Я пытался создать таблицу в нашем каталоге данных с помощью API Python. Вслед за документацией размещены здесь и здесь для API. Я могу понять, как это происходит. Тем не менее, мне нужно понять, как объявлять структуру поля при создании таблицы, потому что, когда я смотрю на определение хранилища для таблицы здесь, есть какое-либо объяснение того, как мне определить этот тип столбца для моей таблицы. Кроме того. Я не вижу свойства классификации для таблицы, в которой оно покрыто. Может по свойствам? Я использовал boto3 документация для этого образца

код:

import boto3


client = boto3.client(service_name='glue', region_name='us-east-1')


response = client.create_table(
        DatabaseName='dbname',
        TableInput={
        'Name': 'tbname',
        'Description': 'tb description',
        'Owner': 'I'm',
        'StorageDescriptor': {
            'Columns': [

                { 'Name': 'agents', 'Type': 'struct','Comment': 'from deserializer'  },
                { 'Name': 'conference_sid', 'Type': 'string','Comment': 'from deserializer'  },
                { 'Name': 'call_sid', 'Type': 'string','Comment': 'from deserializer'  }
            ] ,
        'Location': 's3://bucket/location/', 
        'InputFormat': 'org.apache.hadoop.mapred.TextInputFormat',
        'OutputFormat': 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat',
        'Compressed': False,
        'SerdeInfo': {  'SerializationLibrary': 'org.openx.data.jsonserde.JsonSerDe'}
        },
        'TableType' : "EXTERNAL_TABLE"} )
2
0
5 824
1

Ответы 1

Нашел этот пост, потому что столкнулся с той же проблемой и в конце концов нашел решение, чтобы вы могли сделать это следующим образом:

array<struct<id:string,timestamp:bigint,message:string>>

Я обнаружил эту «подсказку», когда использовал Консоль AWS и щелкнул по типу данных существующей таблицы, созданной с помощью поискового робота. Намекает:

An ARRAY of scalar type as a top - level column.
ARRAY <STRING>

An ARRAY with elements of complex type (STRUCT).
ARRAY < STRUCT <
  place: STRING,
  start_year: INT
>>

An ARRAY as a field (CHILDREN) within a STRUCT. (The STRUCT is inside another    ARRAY, because it is rare for a STRUCT to be a top-level column.)
ARRAY < STRUCT <
  spouse: STRING,
  children: ARRAY <STRING>
>>

A STRUCT as the element type of an ARRAY.
ARRAY < STRUCT <
  street: STRING,
  city: STRING,
  country: STRING
>>

Другие вопросы по теме