Снежинка перезаписывает имена столбцов, используя COPY INTO - PullRequest
0 голосов
/ 21 октября 2019

У меня есть только один запрос, который не может скопировать заголовки столбцов в результатах при выполнении как COPY INTO. У меня есть HEADER=TRUE, и я назначаю явные имена, используя AS. Поведение возникает, когда я также не присваиваю имена явно.

Если запрос выполняется без COPY INTO, результаты генерируются правильно.

Запрос

COPY INTO 's3://<my_bucket>'
FROM (
SELECT 
  col1 AS "alpha",
  col2 AS "beta",
  col3 AS "charlie", 
  col4 AS "delta"
FROM
  "table_1"
INNER JOIN 
    "table_2"
ON
    col1 = col3
AND
    col2 = 'foo'
AND
    col4 > 1234
     )
FILE_FORMAT=(TYPE='PARQUET' FIELD_DELIMITER=',' record_delimiter = '\n' field_optionally_enclosed_by='"')
HEADER=TRUE 
SINGLE=FALSE 
OVERWRITE=TRUE 
MAX_FILE_SIZE = 5368709120
credentials=(AWS_KEY_ID='<my_id>'
AWS_SECRET_KEY='<my_key>');

Результаты

ROW   C0    C1    C2    C3
 1    foo   bar   baz   beetle

Желаемые результаты

ROW   alpha    beta    charlie    delta
 1    foo      bar     baz        beetle

1 Ответ

1 голос
/ 22 октября 2019

Да, COPY INTO с включенными заголовками должна работать. Вот пример для паркета: https://docs.snowflake.net/manuals/user-guide/data-unload-considerations.html#unloading-a-relational-table-to-parquet-with-multiple-columns

Только для целей тестирования, работает ли пример?

Одна вещь, на которую вы можете обратить внимание, это параметры формата файла. У Parquet нет некоторых параметров формата файла, указанных в вашем коде выше. https://docs.snowflake.net/manuals/sql-reference/sql/create-file-format.html#type-parquet

...