Заполнить таблицу внешних схем в Redshift из файла корзины S3 - PullRequest
0 голосов
/ 13 января 2020

Я новичок в AWS и пытаюсь выяснить, как заполнить таблицу во внешней схеме, находясь в Amazon Redshift. Я использовал Amazon Glue для создания таблицы из CSV-файла, который находится в корзине S3. Я могу запросить вновь созданную таблицу через Amazon Athena.

Вот где я застрял, потому что моя задача - взять данные и заполнить таблицу, находящуюся во внешней схеме RedShift. Я пытался создать Job в Glue, но безуспешно.

Вот где я застрял. Должен ли я сначала создать пустую таблицу назначения, которая отражает таблицу, которую я могу запросить с помощью Athena?

Спасибо всем заранее, кто сможет помочь !!!

1 Ответ

0 голосов
/ 16 января 2020

Redshift Spectrum и Athena используют каталог данных Glue для внешних таблиц. Когда вы создаете новую внешнюю схему Redshift, которая указывает на существующий каталог Glue, содержащиеся в нем таблицы будут немедленно существовать в Redshift.

-- Create the Redshift Spectrum schema
CREATE EXTERNAL SCHEMA IF NOT EXISTS my_redshift_schema
FROM DATA CATALOG DATABASE 'my_glue_database'
IAM_ROLE 'arn:aws:iam:::role/MyIAMRole'
;
-- Review the schema info
SELECT * 
FROM svv_external_schemas 
WHERE schemaname = 'my_redshift_schema'
;
-- Review the tables in the schema
SELECT * 
FROM svv_external_tables 
WHERE schemaname = 'my_redshift_schema'
;
-- Confirm that the table returns data
SELECT * 
FROM my_redshift_schema.my_external_table LIMIT 10
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...