未能在 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';