【问题标题】:Snowflake interprets boolean values in parquet as NULL?雪花将镶木地板中的布尔值解释为 NULL?
【发布时间】:2021-02-04 10:17:22
【问题描述】:

Parquet 条目示例(所有条目都将 is_active_entity 设为 true)

{
 "is_active_entity": true,
  "is_removed": false
}

证明所有值的查询都被视为NULL

select  $1:IS_ACTIVE_ENTITY::boolean, count(*) from @practitioner_delta_stage/part-00000-49224c02-150b-493b-8036-54ab30a8ff40-c000.snappy.parquet group by $1:IS_ACTIVE_ENTITY::boolean ;

输出只有一组为 NULL

$1:IS_ACTIVE_ENTITY::BOOLEAN    COUNT(*)
    NULL                                            4930277

我不知道我哪里出错了,Spark 在 parquet 中写入了正确的架构,从示例中可以明显看出,但雪花将其视为 NULL。

我该如何解决这个问题?

【问题讨论】:

  • Snowflake 中半结构化数据的属性区分大小写。

标签: apache-spark snowflake-cloud-data-platform parquet snowflake-schema delta-lake


【解决方案1】:

文件中的列被引用。因此"is_active_entity""IS_ACTIVE_ENTITY" 不同

请试试这个查询:

select $1:is_active_entity::boolean, count(*) from @practitioner_delta_stage/part-00000-49224c02-150b-493b-8036-54ab30a8ff40-c000.snappy.parquet group by $1:IS_ACTIVE_ENTITY::boolean ;

更多信息:https://docs.snowflake.com/en/sql-reference/identifiers-syntax.html#:~:text=The%20identifier%20is%20case%2Dsensitive.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 2020-01-10
    • 2016-01-18
    • 2018-12-20
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多