Spec-Zone.ru › AWS CLI v2

[ aws . glue ]

create-table

Описание

Создаёт новое определение таблицы в каталоге данных.

См. также: Документацию API AWS

Синтаксис

  create-table
[--catalog-id <value>]
--database-name <value>
--table-input <value>
[--partition-indexes <value>]
[--transaction-id <value>]
[--open-table-format-input <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--catalog-id (строка)

Идентификатор каталога данных, в котором необходимо создать Table. Если не указан, используется идентификатор учётной записи Amazon Web Services по умолчанию.

--database-name (строка)

База данных каталога, в которой нужно создать новую таблицу. Для совместимости с Hive имя полностью приводится к нижнему регистру.

--table-input (структура)

Объект TableInput, определяющий метаданные таблицы для создания в каталоге.

Name -> (строка)

Имя таблицы. Для совместимости с Hive оно преобразуется в нижний регистр при хранении.

Description -> (строка)

Описание таблицы.

Owner -> (строка)

Владелец таблицы. Включено для совместимости с Apache Hive. Не используется в стандартных операциях Glue.

LastAccessTime -> (метка времени)

Последнее время доступа к таблице.

LastAnalyzedTime -> (метка времени)

Последнее время вычисления статистических данных столбцов для этой таблицы.

Retention -> (целое число)

Срок хранения для этой таблицы.

StorageDescriptor -> (структура)

Описание хранилища, содержащее информацию о физическом хранении этой таблицы.

Columns -> (список)

Список Columns в таблице.

(структура)

Столбец в Table.

Name -> (строка)

Имя Column.

Type -> (строка)

Тип данных Column.

Comment -> (строка)

Текстовый комментарий.

Parameters -> (карта)

Эти пары ключ-значение определяют свойства, связанные со столбцом.

key -> (строка)

value -> (строка)

Location -> (строка)

Физическое расположение таблицы. По умолчанию это расположение хранилища, затем расположение базы данных в хранилище и имя таблицы.

AdditionalLocations -> (список)

Список расположений, указывающих на путь, где расположена таблица Delta.

(строка)

InputFormat -> (строка)

Формат входных данных: SequenceFileInputFormat (двоичный), или TextInputFormat , или пользовательский формат.

OutputFormat -> (строка)

Формат выходных данных: SequenceFileOutputFormat (двоичный), или IgnoreKeyTextOutputFormat , или пользовательский формат.

Compressed -> (булево)

True, если данные в таблице сжаты, или False, если нет.

NumberOfBuckets -> (целое число)

Должно быть указано, если таблица содержит столбцы измерений.

SerdeInfo -> (структура)

Информация о сериализации/десериализации (SerDe).

Name -> (строка)

Имя SerDe.

SerializationLibrary -> (строка)

Обычно класс, реализующий SerDe. Например, org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

Parameters -> (карта)

Эти пары ключ-значение определяют параметры инициализации для SerDe.

key -> (строка)

value -> (строка)

BucketColumns -> (список)

Список столбцов группировки редьюсеров, столбцов кластеризации и столбцов разбиения в таблице.

(строка)

SortColumns -> (список)

Список, указывающий порядок сортировки каждого разбиения в таблице.

(структура)

Определяет порядок сортировки отсортированного столбца.

Column -> (строка)

Имя столбца.

SortOrder -> (целое число)

Указывает, что столбец отсортирован в порядке возрастания (== 1) или убывания (==0).

Parameters -> (карта)

Пользовательские свойства в виде пар ключ-значение.

key -> (строка)

value -> (строка)

SkewedInfo -> (структура)

Информация о значениях, которые часто встречаются в столбце (искривлённые значения).

SkewedColumnNames -> (список)

Список имён столбцов, содержащих искажённые значения.

(строка)

SkewedColumnValues -> (список)

Список значений, которые настолько часто встречаются, что считаются искажёнными.

(строка)

SkewedColumnValueLocationMaps -> (карта)

Сопоставление искажённых значений со столбцами, которые их содержат.

key -> (строка)

value -> (строка)

StoredAsSubDirectories -> (булево)

True, если данные таблицы хранятся в подкаталогах, или False, если нет.

SchemaReference -> (структура)

Объект, ссылающийся на схему, хранящуюся в реестре схем Glue.

При создании таблицы вы можете передать пустой список столбцов для схемы и вместо этого использовать ссылку на схему.

SchemaId -> (структура)

Структура, содержащая поля идентификации схемы. Должен быть указан либо этот элемент, либо SchemaVersionId.

SchemaArn -> (строка)

Amazon Resource Name (ARN) схемы. Должен быть указан либо SchemaArn, либо SchemaName.

SchemaName -> (строка)

Имя схемы. Должен быть указан либо SchemaArn, либо SchemaName.

RegistryName -> (строка)

Имя реестра схем, содержащего схему.

SchemaVersionId -> (строка)

Уникальный идентификатор, присвоенный версии схемы. Должен быть указан либо этот элемент, либо SchemaId.

SchemaVersionNumber -> (длинное целое число)

Номер версии схемы.

PartitionKeys -> (список)

Список столбцов, по которым таблица раздроблена. В качестве ключей разбиения поддерживаются только примитивные типы.

Когда вы создаёте таблицу, используемую Amazon Athena, и не указываете никаких partitionKeys, вы должны хотя бы установить значение partitionKeys в пустой список. Например:

"PartitionKeys": []

(структура)

Столбец в Table.

Name -> (строка)

Имя Column.

Type -> (строка)

Тип данных Column.

Comment -> (строка)

Текстовый комментарий.

Parameters -> (карта)

Эти пары ключ-значение определяют свойства, связанные со столбцом.

key -> (строка)

value -> (строка)

ViewOriginalText -> (строка)

Включено для совместимости с Apache Hive. Не используется в стандартных операциях Glue. Если таблица является VIRTUAL_VIEW, определённые параметры Athena, закодированные в base64.

ViewExpandedText -> (строка)

Включено для совместимости с Apache Hive. Не используется в стандартных операциях Glue.

TableType -> (строка)

Тип этой таблицы. Glue создаёт таблицы типа EXTERNAL_TABLE. Другие сервисы, такие как Athena, могут создавать таблицы с дополнительными типами таблиц.

Типы таблиц, относящиеся к Glue:

EXTERNAL_TABLE

Атрибут совместимости с Hive - указывает на таблицу, не управляемую Hive.

GOVERNED

Используется Lake Formation. Каталог данных Glue понимает GOVERNED.

Parameters -> (карта)

Эти пары ключ-значение определяют свойства, связанные с таблицей.

key -> (строка)

value -> (строка)

TargetTable -> (структура)

Структура TableIdentifier, описывающая целевую таблицу для связывания ресурсов.

CatalogId -> (строка)

Идентификатор каталога данных, в котором находится таблица.

DatabaseName -> (строка)

Имя базы данных каталога, содержащей целевую таблицу.

Name -> (строка)

Имя целевой таблицы.

Region -> (строка)

Регион целевой таблицы.

ViewDefinition -> (структура)

Структура, содержащая всю информацию, определяющую представление, включая диалект или диалекты для представления и запрос.

IsProtected -> (булево)

Вы можете установить этот флаг в значение true, чтобы указать движку не подтягивать предоставленные пользователем операции в логический план представления во время планирования запроса. Однако установка этого флага не гарантирует, что движок будет следовать этому. Обратитесь к документации движка, чтобы понять предоставляемые, если таковые имеются, гарантии.

Definer -> (строка)

Определяющий SQL представление.

Representations -> (список)

Список структур, содержащих диалект представления и запрос, определяющий представление.

(структура)

Структура, содержащая подробности представления для обновления или создания представления Lake Formation.

Dialect -> (строка)

Параметр, указывающий тип движка конкретного представления.

DialectVersion -> (строка)

Параметр, указывающий версию движка конкретного представления.

ViewOriginalText -> (строка)

Строка, представляющая исходный SQL-запрос, описывающий представление.

ValidationConnection -> (строка)

Имя подключения, которое будет использоваться для проверки конкретного представления представления.

ViewExpandedText -> (строка)

Строка, представляющая SQL-запрос, описывающий представление с расширенными ARN-ресурсов.

SubObjects -> (список)

Список основного ARN таблицы, из которых состоит представление.

(строка)

Синтаксис JSON:

{
  "Name": "string",
  "Description": "string",
  "Owner": "string",
  "LastAccessTime": timestamp,
  "LastAnalyzedTime": timestamp,
  "Retention": integer,
  "StorageDescriptor": {
    "Columns": [
      {
        "Name": "string",
        "Type": "string",
        "Comment": "string",
        "Parameters": {"string": "string"
          ...}
      }
      ...
    ],
    "Location": "string",
    "AdditionalLocations": ["string", ...],
    "InputFormat": "string",
    "OutputFormat": "string",
    "Compressed": true|false,
    "NumberOfBuckets": integer,
    "SerdeInfo": {
      "Name": "string",
      "SerializationLibrary": "string",
      "Parameters": {"string": "string"
        ...}
    },
    "BucketColumns": ["string", ...],
    "SortColumns": [
      {
        "Column": "string",
        "SortOrder": integer
      }
      ...
    ],
    "Parameters": {"string": "string"
      ...},
    "SkewedInfo": {
      "SkewedColumnNames": ["string", ...],
      "SkewedColumnValues": ["string", ...],
      "SkewedColumnValueLocationMaps": {"string": "string"
        ...}
    },
    "StoredAsSubDirectories": true|false,
    "SchemaReference": {
      "SchemaId": {
        "SchemaArn": "string",
        "SchemaName": "string",
        "RegistryName": "string"
      },
      "SchemaVersionId": "string",
      "SchemaVersionNumber": long
    }
  },
  "PartitionKeys": [
    {
      "Name": "string",
      "Type": "string",
      "Comment": "string",
      "Parameters": {"string": "string"
        ...}
    }
    ...
  ],
  "ViewOriginalText": "string",
  "ViewExpandedText": "string",
  "TableType": "string",
  "Parameters": {"string": "string"
    ...},
  "TargetTable": {
    "CatalogId": "string",
    "DatabaseName": "string",
    "Name": "string",
    "Region": "string"
  },
  "ViewDefinition": {
    "IsProtected": true|false,
    "Definer": "string",
    "Representations": [
      {
        "Dialect": "REDSHIFT"|"ATHENA"|"SPARK",
        "DialectVersion": "string",
        "ViewOriginalText": "string",
        "ValidationConnection": "string",
        "ViewExpandedText": "string"
      }
      ...
    ],
    "SubObjects": ["string", ...]
  }
}

--partition-indexes (список)

Список индексов разбиения, PartitionIndex структур, для создания в таблице.

(структура)

Структура для индекса разбиения.

Keys -> (список)

Ключи для индекса разбиения.

(строка)

IndexName -> (строка)

Имя индекса разбиения.

Упрощённый синтаксис:

Keys=string,string,IndexName=string ...

Синтаксис JSON:

[
  {
    "Keys": ["string", ...],
    "IndexName": "string"
  }
  ...
]

--transaction-id (строка)

Идентификатор транзакции.

--open-table-format-input (структура)

Определяет OpenTableFormatInput структуру при создании таблицы открытого формата.

IcebergInput -> (структура)

Определяет IcebergInput структуру, которая определяет таблицу метаданных Apache Iceberg.

MetadataOperation -> (строка)

Требуемая операция метаданных. Может быть только CREATE.

Version -> (строка)

Версия таблицы для таблицы Iceberg. По умолчанию 2.

Упрощённый синтаксис:

IcebergInput={MetadataOperation=string,Version=string}

Синтаксис JSON:

{
  "IcebergInput": {
    "MetadataOperation": "CREATE",
    "Version": "string"
  }
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет воспринята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или значение input, выводится пример JSON-ввода, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, будет выведен пример ввода YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно валидирует входные данные команды и возвращает пример JSON-вывода для этой команды. Сгенерированный JSON-скелет нестабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (логическое значение)

Включить отладочный вывод.

--endpoint-url (строка)

Переопределить стандартный URL команды на указанный URL.

--no-verify-ssl (логическое значение)

По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет стандартное поведение проверки SSL-сертификатов.

--no-paginate (логическое значение)

Отключить автоматическую постраничность. Если автоматическая постраничность отключена, AWS CLI сделает только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования для вывода команды.

  • json
  • текст
  • таблица
  • yaml
  • yaml-поток

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использовать определенный профиль из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/выключить цветной вывод.

  • включить
  • выключить
  • автоматически

--no-sign-request (логическое значение)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (строка)

Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, отображающего двоичный блок fileb:// всегда будет рассматриваться как двоичный и использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (логическое значение)

Отключить кли-пагинатор для вывода.

--cli-auto-prompt (логическое значение)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (логическое значение)

Отключить автоматическую запрос параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Подробнее см. руководство по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной среды. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.

Пример 1: Создание таблицы для потока данных Kinesis

Следующий create-table пример создает таблицу в каталоге данных AWS Glue, описывающую поток данных Kinesis.

aws glue create-table \
    --database-name tempdb \
    --table-input  '{"Name":"test-kinesis-input", "StorageDescriptor":{ \
            "Columns":[ \
                {"Name":"sensorid", "Type":"int"}, \
                {"Name":"currenttemperature", "Type":"int"}, \
                {"Name":"status", "Type":"string"}
            ], \
            "Location":"my-testing-stream", \
            "Parameters":{ \
                "typeOfData":"kinesis","streamName":"my-testing-stream", \
                "kinesisUrl":"https://kinesis.us-east-1.amazonaws.com" \
            }, \
            "SerdeInfo":{ \
                "SerializationLibrary":"org.openx.data.jsonserde.JsonSerDe"} \
        }, \
        "Parameters":{ \
            "classification":"json"} \
        }' \
    --profile my-profile \
    --endpoint https://glue.us-east-1.amazonaws.com

Эта команда не генерирует вывод.

Дополнительную информацию см. в разделе Определение таблиц в каталоге данных AWS Glue в Руководстве разработчика AWS Glue.

Пример 2: Создание таблицы для хранилища данных Kafka

Следующий create-table пример создает таблицу в каталоге данных AWS Glue, описывающую хранилище данных Kafka.

aws glue create-table \
    --database-name tempdb \
    --table-input  '{"Name":"test-kafka-input", "StorageDescriptor":{ \
            "Columns":[ \
                {"Name":"sensorid", "Type":"int"}, \
                {"Name":"currenttemperature", "Type":"int"}, \
                {"Name":"status", "Type":"string"}
            ], \
            "Location":"glue-topic", \
            "Parameters":{ \
                "typeOfData":"kafka","topicName":"glue-topic", \
                "connectionName":"my-kafka-connection"
            }, \
            "SerdeInfo":{ \
                "SerializationLibrary":"org.apache.hadoop.hive.serde2.OpenCSVSerde"} \
        }, \
        "Parameters":{ \
            "separatorChar":","} \
        }' \
    --profile my-profile \
    --endpoint https://glue.us-east-1.amazonaws.com

Эта команда не генерирует вывод.

Дополнительную информацию см. в разделе Определение таблиц в каталоге данных AWS Glue в Руководстве разработчика AWS Glue.

Пример 3: Создание таблицы для хранилища данных AWS S3

Следующий create-table пример создает таблицу в каталоге данных AWS Glue, описывающую хранилище данных AWS Simple Storage Service (AWS S3).

aws glue create-table \
    --database-name tempdb \
    --table-input  '{"Name":"s3-output", "StorageDescriptor":{ \
            "Columns":[ \
                {"Name":"s1", "Type":"string"}, \
                {"Name":"s2", "Type":"int"}, \
                {"Name":"s3", "Type":"string"}
            ], \
            "Location":"s3://bucket-path/", \
            "SerdeInfo":{ \
                "SerializationLibrary":"org.openx.data.jsonserde.JsonSerDe"} \
        }, \
        "Parameters":{ \
            "classification":"json"} \
        }' \
    --profile my-profile \
    --endpoint https://glue.us-east-1.amazonaws.com

Эта команда не генерирует вывод.

Дополнительную информацию см. в разделе Определение таблиц в каталоге данных AWS Glue в Руководстве разработчика AWS Glue.

Вывод

Нет

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API