未能在 Delta Table 中保存结构字段
Failed to save struct field in Delta Table
我尝试使用 SQL
将 table 保存到 Delta
CREATE TABLE IF NOT EXISTS simple_table (
`id` string,
`amount` decimal(20,4),
`description` struct<`key` string>)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';
但我收到错误 mismatched input '<' expecting {')', ',', 'CONSTRAINT'}
那么,保存 struct/nested 字段的正确方法是什么?
您不需要反引号,因为您使用的标识符不是保留字。 DDL 中的结构如下所示:struct<key: string>
CREATE TABLE IF NOT EXISTS simple_table (
id string,
amount decimal(20,4),
description struct<key: string>
)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';
我看到了有关复杂数据类型的 Databricks 文档here
其实很简单,只要在struct字段
中输入:
CREATE TABLE IF NOT EXISTS simple_table (
`id` string,
`amount` decimal(20,4),
`description` struct<`key`:string>)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';
我尝试使用 SQL
将 table 保存到 DeltaCREATE TABLE IF NOT EXISTS simple_table (
`id` string,
`amount` decimal(20,4),
`description` struct<`key` string>)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';
但我收到错误 mismatched input '<' expecting {')', ',', 'CONSTRAINT'}
那么,保存 struct/nested 字段的正确方法是什么?
您不需要反引号,因为您使用的标识符不是保留字。 DDL 中的结构如下所示:struct<key: string>
CREATE TABLE IF NOT EXISTS simple_table (
id string,
amount decimal(20,4),
description struct<key: string>
)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';
我看到了有关复杂数据类型的 Databricks 文档here 其实很简单,只要在struct字段
中输入:
CREATE TABLE IF NOT EXISTS simple_table (
`id` string,
`amount` decimal(20,4),
`description` struct<`key`:string>)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';