Внешней таблице снежинки не удалось преобразовать значение варианта NULL в тип DATETIME / TIMESTAMP_NTZ - PullRequest
0 голосов
/ 26 апреля 2020

Создана внешняя таблица со столбцом типа datetime (тип TIMESTAMP_NTZ), внешний этап имеет файл csv с нулевым значением в столбце. Выбор из внешней таблицы дает "Не удалось преобразовать значение варианта" null "в TIMESTAMP_NTZ"

CREATE OR REPLACE EXTERNAL TABLE ext_table_datetime (
   col1 datetime as (value:c1::datetime)
   )
    with location = 's3://bucket_name'
    file_format = file_format_1
    auto_refresh = true;

Также у меня есть формат файла, определенный следующим образом, который работает для других типов столбцов (varchar et c), имеющий нулевые значения для внешней таблицы, а также для типа datetime в обычной таблице. Таким образом, в основном просто не работает для внешней таблицы с типом datetime.

CREATE OR REPLACE FILE FORMAT file_format_1 type = 'CSV'
                              field_delimiter = ','
                              ESCAPE_UNENCLOSED_FIELD = NONE
                              SKIP_HEADER=1
                              NULL_IF = 'null';

Есть идеи, как загрузить / синхронизировать c нулевое значение во внешний тип datetime таблицы?

1 Ответ

1 голос
/ 26 апреля 2020

Вы пытались использовать функцию NULLIF в своем определении ВНЕШНЕГО СТОЛА:

CREATE OR REPLACE EXTERNAL TABLE ext_table_datetime (
   col1 datetime as (NULLIF(value:c1,'null')::datetime)
   )
    with location = 's3://bucket_name'
    file_format = file_format_1
    auto_refresh = true;

Кроме того, поскольку это функция предварительного просмотра для Snowflake, я бы предложил открыть заявку в службу поддержки. Параметр NULL_IF вашего файла формата, вероятно, должен обрабатывать это для вас, как вы ожидали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...