AWS Redshift - не удалось включить внешнюю таблицу в локальный каталог - PullRequest
0 голосов
/ 27 апреля 2018

Возникла проблема с одной из наших внешних таблиц в красном смещении.

В AWS Glue имеется более 300 таблиц, которые были добавлены в наш кластер красных смещений в виде внешней схемы с именем events. Большинство таблиц в events могут быть в порядке запросов. Но при запросе к одной из таблиц с именем item_loaded мы получаем следующую ошибку:

select * from events.item_loaded limit 1;
ERROR:  XX000: Failed to incorporate external table "events"."item_loaded" into local catalog.
LOCATION:  localize_external_table, /home/ec2-user/padb/src/external_catalog/external_catalog_api.cpp:358

Странно, что они есть в каталоге;

select *
from SVV_EXTERNAL_TABLES
where tablename = 'item_loaded';

-[ RECORD 1 ]-----+------------------------------------------
schemaname        | events
tablename         | item_loaded
location          | s3://my_bucket/item_loaded
input_format      | org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
output_format     | org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
serialization_lib | org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe 
serde_parameters  | {"serialization.format":"1"}
compressed        | 0
parameters        | {"EXTERNAL":"TRUE","parquet.compress":"SNAPPY","transient_lastDdlTime":"1504792238"}

AFAICT, эта таблица настроена точно так же, как и другие таблицы в той же схеме, которые работают нормально. Я попытался воссоздать новую внешнюю схему, указывающую на ту же базу данных AWS Glue, но возникает та же проблема.

Что еще я мог бы проверить? Может ли что-нибудь произойти, что приведет к удалению таблицы из каталога?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Я совсем недавно столкнулся с проблемой,

В дополнение к вышеупомянутому решению, есть еще несколько потоков

  1. https://forums.aws.amazon.com/message.jspa?messageID=845538&tstart=0 (Решение от Джо)
  2. https://forums.aws.amazon.com/thread.jspa?messageID=780552 (говорит, что исправление включено)
  3. Я столкнулся с этой проблемой из-за роли IAM с полным доступом AWS Glue. Я также намеренно добавил AthenaFullAccess и перезапустил кластер Redshift, который решил проблему. Не уверен, что вызвало проблему и как ее удалось решить в этом случае
0 голосов
/ 01 мая 2018

Согласно сообщению на форуме о том же:

Внешняя таблица имеет количество столбцов, которые превышают пределы Redshift:

  • 1600 столбцов на таблицу для локальной таблицы Redshift
  • 1598 столбцов для внешней таблицы Redshift Spectrum

Количество столбцов внешней таблицы можно проверить, запросив svv_external_columns

...