Как загрузить более 100 МБ данных в CSV из таблицы базы данных снежинки - PullRequest
0 голосов
/ 30 октября 2019

Я новичок в снежинке, есть ли способ загрузить более 100 МБ данных в Excel или CSV?

Я могу загрузить до 100 МБ

1 Ответ

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

Вам нужно будет рассмотреть возможность использования того, что мы называем «выгрузить», то есть COPY INTO LOCATION, которое описано здесь: https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-location.html

Другие варианты могут заключаться в использовании другого типа клиента (сценарий Python илипохоже).

Надеюсь, это поможет ... Рич

..... РЕДАКТИРУЕТСЯ В СЛЕДУЮЩЕМ СЛЕДУЮЩЕМ ....

Использование выгрузки(COPY INTO LOCATION) не так подавляюще, как может показаться, и если вы можете использовать клиент SnowSQL (вместо webUI), вы можете довольно просто «извлечь» файлы из того, что мы называем «ВНУТРЕННИЙ ЭТАП»Пример:

CREATE TEMPORARY STAGE my_temp_stage;

COPY INTO @my_temp_stage/output_filex
FROM (select * FROM databaseNameHere.SchemaNameHere.tableNameHere)
FILE_FORMAT = ( 
 TYPE='CSV' 
 COMPRESSION=GZIP 
 FIELD_DELIMITER=',' 
 ESCAPE=NONE 
 ESCAPE_UNENCLOSED_FIELD=NONE 
 date_format='AUTO' 
 time_format='AUTO' 
 timestamp_format='AUTO'
 binary_format='UTF-8' 
 field_optionally_enclosed_by='"' 
 null_if='' 
 EMPTY_FIELD_AS_NULL = FALSE 
)  
overwrite=TRUE 
single=FALSE 
max_file_size=5368709120 
header=TRUE;

ls @my_temp_stage;

GET @my_temp_stage file:///tmp/ ;

Этот пример:

  1. Создает временный объект сцены в Снежинке, который будет отброшен при закрытии сеанса.
  2. Принимает результаты вашего запроса и загружает их в один (или несколько) CSV-файлов на этом внутреннем временном этапе, в зависимости от размера вашего вывода. Обратите внимание, что я не создал еще один объект базы данных, называемый «ФОРМАТ ФАЙЛА», это рекомендуется сделать, но вы можете сделать это из выдержек, не создавая отдельный объект, если вы не против, чтобы команда была таковой. long.
  3. Выводит список файлов на сцене, чтобы вы могли увидеть, что было создано.
  4. Извлекает файлы, используя GET, в этом случае это было выполнено на моем Mac и в файле (s) были помещены в / tmp, если вы используете Windoz, вам нужно немного изменить.
...