错误条件

这是Spark SQL返回的常见命名错误条件的列表。

另请参见 SQLSTATE 代码

使用非确定性表达式的聚合函数

SQLSTATE: 没有分配

非确定性表达式 不应出现在聚合函数的参数中。

不允许所有分区列

SQLSTATE: 未分配

无法使用所有列作为分区列。

ALTER_TABLE_COLUMN_DESCRIPTOR_DUPLICATE

SQLSTATE: 42710

ALTER TABLE 指定描述符 “ ” 多次,这是无效的。

嵌套公共表表达式中的模糊别名

SQL状态: 未分配

名称 在嵌套的 CTE 中模糊不清。
请将 设置为 “CORRECTED”,以便内部 CTE 中定义的名称优先。如果将其设置为 “LEGACY”,外部 CTE 定义将优先。
请参阅 ‘ /sql-migration-guide.html#query-engine’。

模糊列或字段

SQLSTATE: 42702

列或字段 是模糊的,并且有 个匹配项。

模糊列引用

SQLSTATE: 42702

是模糊的。这是因为您将几个 DataFrame 连接在一起,其中一些 DataFrame 是相同的。 此列指向其中一个 DataFrame,但 Spark 无法确定是哪一个。 请在连接它们之前,通过 DataFrame.alias 使用不同的名称对 DataFrame 进行别名,并使用合格名称指定列,例如 df.alias("a").join(df.alias("b"), col("a.id") > col("b.id"))

模糊的横向列别名

SQLSTATE: 42702

侧列别名 是模糊的,并且具有 个匹配。

模糊引用

SQLSTATE: 42704

引用 是模糊的,可以是:

字段的模糊引用

SQLSTATE: 42000

对字段 的引用模糊。在模式中出现了 次。

算术溢出

SQLSTATE: 22003

. 如有必要,将 设置为“false”以绕过此错误。

汇总连接

SQL状态: 未分配

无效的截至连接。

有关更多详细信息,请参见 AS_OF_JOIN

AVRO不兼容读取类型

SQL状态: 未分配

无法将 Avro 转换为 SQL ,因为原始编码的数据类型为 ,然而您尝试将该字段读取为 ,这将导致不正确的答案。要允许读取该字段,请启用 SQL 配置:“spark.sql.legacy.avro.allowIncompatibleSchema”。

批处理元数据未找到

SQLSTATE: 42K03

无法找到批处理

二进制算术溢出

SQLSTATE: 22003

导致溢出。

调用流数据集不支持

SQL状态: 未分配

方法 不能在流式数据集/DataFrame上调用。

无法转换数据类型

SQLSTATE: 42846

无法将 转换为

无法将 PROTOBUF 字段类型转换为 SQL 类型

SQL状态: 未分配

无法将 Protobuf 转换为 SQL ,因为模式不兼容 (protobufType = , sqlType = ).

无法将 PROTOBUF 消息类型转换为 SQL 类型

SQL状态: 未分配

无法将 的 Protobuf 转换为 SQL 类型

无法将SQL类型转换为protobuf字段类型

SQL状态: 未分配

无法将 SQL 转换为 Protobuf ,因为模式不兼容 (protobufType = , sqlType = ).

无法将SQL值转换为Protobuf枚举类型

SQL状态: 未分配

无法将 SQL 转换为 Protobuf ,因为 不在枚举的定义值中:

无法解码的URL

SQLSTATE: 22546

提供的 URL 无法解码: 。请确保 URL 格式正确后重试。

无法在转换中调用

SQL状态: 未分配

数据集的转换和操作只能由驱动程序调用,不能在其他数据集转换内部调用;例如,dataset1.map(x => dataset2.values.count() * x) 是无效的,因为values转换和count操作不能在dataset1.map转换内部执行。有关更多信息,请参见 SPARK-28702。

无法加载函数类

SQL状态: 未分配

在注册函数 时无法加载类 ,请确保它在类路径上。

无法加载 protobuf 类

SQL状态: 未分配

无法加载名称为 的 Protobuf 类。

无法合并不兼容的数据类型

SQLSTATE: 42825

合并不兼容的数据类型 失败。请检查正在合并的列的数据类型,并确保它们是兼容的。如果必要,请考虑在尝试合并之前将列转换为兼容的数据类型。

无法合并模式

SQLSTATE: 42KD9

合并模式失败: 初始模式: 无法与初始模式合并的模式:

无法修改配置

SQLSTATE: 46110

无法修改Spark配置的值: 。另见‘ /sql-migration-guide.html#ddl-statements’。

无法解析十进制

SQLSTATE: 22018

无法解析小数。请确保输入是一个有效的数字,可以带有可选的小数点或逗号分隔符。

无法解析间隔

SQL状态: 未分配

无法解析 。请确保提供的值的格式有效,以定义一个时间间隔。您可以参考文档以获取正确的格式。如果问题仍然存在,请仔细检查输入值是否为null或空,并重试。

无法解析 JSON 字段

SQLSTATE: 2203G

无法解析字段名称 和值 ,JSON令牌类型 ,以目标Spark数据类型

无法解析 Protobuf 描述符

SQL状态: 未分配

解析描述符字节到 Protobuf FileDescriptorSet 时出错。

无法解析时间戳

SQL状态: 22007

。如有必要,将 设置为“false”以绕过此错误。

SQL状态: 未分配

无法读取文件的页脚: 。请确保文件是 ORC 或 Parquet 格式。如果不是,请将其转换为有效格式。如果文件是有效格式,请检查它是否损坏。如果损坏,您可以选择忽略它或修复损坏。

无法识别 HIVE 类型

SQLSTATE: 429BB

无法识别 hive 类型字符串: ,列: 。指定字段的数据类型无法被 Spark SQL 识别。请检查指定字段的数据类型并确保它是有效的 Spark SQL 数据类型。有关有效数据类型及其格式的列表,请查阅 Spark SQL 文档。如果数据类型正确,请确保您正在使用支持的 Spark SQL 版本。

无法跨模式重命名

SQLSTATE: 0AKD0

在模式间重命名 是不允许的。

无法解析星号展开

SQL状态: 未分配

无法解析 .* 由于输入列 。请检查指定的表或结构是否存在并且在输入列中可访问。

无法恢复路径的权限

SQL状态: 未分配

无法将权限设置为创建路径 回到

无法更新字段

SQL状态: 未分配

无法更新

字段 类型:

有关更多详细信息,请参见 CANNOT_UPDATE_FIELD

无法向上转换数据类型

SQL状态: 未分配

无法将 上cast。

转换无效输入

SQLSTATE: 22018

类型为 的值 不能被转换为 ,因为它格式不正确。请按照语法更正值,或更改其目标类型。使用 try_cast 来容忍格式错误的输入并返回 NULL。如果必要,请将 设置为 “false” 以绕过此错误。

类型溢出

SQLSTATE: 22003

类型为 的值 由于溢出无法转换为 。请使用 try_cast 来容忍溢出并返回 NULL。如果需要,可以将 设置为 “false” 以绕过此错误。

表插入时的类型溢出

SQLSTATE: 22003

无法将类型为 的值插入到类型为 的列 中,由于溢出。使用 try_cast 对输入值进行处理,以容忍溢出并返回 NULL。

编解码器不可用

SQL状态: 未分配

编解码器 不可用。考虑将配置 设置为

编码器短名称未找到

SQL状态: 未分配

无法找到编解码器 的简短名称。

不允许使用列别名

SQL状态: 未分配

列别名在 中不被允许。

列已存在

SQLSTATE: 42711

已经存在。考虑选择另一个名称或重命名现有列。

表中未定义的列

SQL状态: 未分配

未在表 中定义,已定义的表列为:

未找到列

SQLSTATE: 42703

无法找到列 。请根据SQL配置 验证列名的拼写和正确性。

比较器返回空

SQL状态: 未分配

比较器在 之间的比较中返回了 NULL。它应该返回一个正整数表示“更大”,返回 0 表示“相等”,返回一个负整数表示“更小”。要恢复到过时的行为,其中 NULL 被视为 0(相等),您必须将“spark.sql.legacy.allowNullComparisonResultInArraySort”设置为“true”。

并发查询

SQL状态: 未分配

另一个会话刚刚启动了该查询的另一个实例。

并发流日志更新

SQLSTATE: 40000

对日志的并发更新。检测到多个流处理作业用于 。请确保在特定检查点位置一次仅运行一个流处理作业。

连接

SQL状态: 未分配

通用 Spark 连接错误。

有关更多详细信息,请参见 CONNECT

转换无效输入

SQLSTATE: 22018

( ) 不能转换为 ,因为它格式不正确。按照语法修正该值,或更改其格式。使用 忽略格式错误的输入并返回 NULL。

创建永久视图而不使用别名

SQL状态: 未分配

不允许创建永久视图 ,而不明确为表达式 分配别名。

创建表列描述符重复

SQLSTATE: 42710

创建表列 指定描述符 “ ” 超过一次,这是无效的。

创建视图列的参数不匹配

SQLSTATE: 21S01

无法创建视图 ,原因是

有关更多详细信息,请参阅 CREATE_VIEW_COLUMN_ARITY_MISMATCH

数据类型不匹配

SQLSTATE: 42K09

由于数据类型不匹配,无法解析

有关更多详细信息,请参见 DATATYPE_MISMATCH

数据类型缺少大小

SQLSTATE: 42K01

数据类型 需要一个长度参数,例如 (10)。请指定长度。

数据源未找到

SQLSTATE: 42K02

未能找到数据源: 。请在 https://spark.apache.org/third-party-projects.html 查找包。

日期时间溢出

SQLSTATE: 22008

日期时间操作溢出: .

十进制精度超过最大精度

SQLSTATE: 22003

十进制精度 超过最大精度

默认数据库不存在

SQLSTATE: 42704

默认数据库 不存在,请先创建它或将默认数据库更改为

不支持的DISTINCT窗口函数

SQL状态: 未分配

不支持不同的窗口函数: .

除以零

SQLSTATE: 22012

除以零。使用 try_divide 来容忍除数为 0,并返回 NULL。如果需要,将 设置为“false”以绕过此错误。

箭头结构中的重复字段名称

SQL状态: 未分配

在 Arrow Struct 中不允许重复的字段名称,得到

重复的映射键

SQLSTATE: 23505

发现重复的映射键 ,请检查输入数据。如果您想删除重复的键,可以将 设置为“LAST_WIN”,这样最后插入的键将优先。

重复的指标名称

SQL状态: 未分配

指标名称不是唯一的: 。相同的名称不能用于具有不同结果的指标。然而,允许多个具有相同结果和名称的指标实例(例如,自连接)。

重复条款

SQL状态: 未分配

发现重复的条款: 。请删除其中一个。

重复键

SQLSTATE: 23505

发现重复的关键字 .

重复的例程参数分配

SQLSTATE: 4274K

调用函数 是无效的,因为它对同一参数名称 包含多个参数赋值。

更多细节请参见 DUPLICATE_ROUTINE_PARAMETER_ASSIGNMENT

空JSON字段值

SQLSTATE: 42604

解析空字符串以获取数据类型 失败。

编码器未找到

SQL状态: 未分配

未找到类型为 的编码器以对应 Spark SQL 内部表示。考虑将输入类型更改为在 ‘ /sql-ref-datatypes.html’ 中支持的类型之一。

事件时间不是时间戳类型

SQL状态: 未分配

事件时间 的类型 无效,但预期为 “TIMESTAMP”。

超出限制长度

SQL状态: 未分配

超过字符/可变字符类型长度限制: .

表达式类型不可排序

SQL状态: 未分配

列表达式 无法排序,因为它的类型 不能排序。

执行用户定义函数失败

SQLSTATE: 39000

执行用户定义的函数失败 ( : ( ) => ).

函数调用失败

SQL状态: 38000

准备函数 调用失败。请仔细检查函数的参数。

解析结构类型失败

SQLSTATE: 22018

解析结构失败:

重命名路径失败

SQLSTATE: 42K04

重命名 失败,因为目标已存在。

重命名临时文件失败

SQL状态: 未分配

无法将临时文件 重命名为 ,因为 FileSystem.rename 返回了 false。

字段已存在

SQL状态: 未分配

无法 列,因为 已经在 中存在。

字段未找到

SQLSTATE: 42704

中没有这样的结构字段

禁止操作

SQLSTATE: 42809

上不允许进行操作 :

具有默认值的生成列

SQL状态: 未分配

一个列不能同时具有默认值和生成表达式,但是列 具有默认值: ( ) 和生成表达式: ( )。

GRAPHITE_SINK_INVALID_PROTOCOL

SQL状态: 未分配

无效的Graphite协议:

缺少 GRAPHITE Sink 属性

SQL状态: 未分配

Graphite sink 需要‘ ’ 属性。

分组列不匹配

SQLSTATE: 42803

在分组列 中找不到分组列

分组ID列不匹配

SQLSTATE: 42803

分组 ID ( ) 的列与分组列 ( ) 不匹配。

分组大小限制超过

SQLSTATE: 54000

分组集合的大小不能大于

按组聚合

SQL状态: 42903

在 GROUP BY 中不允许使用聚合函数,但找到了

按位置聚合

SQLSTATE: 42903

GROUP BY 指的是一个包含聚合函数的表达式 。在 GROUP BY 中不允许使用聚合函数。

分组位置超出范围

SQLSTATE: 42805

按位置分组 不在选择列表中(有效范围为 [1, ]).

组表达式类型不可排序

SQL状态: 未分配

表达式 不能用作分组表达式,因为它的数据类型 不是可排序的数据类型。

HLL_INVALID_INPUT_SKETCH_BUFFER

SQL状态: 未分配

的无效调用;只有有效的HLL草图缓冲区被支持作为输入(例如由 hll_sketch_agg 函数生成的那些)。

HLL_INVALID_LG_K

SQL状态: 未分配

的无效调用; lgConfigK 的值必须在 之间,包括:

HLL_UNION_DIFFERENT_LG_K

SQL状态: 未分配

草图具有不同的 lgConfigK 值: 。将 allowDifferentLgConfigK 参数设置为 true,以便使用不同的 lgConfigK 值调用

标识符_部分名称过多

SQLSTATE: 42601

不是一个有效的标识符,因为它有超过两个名称部分。

不可比的透视列

SQLSTATE: 42818

无效的透视列 。透视列必须是可比较的。

不兼容的列类型

SQLSTATE: 42825

只能在具有兼容列类型的表上执行。 列的 表是 类型,和第一张表的相同列的不兼容

不兼容数据源注册

SQL状态: 未分配

检测到不兼容的 DataSourceRegister。请从类路径中移除不兼容的库或升级它。错误:

与表不兼容的数据

SQLSTATE: KD000

无法为表 写入不兼容的数据:

有关更多详细信息,请参见 INCOMPATIBLE_DATA_FOR_TABLE

不兼容的连接类型

SQLSTATE: 42613

连接类型 不兼容。

不兼容视图模式更改

SQL状态: 未分配

视图 的 SQL 查询具有不兼容的架构更改,列 无法被解析。预期有 列名为 ,但实际得到的是 。请通过运行以下命令重新创建视图:

不完整类型定义

SQLSTATE: 42K01

不完整的复杂类型:

有关更多细节,请参见 INCOMPLETE_TYPE_DEFINITION

跨版本不一致行为

SQLSTATE: 42K0B

由于升级,您可能会得到不同的结果

有关更多详细信息,请参见 INCONSISTENT_BEHAVIOR_CROSS_VERSION

错误的结束偏移量

SQLSTATE: 22003

最大偏移量与 rowsPerSecond 为 ,但是现在是

不正确的上升速率

SQLSTATE: 22003

最大偏移量与 rowsPerSecond 是 , 但 ‘rampUpTimeSeconds’ 是

索引已存在

SQLSTATE: 42710

无法在表 上创建索引 ,因为它已经存在。

索引未找到

SQLSTATE: 42704

无法在表 上找到索引

插入列数量不匹配

SQLSTATE: 21S01

无法写入 ,原因是

有关更多详细信息,请参见 INSERT_COLUMN_ARITY_MISMATCH

插入分区列的参数不匹配

SQLSTATE: 21S01

无法写入‘ ’, : 表列: 。 具有静态值的分区列: 。 数据列:

表属性不足

SQL状态: 未分配

找不到表属性:

有关更多详细信息,请参见 INSUFFICIENT_TABLE_PROPERTY

内部错误

SQLSTATE: XX000

内部错误广播

SQL状态: XX000

内部错误执行器

SQLSTATE: XX000

内部错误:内存不足

SQLSTATE: XX000

内部网络错误

SQLSTATE: XX000

内部错误:洗牌

SQLSTATE: XX000

内部错误存储

SQLSTATE: XX000

区间算术溢出

SQL状态: 22015

.

间隔被零除

SQLSTATE: 22012

除以零。使用 try_divide 来容忍除数为0并返回NULL。

无效的数组索引

SQLSTATE: 22003

索引 超出范围。数组有 个元素。使用 SQL 函数 get() 来容忍访问无效索引的元素并返回 NULL。如果必要,设置 为“false”以绕过此错误。

在元素处的无效数组索引

SQLSTATE: 22003

索引 超出范围。数组有 个元素。使用 try_element_at 来容忍访问无效索引的元素并返回 NULL。如果需要,可以将 设置为 “false” 以绕过此错误。

无效的位图位置

SQLSTATE: 22003

0索引位图位置 超出范围。位图有 位 ( 字节)。

无效边界

SQL状态: 未分配

边界 是无效的:

有关更多详细信息,请参见 INVALID_BOUNDARY

无效的桶文件

SQL状态: 未分配

无效的桶文件:

无效字节字符串

SQL状态: 未分配

预期格式为 ByteString,但为 ( ).

无效的列名称作为路径

SQLSTATE: 46121

数据源 无法保存列 ,因为它的名称包含一些在文件路径中不允许的字符。请使用别名对其进行重命名。

无效的列或字段数据类型

SQLSTATE: 42000

列或字段 的类型为 ,但要求为

无效游标

SQLSTATE: HY109

光标无效。

更多细节请参见 INVALID_CURSOR

无效的默认值

SQL状态: 未分配

执行 命令失败,因为目标表列 有一个默认值 ,

有关更多详细信息,请参见 INVALID_DEFAULT_VALUE

无效的驱动程序内存

SQLSTATE: F0000

系统内存 必须至少为 。 请使用 –driver-memory 选项或 Spark 配置中的 “ ” 增加堆大小。

无效的空位置

SQLSTATE: 42K05

位置名称不能为空字符串,但是给定了

无效的转义

SQL状态: 未分配

发现了一个无效的转义字符串: 。转义字符串必须只包含一个字符。

无效的转义字符

SQL状态: 未分配

EscapeChar 应该是长度为一的字符串字面量,但得到了

无效的执行器内存

SQLSTATE: F0000

执行器内存 必须至少为 。请使用 –executor-memory 选项或在 Spark 配置中增加“ ”来增加执行器内存。

无效提取基础字段类型

SQLSTATE: 42000

无法从 中提取值。需要复杂类型 [STRUCT, ARRAY, MAP],但得到了

无效提取字段

SQLSTATE: 42601

无法从 中提取

无效提取字段类型

SQLSTATE: 42000

字段名称应为一个非空字符串文字,但它是

无效字段名称

SQLSTATE: 42000

字段名称 无效: 不是一个结构体。

无效格式

SQLSTATE: 42601

格式无效:

有关更多细节,请参见 INVALID_FORMAT

无效的秒分数

SQLSTATE: 22023

sec的分数必须为零。有效范围是[0, 60]。如果需要,请将 设置为“false”以绕过此错误。

无效句柄

SQL状态: HY000

句柄 是无效的。

有关更多详细信息,请参见 INVALID_HANDLE

无效的_HIVE_列名

SQL状态: 未分配

无法在 Hive 元数据存储中创建表 ,因为嵌套列 的名称包含无效字符

无效标识符

SQLSTATE: 42602

标识符 无效。请考虑用反引号将其引用,如

索引为零无效

SQLSTATE: 22003

索引 0 是无效的。索引应该是 < 0 or > 0(第一个元素的索引是 1)。

无效的行内表

SQL状态: 未分配

无效的内联表。

有关更多详细信息,请参见 INVALID_INLINE_TABLE

无效的JSON根字段

SQLSTATE: 22032

无法将JSON根字段转换为目标Spark类型。

无效的_JSON_模式_映射_类型

SQLSTATE: 22032

输入模式 只能包含 STRING 作为 MAP 的键类型。

无效的_lambda_function_调用

SQL状态: 未分配

无效的 lambda 函数调用。

欲了解更多详细信息,请参见 INVALID_LAMBDA_FUNCTION_CALL

无效的侧向连接类型

SQLSTATE: 42613

由于外部子查询不能与其连接伙伴关联,因此不允许使用具有LATERAL关联的 JOIN。请删除LATERAL关联,或改用内连接(INNER JOIN)或左外连接(LEFT OUTER JOIN)。

无效的 LIMIT LIKE 表达式

SQL状态: 未分配

限制like表达式 是无效的。

有关更多详细信息,请参见 INVALID_LIMIT_LIKE_EXPRESSION

无效的非确定性表达式

SQL状态: 未分配

运算符期望一个确定性的表达式,但实际表达式是

无效的数字文字范围

SQL状态: 未分配

数字文字 超出了 的有效范围,最小值为 ,最大值为 。请相应地调整这个值。

无效的观察指标

SQL状态: 未分配

无效的观测指标。

有关更多详细信息,请参见 INVALID_OBSERVED_METRICS

无效选项

SQLSTATE: 42K06

无效的选项:

有关更多详细信息,请参见 INVALID_OPTIONS

无效的Pandas UDF位置

SQLSTATE: 0A000

组聚合 pandas UDF 不能与其他非 pandas 聚合函数一起调用。

无效的参数值

SQLSTATE: 22023

参数 中的值无效:

有关更多详细信息,请参阅 INVALID_PARAMETER_VALUE

无效的分区操作

SQL状态: 未分配

分区命令无效。

欲了解更多详情,请参见 INVALID_PARTITION_OPERATION

无效的属性键

SQLSTATE: 42602

是一个无效的属性键,请使用引号,例如 SET =

无效的属性值

SQLSTATE: 42602

是一个无效的属性值,请使用引号,例如 SET =

无效模式

SQLSTATE: 42K07

输入模式 不是一个有效的模式字符串。

更多详情请参见 INVALID_SCHEMA

无效的集合语法

SQLSTATE: 42000

期望的格式是‘SET’,‘SET key’,或‘SET key=value’。如果您想在key中包含特殊字符,或在value中包含分号,请使用反引号,例如,SET key = value

无效的_SQL_参数

SQL状态: 未分配

参数 sql() 是无效的。考虑将其替换为 SQL 字面量。

无效的_SQL_语法

SQLSTATE: 42000

无效的SQL语法:

有关更多详细信息,请参见 INVALID_SQL_SYNTAX

无效的子查询表达式

SQLSTATE: 42823

无效的子查询:

有关更多详情,请参见 INVALID_SUBQUERY_EXPRESSION

无效的临时对象引用

SQL状态: 未分配

无法创建持久对象 ,类型为 ,因为它引用了临时对象 ,类型为 。请将临时对象 转换为持久对象,或将持久对象 转换为临时对象。

无效时间旅行时间戳表达式

SQL状态: 未分配

时间旅行时间戳表达式 是无效的。

有关更多详细信息,请参见 INVALID_TIME_TRAVEL_TIMESTAMP_EXPR

无效类型字面量

SQLSTATE: 42604

输入的文字值 是无效的:

无效的UDF实现

SQL状态: 未分配

函数 未实现 ScalarFunction 或 AggregateFunction。

无效的 URL

SQL状态: 未分配

网址无效: 。如果必要,可以将 设置为“false”以绕过此错误。

不合法的星号或正则表达式使用

SQLSTATE: 42000

中无效的 使用。

无效视图文本

SQL状态: 未分配

视图 无法显示,因为视图文本无效: 。这可能是由于对视图的未授权修改或查询语法错误所导致的。请检查您的查询语法,并验证视图是否未被篡改。

无效的 WHERE 条件

SQLSTATE: 42903

WHERE 条件 包含无效的表达式: 。重写查询以避免在 WHERE 子句中使用窗口函数、聚合函数和生成器函数。

聚合函数的无效窗口规范

SQL状态: 未分配

无法为 指定 ORDER BY 或窗口框架。

无效写入分布

SQL状态: 未分配

请求的写入分配无效。

有关更多详细信息,请参见 INVALID_WRITE_DISTRIBUTION

连接条件不是布尔类型

SQL状态: 未分配

连接条件 的类型 无效,期待“BOOLEAN”。

加载数据路径不存在

SQL状态: 未分配

加载数据输入路径不存在:

本地必须具有模式文件

SQL状态: 未分配

LOCAL 必须与 file 的架构一起使用,但得到了:

位置已存在

SQLSTATE: 42710

无法将托管表命名为 ,因为其关联的位置 已经存在。请选择一个不同的表名,或者先移除现有的位置。

格式错误的CSV记录

SQL状态: 未分配

格式错误的CSV记录:

格式错误的PROTOBUF消息

SQL状态: 未分配

在消息反序列化中检测到格式错误的Protobuf消息。解析模式: 。要将格式错误的protobuf消息处理为null结果,请尝试将选项‘mode’设置为‘PERMISSIVE’。

解析中格式错误的记录

SQLSTATE: 22023

在记录解析中检测到格式错误的记录:
解析模式: 。要将格式错误的记录处理为 null 结果,请尝试将选项 'mode' 设置为 'PERMISSIVE'。

有关更多详细信息,请参见 MALFORMED_RECORD_IN_PARSING

合并基数违反

SQLSTATE: 23K01

MERGE语句的ON搜索条件将目标表中的一行与源表中的多行匹配。 这可能导致目标行被更新或删除操作多次操作,这是不允许的。

缺失聚合

SQLSTATE: 42803

非聚合表达式 基于未参与 GROUP BY 子句的列。将列或表达式添加到 GROUP BY 中,聚合表达式,或者如果您不在乎返回组内的哪个值,请使用

缺失属性

SQL状态: 未分配

解决的属性 缺失于 中的操作符

有关更多细节,请参见 MISSING_ATTRIBUTES

缺少 GROUP BY

SQLSTATE: 42803

查询不包含 GROUP BY 子句。添加 GROUP BY 或者使用 OVER 子句将其转换为窗口函数。

多源不支持表达式

SQL状态: 未分配

表达式 不支持多个来源。

多重用户定义函数接口错误

SQL状态: 未分配

不允许实现多个 UDF 接口,UDF 类

不支持命名参数

SQLSTATE: 4274K

不支持为函数 使用命名参数;请重试函数调用,改用位置参数。

命名参数支持已禁用

SQL状态: 未分配

无法调用函数 ,因为此处未启用命名参数引用。在这种情况下,命名参数引用是 。将“spark.sql.allowNamedFunctionArguments”设置为“true”以开启此功能。

嵌套聚合函数

SQL状态: 42607

不允许在另一个聚合函数的参数中使用聚合函数。请在子查询中使用内部聚合函数。

非最后匹配子句省略条件

SQLSTATE: 42613

当MERGE语句中有多个MATCHED子句时,只有最后一个MATCHED子句可以省略条件。

未最后匹配的源条件省略

SQLSTATE: 42613

当在 MERGE 语句中有多个 NOT MATCHED BY SOURCE 子句时,只有最后一个 NOT MATCHED BY SOURCE 子句可以省略条件。

不匹配目标子句省略条件的非最后项

SQLSTATE: 42613

当在一个合并语句中有多个 NOT MATCHED [BY TARGET] 子句时,只有最后一个 NOT MATCHED [BY TARGET] 子句可以省略条件。

非文字透视值

SQLSTATE: 42K08

透视值所需的文字表达式,找到

非分区列

SQLSTATE: 42000

PARTITION 子句不能包含非分区列: .

流式处理不支持非时间窗口

SQL状态: 未分配

窗口函数在流式 DataFrames/Datasets 中不支持 (作为列 )。结构化流式处理仅支持使用 WINDOW 函数的时间窗口聚合。 (窗口规范:

在FROM中不允许使用

SQL状态: 未分配

不允许在 FROM 子句中:

有关更多详细信息,请参见 NOT_ALLOWED_IN_FROM

不是一个常量字符串

SQLSTATE: 42601

用于例程或子句 的表达式 必须是一个非空的常量字符串。

欲了解更多详情,请参阅 NOT_A_CONSTANT_STRING

非分区表

SQL状态: 未分配

操作 不允许用于 ,因为它不是一个分区表。

非空约束违反

SQLSTATE: 42000

在这里不允许分配 NULL。

有关更多详细信息,请参见 NOT_NULL_CONSTRAINT_VIOLATION

不支持更改列

SQL状态: 未分配

ALTER TABLE ALTER/CHANGE COLUMN 不支持更改

的列 ,类型为 ,到 ,类型为

不支持的 V2 表命令

SQLSTATE: 46110

不支持 v2 表。

不支持的命令,没有Hive支持

SQL状态: 未分配

不被支持,如果您想启用它,请将“spark.sql.catalogImplementation”设置为“hive”。

数据库目录中不支持

SQLSTATE: 46110

JDBC目录中不支持的命令:

有关更多详细信息,请参见 NOT_SUPPORTED_IN_JDBC_CATALOG

没有可用的默认列值

SQLSTATE: 42608

无法确定 的默认值,因为它不可为空且没有默认值。

没有针对UDAF的处理程序

SQL状态: 未分配

没有处理程序用于 UDAF ‘ ’. 请使用 sparkSession.udf.register(…) 来代替。

在PROTOBUF_SCHEMA中没有SQL类型

SQL状态: 未分配

无法在 Protobuf 模式中找到

无用户定义函数接口

SQL状态: 未分配

UDF类 没有实现任何UDF接口。

可空列或字段

SQLSTATE: 42000

列或字段 是可为空的,而它要求是非空的。

可为空的行ID属性

SQLSTATE: 42000

行 ID 属性不能为 NULL:

空映射键

SQLSTATE: 2200E

无法将null用作映射键。

数值超出支持范围

SQLSTATE: 22003

不能被解释为数字,因为它有超过38位数字。

数值超出范围

SQLSTATE: 22003

不能被表示为 Decimal( , )。如果必要,可以将 设置为 “false” 以绕过此错误,并返回 NULL。

列数不匹配

SQLSTATE: 42826

只能在具有相同列数的输入上执行,但第一个输入有 列,而 输入有 列。

数值表别名不匹配

SQL状态: 未分配

给定别名的数量与输出列的数量不匹配。 函数名称: ;别名的数量: ;输出列的数量:

操作已取消

SQLSTATE: HY008

操作已被取消。

位置超出范围

SQLSTATE: 42805

按位置排序 不在选择列表中(有效范围是 [1, ]).

解析空语句

SQLSTATE: 42617

语法错误,意外的空语句。

解析语法错误

SQLSTATE: 42601

附近的语法错误。

分区已经存在

SQLSTATE: 428FT

无法在表 中添加或重命名分区 ,因为它们已存在。选择一个不同的名称,删除现有分区,或添加 IF NOT EXISTS 子句以容忍预先存在的分区。

找不到分区

SQLSTATE: 428FT

在表 中找不到分区
验证分区规范和表名。
要容忍删除时的错误,请使用 ALTER TABLE … DROP IF EXISTS PARTITION。

路径已存在

SQLSTATE: 42K04

路径 已经存在。将模式设置为“覆盖”以覆盖现有路径。

路径未找到

SQLSTATE: 42K03

路径不存在: .

PIVOT_VALUE_DATA_TYPE_MISMATCH

SQLSTATE: 42K09

无效的透视值‘ ’: 值的数据类型 与透视列的数据类型 不匹配。

计划验证失败规则执行器

SQL状态: 未分配

输入计划无效:

计划验证失败规则批处理

SQL状态: 未分配

在批处理 中,规则 生成了一个无效的计划:

找不到PROTOBUF依赖

SQL状态: 未分配

无法找到依赖项:

PROTOBUF_DESCRIPTOR_FILE_NOT_FOUND

SQL状态: 未分配

读取 Protobuf 描述符文件时出错,路径为: .

PROTOBUF_FIELD_MISSING

SQL状态: 未分配

中搜索 得到了 个匹配项。候选项:

在SQL模式中缺少PROTOBUF字段

SQL状态: 未分配

在Protobuf架构中发现 ,但在SQL架构中没有匹配项。

PROTOBUF_FIELD_TYPE_MISMATCH

SQL状态: 未分配

字段发生类型不匹配:

PROTOBUF_MESSAGE_NOT_FOUND

SQL状态: 未分配

无法在描述符中找到消息

不支持的PROTOBUF类型

SQL状态: 未分配

尚不支持的Protobuf类型: .

递归_PROTOBUF_模式

SQL状态: 未分配

在Protobuf模式中发现递归引用,Spark默认无法处理: 。尝试将选项 recursive.fields.max.depth 设置为0到10。递归超过10级是不允许的。

递归视图

SQL状态: 未分配

检测到递归视图 (循环: )。

默认值不允许在分区中使用

SQL状态: 未分配

在PARTITION子句中不允许引用DEFAULT列值。

重命名源路径未找到

SQLSTATE: 42K03

重命名失败,因为 未找到。

重复子句

SQLSTATE: 42614

每个 操作中, 子句最多可以使用一次。

必需参数未找到

SQLSTATE: 4274K

无法调用函数 ,因为参数 是必需的,但函数调用没有提供值。请更新函数调用以提供参数值(可以在索引 处按位置提供,或按名称提供),然后重新尝试查询。

需要单一部分命名空间

SQLSTATE: 42K05

需要一个单一部分的命名空间,但得到了

例程已存在

SQLSTATE: 42723

无法创建函数 ,因为它已经存在。选择一个不同的名称,删除或替换现有函数,或者添加 IF NOT EXISTS 子句以容忍已存在的函数。

例程未找到

SQLSTATE: 42883

找不到函数 。请检查模式和目录的拼写及正确性。如果您没有用模式和目录限定名称,请检查 current_schema() 的输出,或者用正确的模式和目录限定名称。要容忍删除时的错误,请使用 DROP FUNCTION IF EXISTS。

规则ID未找到

SQLSTATE: 22023

未找到规则名称“ ”的ID。如果您正在添加新规则,请修改 RuleIdCollection.scala。

标量子查询是否在GROUP BY或聚合函数中

SQL状态: 未分配

相关的标量子查询‘ ’既不在GROUP BY中,也不在聚合函数中。使用位置顺序将其添加到GROUP BY中,或者如果您不在乎获取哪个值,可以将其包装在 first() (或 first_value )中。

标量子查询返回行数过多

SQL状态:21000

子查询作为表达式使用时返回的行数超过一行。

模式已存在

SQLSTATE: 42P06

无法创建模式 因为它已经存在。 选择一个不同的名称,删除现有模式,或添加 IF NOT EXISTS 子句以容忍已存在的模式。

模式不能为空

SQLSTATE: 2BP01

无法删除模式 ,因为它包含对象。使用 DROP SCHEMA … CASCADE 删除模式及其所有对象。

模式未找到

SQLSTATE: 42704

无法找到架构 。请验证架构和目录的拼写及正确性。
如果您没有使用目录限定名称,请验证 current_schema() 的输出,或者使用正确的目录限定名称。
要容忍删除时发生的错误,请使用 DROP SCHEMA IF EXISTS。

第二个函数参数不是整数

SQLSTATE: 22023

函数 的第二个参数需要是一个整数。

种子表达式不可展开

SQL状态: 未分配

表达式 的种子表达式 必须是可折叠的。

按无桶方式排序

SQL状态: 未分配

sortBy 必须与 bucketBy 一起使用。

不允许指定分桶

SQL状态: 未分配

如果在创建时未指定表架构并将在运行时推断,则无法指定分桶信息。

不允许指定分区

SQL状态: 未分配

当表模式未定义时,不允许指定分区列。当未提供表模式时,将推断模式和分区列。

未找到 SQL 配置

SQL状态: 未分配

找不到 SQL 配置 。请确认该配置存在。

按位置分组的星级

SQLSTATE: 0A000

当使用按顺序位置的 GROUP BY 时,选择列表中不允许使用星号 (*)。

插入列列表中的静态分区列

SQL状态: 未分配

静态分区列 也在列列表中指定。

流媒体失败

SQL状态: 未分配

查询 [id = , runId = ] 以异常终止:

限制和偏移量之和超过最大整数

SQL状态: 未分配

LIMIT子句和OFFSET子句的总和不得大于最大32位整数值(2,147,483,647),但是发现 limit = , offset =

表或视图已存在

SQLSTATE: 42P07

无法创建表或视图 因为它已经存在。选择一个不同的名称,删除或替换现有对象,或者添加 IF NOT EXISTS 条款以容忍先前存在的对象。

表或视图未找到

SQLSTATE: 42P01

无法找到表或视图 。请验证架构和目录的拼写及正确性。如果您没有用架构限定名称,请验证 current_schema() 输出,或使用正确的架构和目录限定名称。要容忍删除时的错误,请使用 DROP VIEW IF EXISTS 或 DROP TABLE IF EXISTS。

表值函数参数过多

SQL状态: 未分配

表值函数的表参数太多。它只允许一个表参数,但得到了: 。如果您想允许它,请将“spark.sql.allowMultipleTableArguments.enabled”设置为“true”

任务写入失败

SQL状态: 未分配

任务在写入行到 时失败。

临时表或视图已存在

SQLSTATE: 42P07

无法创建临时视图 因为它已经存在。选择一个不同的名称、删除或替换现有视图,或添加 IF NOT EXISTS 子句以容忍预先存在的视图。

临时视图名称过多部分

SQLSTATE: 428EK

创建临时视图或相应的数据集API仅接受单部分视图名称,但得到的是:

数组元素太多

SQLSTATE: 54000

无法用 个元素大小为 的数组进行初始化。

UDTF_ALIAS_NUMBER_MISMATCH

SQL状态: 未分配

在 AS 子句中提供的别名数量与 UDTF 输出的列数不匹配。期望 个别名,但实际获得 个。请确保提供的别名数量与 UDTF 输出的列数匹配。

无法获取内存

SQLSTATE: 53200

无法获取 字节的内存,得到

无法转换为 Protobuf 消息类型

SQL状态: 未分配

无法将 SQL 类型 转换为 Protobuf 类型

无法推断模式

SQLSTATE: 42KD9

无法推断 的架构。必须手动指定。

未绑定的SQL参数

SQLSTATE: 42P02

找到未绑定的参数: 。 请修复 args 并提供参数到 SQL 文字的映射。

未闭合括号注释

SQLSTATE: 42601

发现一个未闭合的括号注释。请在注释末尾添加 */。

意外的输入类型

SQLSTATE: 42K09

函数 的参数 需要 类型,然而 的类型是

意外的位置参数

SQLSTATE: 4274K

无法调用函数 ,因为它包含在赋值给 的命名参数之后的位置参数;请重新排列它们,使位置参数先出现,然后再重新尝试查询。

未知的 Protobuf 消息类型

SQL状态: 未分配

尝试将 视为消息,但它是

UNPIVOT_REQUIRES_ATTRIBUTES

SQLSTATE: 42K0A

UNPIVOT要求所有给定的 表达式在没有给定 表达式时必须为列。这些不是列: [ ]。

UNPIVOT_REQUIRES_VALUE_COLUMNS

SQLSTATE: 42K0A

至少需要为UNPIVOT指定一个值列,所有指定为ids的列。

UNPIVOT值数据类型不匹配

SQLSTATE: 42K09

取消透视值列必须共享至少一种共同类型,某些类型不符合:[ ].

UNPIVOT_VALUE_SIZE_MISMATCH

SQLSTATE: 428C4

所有 unpivot 值列必须与值列名称数量相同 ( )。

未识别的参数名称

SQLSTATE: 4274K

无法调用函数 ,因为函数调用包含了一个命名参数引用,参数名称为 ,但该函数不包含任何带有此名称的参数的签名。您是想要以下其中一个吗? [ ]。

无法识别的_SQL_类型

SQLSTATE: 42704

未识别的 SQL 类型 - 名称: , ID: .

不可解析的表值函数

SQL状态: 未分配

无法将 解析为表值函数。请确保 被定义为表值函数,并且所有必需的参数都已正确提供。如果 未被定义,请在使用之前创建表值函数。有关定义表值函数的更多信息,请参考 Apache Spark 文档。

未解决的所有分组

SQLSTATE: 42803

无法根据选择子句推断GROUP BY ALL的分组列。请明确指定分组列。

未解析的列

SQLSTATE: 42703

无法解析名称为 的列或函数参数。

有关更多详细信息,请参见 UNRESOLVED_COLUMN

未解决字段

SQLSTATE: 42703

无法使用结构类型列 解析名称为 的字段。

有关更多详细信息,请参见 UNRESOLVED_FIELD

未解决的映射键

SQLSTATE: 42703

无法将列 解析为地图键。如果键是字符串字面量,请在其周围添加单引号‘’。

有关更多详细信息,请参见 UNRESOLVED_MAP_KEY

未解决的例程

SQLSTATE: 42883

无法在搜索路径 上解析函数

未解决的使用列进行连接

SQLSTATE: 42703

在连接的 一侧无法解析列 一侧的列:[ ]。

未设置非存在属性

SQL状态: 未分配

尝试取消设置不存在的属性 [ ] 在表

中。

不支持的添加文件

SQL状态: 未分配

不支持添加文件。

有关更多详细信息,请参阅 UNSUPPORTED_ADD_FILE

不支持的箭头类型

SQLSTATE: 0A000

不支持的箭头类型

不支持的字符或可变字符作为字符串

SQL状态: 未分配

char/varchar类型不能在表模式中使用。如果您希望Spark将它们视为与Spark 3.0及更早版本相同的字符串类型,请将“spark.sql.legacy.charVarcharAsString”设置为“true”。

不支持的直接查询数据源

SQL状态: 未分配

文件的直接查询不支持的数据源类型:

不支持的数据类型

SQLSTATE: 0A000

不支持的数据类型

不支持的数据源数据类型

SQL状态: 未分配

这个 数据源不支持类型为 的列

不支持的默认值

SQL状态: 未分配

不支持默认列值。

有关更多详细信息,请参见 UNSUPPORTED_DEFAULT_VALUE

不支持的反序列化程序

SQLSTATE: 0A000

反序列化程序不受支持:

更多详细信息请参阅 UNSUPPORTED_DESERIALIZER

不支持的表达式生成列

SQL状态: 未分配

无法创建生成列 ,生成表达式 因为

不支持的运算符表达式

SQL状态: 未分配

查询运算符包含一个或多个不支持的表达式。考虑重写以避免在 WHERE 子句中使用窗口函数、聚合函数和生成器函数。 无效表达式: [ ]

不支持的窗口表达式

SQLSTATE: 42P20

在窗口函数中不支持表达式

不支持的特性

SQLSTATE: 0A000

该功能不被支持:

有关更多详细信息,请参见 UNSUPPORTED_FEATURE

不支持的生成器

SQLSTATE: 0A000

不支持该生成器:

有关更多详细信息,请参见 UNSUPPORTED_GENERATOR

不支持的分组表达式

SQL状态: 未分配

grouping()/grouping_id() 只能与 GroupingSets/Cube/Rollup 一起使用。

不支持的插入

SQL状态: 未分配

无法插入到目标。

有关更多详细信息,请参阅 UNSUPPORTED_INSERT

不支持的合并条件

SQL状态: 未分配

合并操作包含不支持的 条件。

有关更多详细信息,请参阅 UNSUPPORTED_MERGE_CONDITION

不支持的覆盖

SQL状态: 未分配

无法覆盖正在读取的目标。

有关更多详细信息,请参见 UNSUPPORTED_OVERWRITE

不支持的保存模式

SQL状态: 未分配

保存模式 不支持:

有关更多详细信息,请参见 UNSUPPORTED_SAVE_MODE

不支持的子查询表达式类别

SQLSTATE: 0A000

不支持的子查询表达式:

详情见 UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY

不支持的类型字面量

SQLSTATE: 0A000

类型 的文字没有被支持。支持的类型是

未类型化的 Scala 用户自定义函数

SQL状态: 未分配

您正在使用无类型的Scala UDF,它没有输入类型信息。Spark可能会盲目地将null传递给具有原始类型参数的Scala闭包,而闭包将看到null参数的Java类型的默认值,例如 udf((x: Int) => x, IntegerType) ,对于null输入,结果是0。为了消除此错误,您可以:

  1. 使用带有类型的Scala UDF API(没有返回类型参数),例如 udf((x: Int) => x)
  2. 使用Java UDF API,例如 udf(new UDF1[String, Integer] { override def call(s: String): Integer = s.length() }, IntegerType) ,如果输入类型都是非原始类型。
  3. 将“spark.sql.legacy.allowUntypedScalaUDF”设置为“true”,并谨慎使用此API。

视图已存在

SQLSTATE: 42P07

无法创建视图 因为它已经存在。选择一个不同的名称,删除或替换现有对象,或者添加 IF NOT EXISTS 子句以容忍已存在的对象。

视图未找到

SQLSTATE: 42P01

视图 找不到。请检查模式和目录的拼写和正确性。如果您没有用模式来限定名称,请验证 current_schema() 输出,或者用正确的模式和目录来限定名称。为了容忍删除时的错误,请使用 DROP VIEW IF EXISTS。

窗口函数和框架不匹配

SQL状态: 未分配

函数只能在具有单个偏移量的有序基于行的窗口框架中进行评估:

无OVER子句的窗口函数

SQL状态: 未分配

窗口函数 需要一个 OVER 子句。

不允许写入流

SQL状态: 未分配

writeStream 只能在流式数据集/数据框上调用。

对象类型的错误命令

SQL状态: 未分配

操作 需要一个 。但是 是一个 。请使用 替代。

参数数量错误

SQLSTATE: 42605

需要 个参数,但实际数量是

欲了解更多详细信息,请参见 WRONG_NUM_ARGS