Снежинка: неподдерживаемый тип подзапроса не может быть оценен - PullRequest
0 голосов
/ 04 мая 2020

Я использую снежинку в качестве хранилища данных. У меня есть файл CSV на AWS S3. Я пишу слияние sql, чтобы объединить данные, полученные в CSV, с таблицей в виде снежинки. У меня есть столбец в таблице измерения времени с типом данных как номер (38,0) тип данных в SF. Эта таблица содержит все даты и время, например, столбец time_id = 232 и время = 12: 00. В CSV я получаю столбец с меткой времени и значением 12: 00.

В слиянии sql Я получаю это значение и пытаюсь получить для него time_id.

update table_name set start_time_dim_id = (select time_id from time_dim t where t.time_name = csv_data.start_time_dim_id)  

В этом утверждении я получаю эту ошибку "SQL Ошибка компиляции: неподдерживаемый тип подзапроса не может быть оценен"

Я изо всех сил пытаюсь ее решить, во время этого я гуглю ее и получил одну ссылку для него https://github.com/snowflakedb/snowflake-connector-python/issues/251 Так хотите убедиться, что кто-нибудь сталкивался с этой проблемой? Если да, оцените указатели на него.

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

к сожалению, коррелированные и вложенные подзапросы в Snowflake на этом этапе немного ограничены.

Я бы попробовал запустить что-то вроде этого:

update table_name 
set start_time_dim_id= time_id 
from time_dim
where t.time_name=csv_data.start_time_dim_id
0 голосов
/ 04 мая 2020

Кажется, проблема конверсии. Я предлагаю вам проверить данные в файле CSV. Может быть, есть неправильное или отсутствующее значение. Пожалуйста, проверьте ваши данные и убедитесь, что они возвращают цифры c значения

create table simpleone ( id number );
insert into simpleone values ( True );

Последний оператор завершается неудачно с:

SQL compilation error: Expression type does not match column data type, expecting NUMBER(38,0) but got BOOLEAN for column ID

Если вы предоставите пример данных, и SQL для произвести эту ошибку, может быть, мы можем предоставить решение.

...