Коннектор Snowflake Python: этап csv -> создать таблицу -> ProgrammingError: ... данные содержат больше столбцов... столбец "TRANSIENT_STAGE_TABLE" ..., но только иногда...? -> скопировать в таблицу
Полная ситуация
Сценарий использования
I Я пытаюсь загрузить в Snowflake несколько созданных вручную CSV-файлов.
Шаг 1: Работа
Следующие действия дают желаемый эффект:
- Я использую соединитель Snowflake Python для размещения файлов в именованной стадии.
- Я использую приведенную ниже команду, адаптированную из этой статьи на Medium, чтобы создать таблицу на основе каждого файла:
Код: Выделить всё
f"""
create or replace table {table} using template (
select array_agg(object_construct(*))
within group (order by order_id)
from table (infer_schema(
location=>'@files/{file}',
file_format=>'public.generic_csv'))
"""
Код: Выделить всё
ProgrammingError: 100332 (22000): Error with CSV header: header defined (2) columns while data contains more columns
File 'my_file.csv.gz', line 22, character 30
Row 21, column "TRANSIENT_STAGE_TABLE"[2]
File 'my_file.csv.gz'
Row 0 starts at line 0, column
- Скопируйте файл в ранее созданную таблицу:
Код: Выделить всё
f"""
copy into {table}
from @webforms
files = (
{"'" + file + ".gz'"}
)
file_format = (
skip_header = 1
)
"""
Буду очень признателен за любую помощь!
Изменить: исправлен порядок событий и место возникновения ошибки.
Подробнее здесь: https://stackoverflow.com/questions/785 ... tage-table