Кто-нибудь построил конвейер данных, используя AWS Glue to снежинка? Ищем решения - PullRequest
0 голосов
/ 10 апреля 2020

Я новичок ie до AWS и снежинка. Я ищу, чтобы загрузить CSV-файлы из S3 в соответствующие таблицы снежинок (около 100 таблиц), используя клей aws. Я смог загрузить данные в 1 таблицу снежинок, используя приведенную ниже статью

https://support.snowflake.net/s/article/How-to-Set-up-AWS-Glue-ETL-for-Snowflake

Можно ли использовать клей 1 aws для загрузки списка таблицы?

Внутри AWS Клей - можем ли мы написать logi c для обновления или вставки данных в снежинку на основе CSV-файлов?

Пожалуйста, дайте совет и поделитесь примерами кода / решения, если таковые имеются.

Спасибо, Джо

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

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

https://www.youtube.com/watch?v=KslOVvXy1R4&feature=youtu.be

SELECT t.$1 as MONTH_NUM,T.$2 AS MONTH_NAME from @mys3stage (file_format=>'myfileformat')
t; (edited) 
0 голосов
/ 11 апреля 2020

Прежде всего, если вам не требуется Spark для обработки / преобразования данных в файлах CSV, лучше использовать команду Snowflake COPY. В конце AWS Glue (Spark) также загрузит файлы на внутреннем этапе и использует команду COPY для вставки данных в базу данных Snowflake.

Для использования команды COPY для загрузки данных, пожалуйста, проверьте:

https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

https://docs.snowflake.com/en/user-guide/data-load-external-tutorial.html

По вашим вопросам:

Возможно ли это использовать 1 aws клей для загрузки списка таблиц?

Да, можно использовать 1 AWS клей для загрузки нескольких таблиц. AWS Клей - это гибкий инструмент, с помощью которого вы можете написать свой собственный код Spark. С другой стороны, для простоты я рекомендую использовать 1 задание для 1 таблицы.

Внутри AWS Клей - можем ли мы написать logi c для обновления или вставки данных в снежинку на основе CSV-файлы?

Да, вы можете, но Spark предназначен для обработки больших объемов данных, а Snowflake является хранилищем данных. Обновление или вставка отдельных строк будет неэффективным как для Spark, так и для Snowflake. Для запуска DMLs проверьте:

https://docs.snowflake.com/en/user-guide/spark-connector-use.html#executing -ddl-dml- sql -состояния

...