Как импортировать данные GCP в снежинку - PullRequest
0 голосов
/ 11 октября 2019

К корзинам GCP можно получить доступ через несколько типов органов. Один из таких вариантов - «Сервисная учетная запись», т. Е. Если у нас есть сервисная учетная запись с желаемыми разрешениями, мы можем получить доступ к ресурсам GCP. Snowflake использует механизм учетной записи службы для взаимодействия с GCP.

Создание учетной записи службы : чтобы создать учетную запись службы, нам нужно создать

Integration object in Snowflake.
CREATE STORAGE INTEGRATION GCS_INT
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = GCS
ENABLED = TRUE
STORAGE_ALLOWED_LOCATIONS=('gcs://my-bucket-name01/')
STORAGE_BLOCKED_LOCATIONS=('gcs://mybucket1/path1/sensitivedata/');

Опишите интеграцию иобратите внимание на идентификатор учетной записи службы. Это будет столбец в интеграции.

DESC STORAGE INTEGRATION GCS_INT;

СОЗДАТЬ формат данных :

CREATE OR REPLACE FILE FORMAT MY_CSV_FORMAT TYPE = CSV;

Создать промежуточный этап

CREATE STAGE MY_GCS_STAGE URL = 'gcs://my-bucket-name01/' 
STORAGE_INTEGRATION = GCS_INT  FILE_FORMAT = MY_CSV_FORMAT;

Перечислите этап : убедитесь, что созданный этап существует или нет.

LIST @MY_GCS_STAGE; 

Таблица создания снежинки

CREATE TABLE EMPLOYEE(NAME VARCHAR, CLASS VARCHAR,DORM VARCHAR, ROOM 
VARCHAR, GPA VARCHAR);

Выполнить команду копирования :

COPY INTO EMPLOYEE FROM @MY_GCS_STAGE PATTERN='employee-.*[.]csv';

Проверить результат таблицы Snowflake :

SELECT * FROM EMPLOYEE;  
...