Я пытаюсь автоматизировать миграцию данных с SQL Сервер на Снежинка , используя Alteryx и Снег SQL .
Вот шаги:
- создать базу данных в SF
- создать схемы в SF
- создать таблицы в SF
- загрузка данных с SQL сервера в файлы CSV
- подготовка файлов CSV в SF
- копирование файлов из промежуточных в таблицы в SF
Процесс работает нормально, за исключением шага # 6 с одним SQL типом данных сервера: XML.
Давайте возьмем таблицу [ Production ]. [ Иллюстрация ] из базы данных [ AdventureWorks2017 ] в качестве примера.
На SQL Сервере таблица создается следующим образом:
CREATE TABLE [Production].[Illustration](
[IllustrationID] [int] IDENTITY(1,1) NOT NULL,
[Diagram] [xml] NULL,
[ModifiedDate] [datetime] NOT NULL
)
Таблица соответствия в Snowflake:
create or replace TABLE ILLUSTRATION (
"IllustrationID" NUMBER(10,0),
"Diagram" VARIANT,
"ModifiedDate" TIMESTAMP_NTZ(9)
);
Шаг 6 выполняется со следующей инструкцией Snow SQL:
COPY INTO AdventureWorks201789.Production.Illustration FROM @AdventureWorks201789.Production.%Illustration FILE_FORMAT= (FORMAT_NAME='my_csv_format') PURGE=TRUE;
Эта команда вызывает эту ошибку :
Error parsing JSON: <!-- Generated by Adobe Illustrator CS -> XAML Export Plug-In Version 0.17 --><!-- For questions
File '@ILLUSTRATION/AdventureWorks201789.Production.Illustration.csv.gz', line 2, character 0
Row 1, column "ILLUSTRATION"["Diagram":2]
Очевидно, проблема в том, что Snow SQL анализирует данные, как если бы это было JSON, тогда как это должно быть XML.
К сожалению, я не смог найти способ изменить это поведение в документации: Snowflake Do c
Файл CSV можно загрузить с здесь .
Кто-нибудь готов принять вызов?