Как сделать столбец круглыми скобками для коннектора в виде снежинки pd_writer
Я пишу фрейм данных в таблицу Snowflake через
snowflake-connector
. Столбец в
(
,
)
в этом. Я пытаюсь писать с
df.to_sql(table, con=engine, index=False, if_exists='replace', method=pd_writer)
.
- Которая создает таблицу на лету.
- Преобразует
df
в паркетном файле иPUT
в ведро S3. - Пытается
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