Разделение таблицы athena с данными облачного пути через ALTER TABLE - PullRequest
0 голосов
/ 29 октября 2019

Кажется, я не могу создать разделы на своей таблице Athena. Это таблица, которая указывает на данные Cloudtrail в стандартном формате Cloudtrail

s3: // mybucket / region / year / month / date /

Я посмотрел документы и предыдущие ответы SO,Это должно быть довольно просто. Определите таблицу Афины с перегородками. Затем запустите «ALTER TABLE table ADD PARTITION» с этим разделом. Соответствующие ссылки, которые показывают, что я делаю, но не работают:

https://docs.aws.amazon.com/athena/latest/ug/alter-table-add-partition.html https://blog.skeddly.com/2016/12/partitioning-your-data-with-amazon-athena.html

Таким образом, таблица представляет собой таблицу athena, развернутую с помощью Cloudformation в качестве таблицы склеивания(вы не можете создать таблицу athena напрямую), поэтому я не могу показать точный DDL для ее создания, но я просто использовал стандартный формат:

https://docs.aws.amazon.com/athena/latest/ug/cloudtrail.html

с разделомключи:

        - Name: region
          Type: string
        - Name: year
          Type: string
        - Name: month
          Type: string
        - Name: day
          Type: string

Когда я пытаюсь запустить:

ALTER TABLE "aws-services"."cloudtrail_logs_partitioned" ADD PARTITION (region='us-east-1') location 's3://somebucket/AWSLogs/12345678912/CloudTrail/us-east-1/'

Неправильное добавление в таблицу, не включая или не включая БД, или кавычки не изменилисьсообщается об ошибке.

Первоначально я выполнял запрос на создание раздела по региону, году, дате и месяцу, но сократил его до только региона, чтобы попытаться устранить причины ошибки.

Всякий раз, когда я запускаю вышеуказанную команду или любую команду ADD PARTITION, она возвращает ошибку:

line 1:47: missing 'column' at 'partition' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: 7058b620-c975-4e9f-9477-e7d3429aa12b)

1 Ответ

0 голосов
/ 30 октября 2019

Athena не поддерживает дефис в имени базы данных.

Имена таблиц, представлений, баз данных и столбцов Athena не могут содержать специальных символов, кроме подчеркивания (_).

Также удалите двойные кавычки из команды show partitions.

Ссылки:

Соглашение об именах таблиц и баз данных Athena

...