Как сделать столбец круглыми скобками для коннектора в виде снежинки pd_writer

Я пишу фрейм данных в таблицу Snowflake через snowflake-connector. Столбец в (, )в этом. Я пытаюсь писать с df.to_sql(table, con=engine, index=False, if_exists='replace', method=pd_writer).

  1. Которая создает таблицу на лету.
  2. Преобразует df в паркетном файле и PUT в ведро S3.
  3. Пытается COPY данные паркета для table но получаю исключение.

КОПИРОВАТЬ sql -

      COPY INTO "DB1.SCHM1.T1" /* Python:snowflake.connector.pandas_tools.write_pandas() */
("Name", "Year(1)", "Year(2)") 
FROM 
(SELECT $1:Name, $1:Year(1), $1:Year(2) FROM @"djaks") 
FILE_FORMAT=(TYPE=PARQUET COMPRESSION=auto) 
PURGE=TRUE ON_ERROR=abort_statement

Ошибка -

      SQL Compilation error: Syntax error line 1 at position X unexpected '1'. syntax error line 1 at position X ','.

Что происходит из-за синтаксиса $1:Year(1). Я не могу изменить имя столбца, каковы другие решения?

1 ответ

Попробуйте заключить идентификатор столбца в кавычки: (ВЫБЕРИТЕ $1: "Имя", $1: "Год (1)", $1: "Год (2)" FROM @"djaks")

Идентификаторы без кавычек не могут иметь (или) в снежинке.

https://docs.snowflake.com/en/sql-reference/identifiers-syntax.html

Другие вопросы по тегам