You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delta表SQL建表定义struct字段报mismatched input '<'错误如何解决?

Delta表struct嵌套类型建表错误解决方案

错误原因

  • 分区字段dt未在表字段列表中预先定义,Delta要求分区字段必须是显式声明的表字段之一
  • struct类型内部字段的分隔语法错误,struct内部字段名和类型之间需要用冒号分隔,不能使用空格

正确建表语句

CREATE TABLE IF NOT EXISTS simple_table (
`id` string,
`amount` decimal(20,4), 
`description` struct<`key`: string>,
`dt` string COMMENT '分区字段'
)
USING DELTA
PARTITIONED BY (dt)
LOCATION '/path_to_dir';

嵌套类型定义通用规范

  • struct类型基础语法:struct<字段名1: 类型1, 字段名2: 类型2, ...>,支持多层嵌套,示例如下:
    `user_info` struct<name: string, age: int, address: struct<city: string, postcode: string>>
    
  • 其他嵌套类型定义方式:
    • Array数组类型:array<元素类型>,示例:hobbies array<string>
    • Map键值对类型:map<键类型, 值类型>,示例:ext_info map<string, string>

内容的提问来源于stack exchange,提问作者Xenon Drey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:36:04