即使存在数据,在 Snowflake 的所有列中获取 Null

Getting Null in all column for Snowflake even though data is present

。我正在制作 Snowflake table。即使数据存在于 JSON 中,我在每一列上都得到一个 Null 值。你能帮我解决这个问题吗?

create or replace external table "database_name"."schema"."TABLE_Name" 
(Name varchar(20) as ( value:Name::varchar), 
Surname varchar(20) as (value:Surname::varchar),
City varchar(20) as (value:City::varchar),
Country varchar(20) as (value:Country::varchar),
Age varchar(20) as (value:Age::varchar),
date_part date as to_date(split_part(metadata$filename, '/', 2)
|| '/' || split_part(metadata$filename, '/', 3)
|| '/' || split_part(metadata$filename, '/', 4), 'YYYY/MM/DD'))
partition by (date_part)
location = @stage/logs/
file_format = parquet;

JSON 属性区分大小写。如果您指定一个不存在的 属性 名称,它将 return 为空。更正 JSON 属性的大小写应该可以解决此问题。

create or replace external table "database_name"."schema"."TABLE_Name" 
(Name varchar(20) as ( value:NAME::varchar), 
Surname varchar(20) as (value:SURNAME::varchar),
City varchar(20) as (value:CITY::varchar),
Country varchar(20) as (value:COUNTRY::varchar),
Age varchar(20) as (value:AGE::varchar),
date_part date as to_date(split_part(metadata$filename, '/', 2)
|| '/' || split_part(metadata$filename, '/', 3)
|| '/' || split_part(metadata$filename, '/', 4), 'YYYY/MM/DD'))
partition by (date_part)
location = @stage/logs/
file_format = parquet;