Каталог данных клея AWS состоит из различных структур, например, База данных , Таблица , Раздел , Столбец и т. Д.просмотрел каждое из них, но кажется, что Parameters
поля (массив карт пар ключ-значение) присутствуют во всех них.Я заметил, что если таблица была создана сканером 1011 *, то мы можем увидеть что-то вроде:
{
"CrawlerSchemaDeserializerVersion": "1.0",
"CrawlerSchemaSerializerVersion": "1.0",
"UPDATED_BY_CRAWLER": "some-crawler-name",
"averageRecordSize": "12",
"classification": "parquet",
"compressionType": "none",
"objectCount": "123",
"recordCount": "1234567",
"sizeKey": "1234567890",
"typeOfData": "file"
}
для Table["Parameters"]
, а также Table["StorageDescriptor"]["Parameters"]
.Если в нашей таблице есть разделы, то каждый из них будет иметь один и тот же словарь, но с разными значениями для averageRecordSize , objectCount , recordCount , sizeKey.После их суммирования мы получим те же значения, что и в Table["Parameters"]
.Все это имеет смысл, и я думаю, что эти значения определяют логику сканеров, когда мы хотим перезапустить его по требованию или по расписанию.
Вместо использования сканеров, я вручную управляю несколькими каталогами клея AWS с boto3 и airflow .Например, я мог бы скопировать определение разделов из db_1.table_1
в каталоге 12345 в db_2.table_2
в каталоге 6789 или определить дополнительные мета-параметры в table_1
.Однако это поле Parameters все еще остается для меня загадкой, и я не могу найти какую-либо документацию, связанную с ним.
Похоже, некоторые ключи, например recordCount
, являютсязарезервировано для внутреннего использования в AWS Glue (хотя их можно определить вручную).
- Используют ли их и другие службы (особенно Athena)?
- Где я могу найти списоктакие ключи и их значение, чтобы мои ключи не мешали?
В документах упоминается, что эти пары ключ-значение определяют свойства, связанные с таблицей, и некоторые ограничения:
- Каждый ключ - это строка Key, длиной не менее 1 или более 255 байт, соответствующая строковому шаблону из одной строки.
- Каждое значение представляет собой строку UTF-8, не более 512000 байтlong.
Есть ли ограничения на количество ключей, которые может содержать поле Parameters
?Влияет ли количество этих пар ключ-значение на производительность при запросе данных?
- Насколько важно синхронизировать поле
Parameters
для таблицы, раздела и дескрипторов их хранения