错误条件
这是Spark SQL返回的常见命名错误条件的列表。
另请参见 SQLSTATE 代码 。
使用非确定性表达式的聚合函数
SQLSTATE: 没有分配
非确定性表达式
不应出现在聚合函数的参数中。
不允许所有分区列
SQLSTATE: 未分配
无法使用所有列作为分区列。
ALTER_TABLE_COLUMN_DESCRIPTOR_DUPLICATE
ALTER TABLE
列
指定描述符 “
” 多次,这是无效的。
嵌套公共表表达式中的模糊别名
SQL状态: 未分配
名称
在嵌套的 CTE 中模糊不清。
请将
设置为 “CORRECTED”,以便内部 CTE 中定义的名称优先。如果将其设置为 “LEGACY”,外部 CTE 定义将优先。
请参阅 ‘
/sql-migration-guide.html#query-engine’。
模糊列或字段
列或字段
是模糊的,并且有
个匹配项。
模糊列引用
列
是模糊的。这是因为您将几个 DataFrame 连接在一起,其中一些 DataFrame 是相同的。
此列指向其中一个 DataFrame,但 Spark 无法确定是哪一个。
请在连接它们之前,通过
DataFrame.alias
使用不同的名称对 DataFrame 进行别名,并使用合格名称指定列,例如
df.alias("a").join(df.alias("b"), col("a.id") > col("b.id"))
。
模糊的横向列别名
侧列别名
是模糊的,并且具有
个匹配。
模糊引用
引用
是模糊的,可以是:
。
字段的模糊引用
对字段
的引用模糊。在模式中出现了
次。
算术溢出
.
如有必要,将
设置为“false”以绕过此错误。
汇总连接
SQL状态: 未分配
无效的截至连接。
有关更多详细信息,请参见 AS_OF_JOIN
AVRO不兼容读取类型
SQL状态: 未分配
无法将 Avro
转换为 SQL
,因为原始编码的数据类型为
,然而您尝试将该字段读取为
,这将导致不正确的答案。要允许读取该字段,请启用 SQL 配置:“spark.sql.legacy.avro.allowIncompatibleSchema”。
批处理元数据未找到
无法找到批处理
。
二进制算术溢出
导致溢出。
调用流数据集不支持
SQL状态: 未分配
方法
不能在流式数据集/DataFrame上调用。
无法转换数据类型
无法将
转换为
。
无法将 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
提供的 URL 无法解码:
。请确保 URL 格式正确后重试。
无法在转换中调用
SQL状态: 未分配
数据集的转换和操作只能由驱动程序调用,不能在其他数据集转换内部调用;例如,dataset1.map(x => dataset2.values.count() * x) 是无效的,因为values转换和count操作不能在dataset1.map转换内部执行。有关更多信息,请参见 SPARK-28702。
无法加载函数类
SQL状态: 未分配
在注册函数
时无法加载类
,请确保它在类路径上。
无法加载 protobuf 类
SQL状态: 未分配
无法加载名称为
的 Protobuf 类。
。
无法合并不兼容的数据类型
合并不兼容的数据类型
和
失败。请检查正在合并的列的数据类型,并确保它们是兼容的。如果必要,请考虑在尝试合并之前将列转换为兼容的数据类型。
无法合并模式
合并模式失败:
初始模式:
无法与初始模式合并的模式:
。
无法修改配置
无法修改Spark配置的值:
。另见‘
/sql-migration-guide.html#ddl-statements’。
无法解析十进制
无法解析小数。请确保输入是一个有效的数字,可以带有可选的小数点或逗号分隔符。
无法解析间隔
SQL状态: 未分配
无法解析
。请确保提供的值的格式有效,以定义一个时间间隔。您可以参考文档以获取正确的格式。如果问题仍然存在,请仔细检查输入值是否为null或空,并重试。
无法解析 JSON 字段
无法解析字段名称
和值
,JSON令牌类型
,以目标Spark数据类型
。
无法解析 Protobuf 描述符
SQL状态: 未分配
解析描述符字节到 Protobuf FileDescriptorSet 时出错。
无法解析时间戳
。如有必要,将
设置为“false”以绕过此错误。
无法读取文件页脚
SQL状态: 未分配
无法读取文件的页脚:
。请确保文件是 ORC 或 Parquet 格式。如果不是,请将其转换为有效格式。如果文件是有效格式,请检查它是否损坏。如果损坏,您可以选择忽略它或修复损坏。
无法识别 HIVE 类型
无法识别 hive 类型字符串:
,列:
。指定字段的数据类型无法被 Spark SQL 识别。请检查指定字段的数据类型并确保它是有效的 Spark SQL 数据类型。有关有效数据类型及其格式的列表,请查阅 Spark SQL 文档。如果数据类型正确,请确保您正在使用支持的 Spark SQL 版本。
无法跨模式重命名
在模式间重命名
是不允许的。
无法解析星号展开
SQL状态: 未分配
无法解析
.* 由于输入列
。请检查指定的表或结构是否存在并且在输入列中可访问。
无法恢复路径的权限
SQL状态: 未分配
无法将权限设置为创建路径
回到
。
无法更新字段
SQL状态: 未分配
无法更新
字段
类型:
有关更多详细信息,请参见 CANNOT_UPDATE_FIELD
无法向上转换数据类型
SQL状态: 未分配
无法将
从
向
上cast。
转换无效输入
类型为
的值
不能被转换为
,因为它格式不正确。请按照语法更正值,或更改其目标类型。使用
try_cast
来容忍格式错误的输入并返回 NULL。如果必要,请将
设置为 “false” 以绕过此错误。
类型溢出
类型为
的值
由于溢出无法转换为
。请使用
try_cast
来容忍溢出并返回 NULL。如果需要,可以将
设置为 “false” 以绕过此错误。
表插入时的类型溢出
无法将类型为
的值插入到类型为
的列
中,由于溢出。使用
try_cast
对输入值进行处理,以容忍溢出并返回 NULL。
编解码器不可用
SQL状态: 未分配
编解码器
不可用。考虑将配置
设置为
。
编码器短名称未找到
SQL状态: 未分配
无法找到编解码器
的简短名称。
不允许使用列别名
SQL状态: 未分配
列别名在
中不被允许。
列已存在
列
已经存在。考虑选择另一个名称或重命名现有列。
表中未定义的列
SQL状态: 未分配
列
未在表
中定义,已定义的表列为:
。
未找到列
无法找到列
。请根据SQL配置
验证列名的拼写和正确性。
比较器返回空
SQL状态: 未分配
比较器在
和
之间的比较中返回了 NULL。它应该返回一个正整数表示“更大”,返回 0 表示“相等”,返回一个负整数表示“更小”。要恢复到过时的行为,其中 NULL 被视为 0(相等),您必须将“spark.sql.legacy.allowNullComparisonResultInArraySort”设置为“true”。
并发查询
SQL状态: 未分配
另一个会话刚刚启动了该查询的另一个实例。
并发流日志更新
SQLSTATE: 40000
对日志的并发更新。检测到多个流处理作业用于
。请确保在特定检查点位置一次仅运行一个流处理作业。
连接
SQL状态: 未分配
通用 Spark 连接错误。
有关更多详细信息,请参见 CONNECT
转换无效输入
值
(
) 不能转换为
,因为它格式不正确。按照语法修正该值,或更改其格式。使用
忽略格式错误的输入并返回 NULL。
创建永久视图而不使用别名
SQL状态: 未分配
不允许创建永久视图
,而不明确为表达式
分配别名。
创建表列描述符重复
创建表列
指定描述符 “
” 超过一次,这是无效的。
创建视图列的参数不匹配
无法创建视图
,原因是
有关更多详细信息,请参阅 CREATE_VIEW_COLUMN_ARITY_MISMATCH
数据类型不匹配
由于数据类型不匹配,无法解析
:
有关更多详细信息,请参见 DATATYPE_MISMATCH
数据类型缺少大小
数据类型
需要一个长度参数,例如
(10)。请指定长度。
数据源未找到
未能找到数据源:
。请在
https://spark.apache.org/third-party-projects.html
查找包。
日期时间溢出
日期时间操作溢出:
.
十进制精度超过最大精度
十进制精度
超过最大精度
。
默认数据库不存在
默认数据库
不存在,请先创建它或将默认数据库更改为
。
不支持的DISTINCT窗口函数
SQL状态: 未分配
不支持不同的窗口函数:
.
除以零
除以零。使用
try_divide
来容忍除数为 0,并返回 NULL。如果需要,将
设置为“false”以绕过此错误。
箭头结构中的重复字段名称
SQL状态: 未分配
在 Arrow Struct 中不允许重复的字段名称,得到
。
重复的映射键
发现重复的映射键
,请检查输入数据。如果您想删除重复的键,可以将
设置为“LAST_WIN”,这样最后插入的键将优先。
重复的指标名称
SQL状态: 未分配
指标名称不是唯一的:
。相同的名称不能用于具有不同结果的指标。然而,允许多个具有相同结果和名称的指标实例(例如,自连接)。
重复条款
SQL状态: 未分配
发现重复的条款:
。请删除其中一个。
重复键
发现重复的关键字
.
重复的例程参数分配
调用函数
是无效的,因为它对同一参数名称
包含多个参数赋值。
更多细节请参见 DUPLICATE_ROUTINE_PARAMETER_ASSIGNMENT
空JSON字段值
解析空字符串以获取数据类型
失败。
编码器未找到
SQL状态: 未分配
未找到类型为
的编码器以对应 Spark SQL 内部表示。考虑将输入类型更改为在 ‘
/sql-ref-datatypes.html’ 中支持的类型之一。
事件时间不是时间戳类型
SQL状态: 未分配
事件时间
的类型
无效,但预期为 “TIMESTAMP”。
超出限制长度
SQL状态: 未分配
超过字符/可变字符类型长度限制:
.
表达式类型不可排序
SQL状态: 未分配
列表达式
无法排序,因为它的类型
不能排序。
执行用户定义函数失败
执行用户定义的函数失败 (
: (
) =>
).
函数调用失败
准备函数
调用失败。请仔细检查函数的参数。
解析结构类型失败
解析结构失败:
。
重命名路径失败
重命名
为
失败,因为目标已存在。
重命名临时文件失败
SQL状态: 未分配
无法将临时文件
重命名为
,因为 FileSystem.rename 返回了 false。
字段已存在
SQL状态: 未分配
无法
列,因为
已经在
中存在。
字段未找到
在
中没有这样的结构字段
。
禁止操作
在
上不允许进行操作
:
。
具有默认值的生成列
SQL状态: 未分配
一个列不能同时具有默认值和生成表达式,但是列
具有默认值: (
) 和生成表达式: (
)。
GRAPHITE_SINK_INVALID_PROTOCOL
SQL状态: 未分配
无效的Graphite协议:
。
缺少 GRAPHITE Sink 属性
SQL状态: 未分配
Graphite sink 需要‘
’ 属性。
分组列不匹配
在分组列
中找不到分组列
。
分组ID列不匹配
分组 ID (
) 的列与分组列 (
) 不匹配。
分组大小限制超过
分组集合的大小不能大于
。
按组聚合
在 GROUP BY 中不允许使用聚合函数,但找到了
。
按位置聚合
GROUP BY
指的是一个包含聚合函数的表达式
。在 GROUP BY 中不允许使用聚合函数。
分组位置超出范围
按位置分组
不在选择列表中(有效范围为 [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
值调用
。
标识符_部分名称过多
不是一个有效的标识符,因为它有超过两个名称部分。
不可比的透视列
无效的透视列
。透视列必须是可比较的。
不兼容的列类型
只能在具有兼容列类型的表上执行。
列的
表是
类型,和第一张表的相同列的不兼容
。
。
不兼容数据源注册
SQL状态: 未分配
检测到不兼容的 DataSourceRegister。请从类路径中移除不兼容的库或升级它。错误:
与表不兼容的数据
SQLSTATE: KD000
无法为表
写入不兼容的数据:
有关更多详细信息,请参见 INCOMPATIBLE_DATA_FOR_TABLE
不兼容的连接类型
连接类型
和
不兼容。
不兼容视图模式更改
SQL状态: 未分配
视图
的 SQL 查询具有不兼容的架构更改,列
无法被解析。预期有
列名为
,但实际得到的是
。请通过运行以下命令重新创建视图:
。
不完整类型定义
不完整的复杂类型:
有关更多细节,请参见 INCOMPLETE_TYPE_DEFINITION
跨版本不一致行为
由于升级,您可能会得到不同的结果
有关更多详细信息,请参见 INCONSISTENT_BEHAVIOR_CROSS_VERSION
错误的结束偏移量
最大偏移量与
rowsPerSecond 为
,但是现在是
。
不正确的上升速率
最大偏移量与
rowsPerSecond 是
, 但 ‘rampUpTimeSeconds’ 是
。
索引已存在
无法在表
上创建索引
,因为它已经存在。
索引未找到
无法在表
上找到索引
。
插入列数量不匹配
无法写入
,原因是
有关更多详细信息,请参见 INSERT_COLUMN_ARITY_MISMATCH
插入分区列的参数不匹配
无法写入‘
’,
:
表列:
。
具有静态值的分区列:
。
数据列:
。
表属性不足
SQL状态: 未分配
找不到表属性:
有关更多详细信息,请参见 INSUFFICIENT_TABLE_PROPERTY
内部错误
内部错误广播
内部错误执行器
内部错误:内存不足
内部网络错误
内部错误:洗牌
内部错误存储
区间算术溢出
.
间隔被零除
除以零。使用
try_divide
来容忍除数为0并返回NULL。
无效的数组索引
索引
超出范围。数组有
个元素。使用 SQL 函数
get()
来容忍访问无效索引的元素并返回 NULL。如果必要,设置
为“false”以绕过此错误。
在元素处的无效数组索引
索引
超出范围。数组有
个元素。使用
try_element_at
来容忍访问无效索引的元素并返回 NULL。如果需要,可以将
设置为 “false” 以绕过此错误。
无效的位图位置
0索引位图位置
超出范围。位图有
位 (
字节)。
无效边界
SQL状态: 未分配
边界
是无效的:
。
有关更多详细信息,请参见 INVALID_BOUNDARY
无效的桶文件
SQL状态: 未分配
无效的桶文件:
。
无效字节字符串
SQL状态: 未分配
预期格式为 ByteString,但为
(
).
无效的列名称作为路径
数据源
无法保存列
,因为它的名称包含一些在文件路径中不允许的字符。请使用别名对其进行重命名。
无效的列或字段数据类型
列或字段
的类型为
,但要求为
。
无效游标
光标无效。
更多细节请参见 INVALID_CURSOR
无效的默认值
SQL状态: 未分配
执行
命令失败,因为目标表列
有一个默认值
,
有关更多详细信息,请参见 INVALID_DEFAULT_VALUE
无效的驱动程序内存
SQLSTATE: F0000
系统内存
必须至少为
。 请使用 –driver-memory 选项或 Spark 配置中的 “
” 增加堆大小。
无效的空位置
位置名称不能为空字符串,但是给定了
。
无效的转义
SQL状态: 未分配
发现了一个无效的转义字符串:
。转义字符串必须只包含一个字符。
无效的转义字符
SQL状态: 未分配
EscapeChar
应该是长度为一的字符串字面量,但得到了
。
无效的执行器内存
SQLSTATE: F0000
执行器内存
必须至少为
。请使用 –executor-memory 选项或在 Spark 配置中增加“
”来增加执行器内存。
无效提取基础字段类型
无法从
中提取值。需要复杂类型 [STRUCT, ARRAY, MAP],但得到了
。
无效提取字段
无法从
中提取
。
无效提取字段类型
字段名称应为一个非空字符串文字,但它是
。
无效字段名称
字段名称
无效:
不是一个结构体。
无效格式
格式无效:
。
有关更多细节,请参见 INVALID_FORMAT
无效的秒分数
sec的分数必须为零。有效范围是[0, 60]。如果需要,请将
设置为“false”以绕过此错误。
无效句柄
句柄
是无效的。
有关更多详细信息,请参见 INVALID_HANDLE
无效的_HIVE_列名
SQL状态: 未分配
无法在 Hive 元数据存储中创建表
,因为嵌套列
的名称包含无效字符
。
无效标识符
标识符
无效。请考虑用反引号将其引用,如
。
索引为零无效
索引 0 是无效的。索引应该是
< 0 or >
0(第一个元素的索引是 1)。
无效的行内表
SQL状态: 未分配
无效的内联表。
有关更多详细信息,请参见 INVALID_INLINE_TABLE
无效的JSON根字段
无法将JSON根字段转换为目标Spark类型。
无效的_JSON_模式_映射_类型
输入模式
只能包含 STRING 作为 MAP 的键类型。
无效的_lambda_function_调用
SQL状态: 未分配
无效的 lambda 函数调用。
欲了解更多详细信息,请参见 INVALID_LAMBDA_FUNCTION_CALL
无效的侧向连接类型
由于外部子查询不能与其连接伙伴关联,因此不允许使用具有LATERAL关联的
JOIN。请删除LATERAL关联,或改用内连接(INNER JOIN)或左外连接(LEFT OUTER JOIN)。
无效的 LIMIT LIKE 表达式
SQL状态: 未分配
限制like表达式
是无效的。
有关更多详细信息,请参见 INVALID_LIMIT_LIKE_EXPRESSION
无效的非确定性表达式
SQL状态: 未分配
运算符期望一个确定性的表达式,但实际表达式是
。
无效的数字文字范围
SQL状态: 未分配
数字文字
超出了
的有效范围,最小值为
,最大值为
。请相应地调整这个值。
无效的观察指标
SQL状态: 未分配
无效的观测指标。
有关更多详细信息,请参见 INVALID_OBSERVED_METRICS
无效选项
无效的选项:
有关更多详细信息,请参见 INVALID_OPTIONS
无效的Pandas UDF位置
组聚合 pandas UDF
不能与其他非 pandas 聚合函数一起调用。
无效的参数值
参数
在
中的值无效:
有关更多详细信息,请参阅 INVALID_PARAMETER_VALUE
无效的分区操作
SQL状态: 未分配
分区命令无效。
欲了解更多详情,请参见 INVALID_PARTITION_OPERATION
无效的属性键
是一个无效的属性键,请使用引号,例如 SET
=
。
无效的属性值
是一个无效的属性值,请使用引号,例如 SET
=
无效模式
输入模式
不是一个有效的模式字符串。
更多详情请参见 INVALID_SCHEMA
无效的集合语法
期望的格式是‘SET’,‘SET key’,或‘SET key=value’。如果您想在key中包含特殊字符,或在value中包含分号,请使用反引号,例如,SET
key
=
value
。
无效的_SQL_参数
SQL状态: 未分配
参数
的
sql()
是无效的。考虑将其替换为 SQL 字面量。
无效的_SQL_语法
无效的SQL语法:
有关更多详细信息,请参见 INVALID_SQL_SYNTAX
无效的子查询表达式
无效的子查询:
有关更多详情,请参见 INVALID_SUBQUERY_EXPRESSION
无效的临时对象引用
SQL状态: 未分配
无法创建持久对象
,类型为
,因为它引用了临时对象
,类型为
。请将临时对象
转换为持久对象,或将持久对象
转换为临时对象。
无效时间旅行时间戳表达式
SQL状态: 未分配
时间旅行时间戳表达式
是无效的。
有关更多详细信息,请参见 INVALID_TIME_TRAVEL_TIMESTAMP_EXPR
无效类型字面量
输入的文字值
是无效的:
。
无效的UDF实现
SQL状态: 未分配
函数
未实现 ScalarFunction 或 AggregateFunction。
无效的 URL
SQL状态: 未分配
网址无效:
。如果必要,可以将
设置为“false”以绕过此错误。
不合法的星号或正则表达式使用
在
中无效的
使用。
无效视图文本
SQL状态: 未分配
视图
无法显示,因为视图文本无效:
。这可能是由于对视图的未授权修改或查询语法错误所导致的。请检查您的查询语法,并验证视图是否未被篡改。
无效的 WHERE 条件
WHERE 条件
包含无效的表达式:
。重写查询以避免在 WHERE 子句中使用窗口函数、聚合函数和生成器函数。
聚合函数的无效窗口规范
SQL状态: 未分配
无法为
指定 ORDER BY 或窗口框架。
无效写入分布
SQL状态: 未分配
请求的写入分配无效。
有关更多详细信息,请参见 INVALID_WRITE_DISTRIBUTION
连接条件不是布尔类型
SQL状态: 未分配
连接条件
的类型
无效,期待“BOOLEAN”。
加载数据路径不存在
SQL状态: 未分配
加载数据输入路径不存在:
。
本地必须具有模式文件
SQL状态: 未分配
LOCAL 必须与
file
的架构一起使用,但得到了:
。
位置已存在
无法将托管表命名为
,因为其关联的位置
已经存在。请选择一个不同的表名,或者先移除现有的位置。
格式错误的CSV记录
SQL状态: 未分配
格式错误的CSV记录:
格式错误的PROTOBUF消息
SQL状态: 未分配
在消息反序列化中检测到格式错误的Protobuf消息。解析模式:
。要将格式错误的protobuf消息处理为null结果,请尝试将选项‘mode’设置为‘PERMISSIVE’。
解析中格式错误的记录
在记录解析中检测到格式错误的记录:
。
解析模式:
。要将格式错误的记录处理为 null 结果,请尝试将选项 'mode' 设置为 'PERMISSIVE'。
有关更多详细信息,请参见 MALFORMED_RECORD_IN_PARSING
合并基数违反
MERGE语句的ON搜索条件将目标表中的一行与源表中的多行匹配。 这可能导致目标行被更新或删除操作多次操作,这是不允许的。
缺失聚合
非聚合表达式
基于未参与 GROUP BY 子句的列。将列或表达式添加到 GROUP BY 中,聚合表达式,或者如果您不在乎返回组内的哪个值,请使用
。
缺失属性
SQL状态: 未分配
解决的属性
缺失于
中的操作符
。
有关更多细节,请参见 MISSING_ATTRIBUTES
缺少 GROUP BY
查询不包含 GROUP BY 子句。添加 GROUP BY 或者使用 OVER 子句将其转换为窗口函数。
多源不支持表达式
SQL状态: 未分配
表达式
不支持多个来源。
多重用户定义函数接口错误
SQL状态: 未分配
不允许实现多个 UDF 接口,UDF 类
。
不支持命名参数
不支持为函数
使用命名参数;请重试函数调用,改用位置参数。
命名参数支持已禁用
SQL状态: 未分配
无法调用函数
,因为此处未启用命名参数引用。在这种情况下,命名参数引用是
。将“spark.sql.allowNamedFunctionArguments”设置为“true”以开启此功能。
嵌套聚合函数
不允许在另一个聚合函数的参数中使用聚合函数。请在子查询中使用内部聚合函数。
非最后匹配子句省略条件
当MERGE语句中有多个MATCHED子句时,只有最后一个MATCHED子句可以省略条件。
未最后匹配的源条件省略
当在 MERGE 语句中有多个 NOT MATCHED BY SOURCE 子句时,只有最后一个 NOT MATCHED BY SOURCE 子句可以省略条件。
不匹配目标子句省略条件的非最后项
当在一个合并语句中有多个 NOT MATCHED [BY TARGET] 子句时,只有最后一个 NOT MATCHED [BY TARGET] 子句可以省略条件。
非文字透视值
透视值所需的文字表达式,找到
。
非分区列
PARTITION 子句不能包含非分区列:
.
流式处理不支持非时间窗口
SQL状态: 未分配
窗口函数在流式 DataFrames/Datasets 中不支持
(作为列
)。结构化流式处理仅支持使用 WINDOW 函数的时间窗口聚合。 (窗口规范:
)
在FROM中不允许使用
SQL状态: 未分配
不允许在 FROM 子句中:
有关更多详细信息,请参见 NOT_ALLOWED_IN_FROM
不是一个常量字符串
用于例程或子句
的表达式
必须是一个非空的常量字符串。
欲了解更多详情,请参阅 NOT_A_CONSTANT_STRING
非分区表
SQL状态: 未分配
操作
不允许用于
,因为它不是一个分区表。
非空约束违反
在这里不允许分配 NULL。
有关更多详细信息,请参见 NOT_NULL_CONSTRAINT_VIOLATION
不支持更改列
SQL状态: 未分配
ALTER TABLE ALTER/CHANGE COLUMN 不支持更改
的列
,类型为
,到
,类型为
。
不支持的 V2 表命令
不支持 v2 表。
不支持的命令,没有Hive支持
SQL状态: 未分配
不被支持,如果您想启用它,请将“spark.sql.catalogImplementation”设置为“hive”。
数据库目录中不支持
JDBC目录中不支持的命令:
有关更多详细信息,请参见 NOT_SUPPORTED_IN_JDBC_CATALOG
没有可用的默认列值
无法确定
的默认值,因为它不可为空且没有默认值。
没有针对UDAF的处理程序
SQL状态: 未分配
没有处理程序用于 UDAF ‘
’. 请使用 sparkSession.udf.register(…) 来代替。
在PROTOBUF_SCHEMA中没有SQL类型
SQL状态: 未分配
无法在 Protobuf 模式中找到
。
无用户定义函数接口
SQL状态: 未分配
UDF类
没有实现任何UDF接口。
可空列或字段
列或字段
是可为空的,而它要求是非空的。
可为空的行ID属性
行 ID 属性不能为 NULL:
。
空映射键
无法将null用作映射键。
数值超出支持范围
值
不能被解释为数字,因为它有超过38位数字。
数值超出范围
不能被表示为 Decimal(
,
)。如果必要,可以将
设置为 “false” 以绕过此错误,并返回 NULL。
列数不匹配
只能在具有相同列数的输入上执行,但第一个输入有
列,而
输入有
列。
数值表别名不匹配
SQL状态: 未分配
给定别名的数量与输出列的数量不匹配。 函数名称:
;别名的数量:
;输出列的数量:
。
操作已取消
操作已被取消。
位置超出范围
按位置排序
不在选择列表中(有效范围是 [1,
]).
解析空语句
语法错误,意外的空语句。
解析语法错误
在
附近的语法错误。
分区已经存在
无法在表
中添加或重命名分区
,因为它们已存在。选择一个不同的名称,删除现有分区,或添加 IF NOT EXISTS 子句以容忍预先存在的分区。
找不到分区
在表
中找不到分区
。
验证分区规范和表名。
要容忍删除时的错误,请使用 ALTER TABLE … DROP IF EXISTS PARTITION。
路径已存在
路径
已经存在。将模式设置为“覆盖”以覆盖现有路径。
路径未找到
路径不存在:
.
PIVOT_VALUE_DATA_TYPE_MISMATCH
无效的透视值‘
’: 值的数据类型
与透视列的数据类型
不匹配。
计划验证失败规则执行器
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列值。
重命名源路径未找到
重命名失败,因为
未找到。
重复子句
每个
操作中,
子句最多可以使用一次。
必需参数未找到
无法调用函数
,因为参数
是必需的,但函数调用没有提供值。请更新函数调用以提供参数值(可以在索引
处按位置提供,或按名称提供),然后重新尝试查询。
需要单一部分命名空间
需要一个单一部分的命名空间,但得到了
。
例程已存在
无法创建函数
,因为它已经存在。选择一个不同的名称,删除或替换现有函数,或者添加 IF NOT EXISTS 子句以容忍已存在的函数。
例程未找到
找不到函数
。请检查模式和目录的拼写及正确性。如果您没有用模式和目录限定名称,请检查 current_schema() 的输出,或者用正确的模式和目录限定名称。要容忍删除时的错误,请使用 DROP FUNCTION IF EXISTS。
规则ID未找到
未找到规则名称“
”的ID。如果您正在添加新规则,请修改 RuleIdCollection.scala。
标量子查询是否在GROUP BY或聚合函数中
SQL状态: 未分配
相关的标量子查询‘
’既不在GROUP BY中,也不在聚合函数中。使用位置顺序将其添加到GROUP BY中,或者如果您不在乎获取哪个值,可以将其包装在
first()
(或
first_value
)中。
标量子查询返回行数过多
子查询作为表达式使用时返回的行数超过一行。
模式已存在
无法创建模式
因为它已经存在。 选择一个不同的名称,删除现有模式,或添加 IF NOT EXISTS 子句以容忍已存在的模式。
模式不能为空
无法删除模式
,因为它包含对象。使用 DROP SCHEMA … CASCADE 删除模式及其所有对象。
模式未找到
无法找到架构
。请验证架构和目录的拼写及正确性。
如果您没有使用目录限定名称,请验证 current_schema() 的输出,或者使用正确的目录限定名称。
要容忍删除时发生的错误,请使用 DROP SCHEMA IF EXISTS。
第二个函数参数不是整数
函数
的第二个参数需要是一个整数。
种子表达式不可展开
SQL状态: 未分配
表达式
的种子表达式
必须是可折叠的。
按无桶方式排序
SQL状态: 未分配
sortBy 必须与 bucketBy 一起使用。
不允许指定分桶
SQL状态: 未分配
如果在创建时未指定表架构并将在运行时推断,则无法指定分桶信息。
不允许指定分区
SQL状态: 未分配
当表模式未定义时,不允许指定分区列。当未提供表模式时,将推断模式和分区列。
未找到 SQL 配置
SQL状态: 未分配
找不到 SQL 配置
。请确认该配置存在。
按位置分组的星级
当使用按顺序位置的 GROUP BY 时,选择列表中不允许使用星号 (*)。
插入列列表中的静态分区列
SQL状态: 未分配
静态分区列
也在列列表中指定。
流媒体失败
SQL状态: 未分配
查询 [id =
, runId =
] 以异常终止:
限制和偏移量之和超过最大整数
SQL状态: 未分配
LIMIT子句和OFFSET子句的总和不得大于最大32位整数值(2,147,483,647),但是发现 limit =
, offset =
。
表或视图已存在
无法创建表或视图
因为它已经存在。选择一个不同的名称,删除或替换现有对象,或者添加 IF NOT EXISTS 条款以容忍先前存在的对象。
表或视图未找到
无法找到表或视图
。请验证架构和目录的拼写及正确性。如果您没有用架构限定名称,请验证 current_schema() 输出,或使用正确的架构和目录限定名称。要容忍删除时的错误,请使用 DROP VIEW IF EXISTS 或 DROP TABLE IF EXISTS。
表值函数参数过多
SQL状态: 未分配
表值函数的表参数太多。它只允许一个表参数,但得到了:
。如果您想允许它,请将“spark.sql.allowMultipleTableArguments.enabled”设置为“true”
任务写入失败
SQL状态: 未分配
任务在写入行到
时失败。
临时表或视图已存在
无法创建临时视图
因为它已经存在。选择一个不同的名称、删除或替换现有视图,或添加 IF NOT EXISTS 子句以容忍预先存在的视图。
临时视图名称过多部分
创建临时视图或相应的数据集API仅接受单部分视图名称,但得到的是:
。
数组元素太多
无法用
个元素大小为
的数组进行初始化。
UDTF_ALIAS_NUMBER_MISMATCH
SQL状态: 未分配
在 AS 子句中提供的别名数量与 UDTF 输出的列数不匹配。期望
个别名,但实际获得
个。请确保提供的别名数量与 UDTF 输出的列数匹配。
无法获取内存
无法获取
字节的内存,得到
。
无法转换为 Protobuf 消息类型
SQL状态: 未分配
无法将 SQL 类型
转换为 Protobuf 类型
。
无法推断模式
无法推断
的架构。必须手动指定。
未绑定的SQL参数
找到未绑定的参数:
。 请修复
args
并提供参数到 SQL 文字的映射。
未闭合括号注释
发现一个未闭合的括号注释。请在注释末尾添加 */。
意外的输入类型
函数
的参数
需要
类型,然而
的类型是
。
意外的位置参数
无法调用函数
,因为它包含在赋值给
的命名参数之后的位置参数;请重新排列它们,使位置参数先出现,然后再重新尝试查询。
未知的 Protobuf 消息类型
SQL状态: 未分配
尝试将
视为消息,但它是
。
UNPIVOT_REQUIRES_ATTRIBUTES
UNPIVOT要求所有给定的
表达式在没有给定
表达式时必须为列。这些不是列: [
]。
UNPIVOT_REQUIRES_VALUE_COLUMNS
至少需要为UNPIVOT指定一个值列,所有指定为ids的列。
UNPIVOT值数据类型不匹配
取消透视值列必须共享至少一种共同类型,某些类型不符合:[
].
UNPIVOT_VALUE_SIZE_MISMATCH
所有 unpivot 值列必须与值列名称数量相同 (
)。
未识别的参数名称
无法调用函数
,因为函数调用包含了一个命名参数引用,参数名称为
,但该函数不包含任何带有此名称的参数的签名。您是想要以下其中一个吗? [
]。
无法识别的_SQL_类型
未识别的 SQL 类型 - 名称:
, ID:
.
不可解析的表值函数
SQL状态: 未分配
无法将
解析为表值函数。请确保
被定义为表值函数,并且所有必需的参数都已正确提供。如果
未被定义,请在使用之前创建表值函数。有关定义表值函数的更多信息,请参考 Apache Spark 文档。
未解决的所有分组
无法根据选择子句推断GROUP BY ALL的分组列。请明确指定分组列。
未解析的列
无法解析名称为
的列或函数参数。
有关更多详细信息,请参见 UNRESOLVED_COLUMN
未解决字段
无法使用结构类型列
解析名称为
的字段。
有关更多详细信息,请参见 UNRESOLVED_FIELD
未解决的映射键
无法将列
解析为地图键。如果键是字符串字面量,请在其周围添加单引号‘’。
有关更多详细信息,请参见 UNRESOLVED_MAP_KEY
未解决的例程
无法在搜索路径
上解析函数
。
未解决的使用列进行连接
在连接的
一侧无法解析列
。
一侧的列:[
]。
未设置非存在属性
SQL状态: 未分配
尝试取消设置不存在的属性 [
] 在表
中。
不支持的添加文件
SQL状态: 未分配
不支持添加文件。
有关更多详细信息,请参阅 UNSUPPORTED_ADD_FILE
不支持的箭头类型
不支持的箭头类型
。
不支持的字符或可变字符作为字符串
SQL状态: 未分配
char/varchar类型不能在表模式中使用。如果您希望Spark将它们视为与Spark 3.0及更早版本相同的字符串类型,请将“spark.sql.legacy.charVarcharAsString”设置为“true”。
不支持的直接查询数据源
SQL状态: 未分配
文件的直接查询不支持的数据源类型:
不支持的数据类型
不支持的数据类型
。
不支持的数据源数据类型
SQL状态: 未分配
这个
数据源不支持类型为
的列
。
不支持的默认值
SQL状态: 未分配
不支持默认列值。
有关更多详细信息,请参见 UNSUPPORTED_DEFAULT_VALUE
不支持的反序列化程序
反序列化程序不受支持:
更多详细信息请参阅 UNSUPPORTED_DESERIALIZER
不支持的表达式生成列
SQL状态: 未分配
无法创建生成列
,生成表达式
因为
。
不支持的运算符表达式
SQL状态: 未分配
查询运算符包含一个或多个不支持的表达式。考虑重写以避免在 WHERE 子句中使用窗口函数、聚合函数和生成器函数。
无效表达式: [
]
不支持的窗口表达式
在窗口函数中不支持表达式
。
不支持的特性
该功能不被支持:
有关更多详细信息,请参见 UNSUPPORTED_FEATURE
不支持的生成器
不支持该生成器:
有关更多详细信息,请参见 UNSUPPORTED_GENERATOR
不支持的分组表达式
SQL状态: 未分配
grouping()/grouping_id() 只能与 GroupingSets/Cube/Rollup 一起使用。
不支持的插入
SQL状态: 未分配
无法插入到目标。
有关更多详细信息,请参阅 UNSUPPORTED_INSERT
不支持的合并条件
SQL状态: 未分配
合并操作包含不支持的
条件。
有关更多详细信息,请参阅 UNSUPPORTED_MERGE_CONDITION
不支持的覆盖
SQL状态: 未分配
无法覆盖正在读取的目标。
有关更多详细信息,请参见 UNSUPPORTED_OVERWRITE
不支持的保存模式
SQL状态: 未分配
保存模式
不支持:
有关更多详细信息,请参见 UNSUPPORTED_SAVE_MODE
不支持的子查询表达式类别
不支持的子查询表达式:
详情见 UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY
不支持的类型字面量
类型
的文字没有被支持。支持的类型是
。
未类型化的 Scala 用户自定义函数
SQL状态: 未分配
您正在使用无类型的Scala UDF,它没有输入类型信息。Spark可能会盲目地将null传递给具有原始类型参数的Scala闭包,而闭包将看到null参数的Java类型的默认值,例如
udf((x: Int) => x, IntegerType)
,对于null输入,结果是0。为了消除此错误,您可以:
-
使用带有类型的Scala UDF API(没有返回类型参数),例如
udf((x: Int) => x)
。 -
使用Java UDF API,例如
udf(new UDF1[String, Integer] { override def call(s: String): Integer = s.length() }, IntegerType)
,如果输入类型都是非原始类型。 - 将“spark.sql.legacy.allowUntypedScalaUDF”设置为“true”,并谨慎使用此API。
视图已存在
无法创建视图
因为它已经存在。选择一个不同的名称,删除或替换现有对象,或者添加 IF NOT EXISTS 子句以容忍已存在的对象。
视图未找到
视图
找不到。请检查模式和目录的拼写和正确性。如果您没有用模式来限定名称,请验证 current_schema() 输出,或者用正确的模式和目录来限定名称。为了容忍删除时的错误,请使用 DROP VIEW IF EXISTS。
窗口函数和框架不匹配
SQL状态: 未分配
函数只能在具有单个偏移量的有序基于行的窗口框架中进行评估:
。
无OVER子句的窗口函数
SQL状态: 未分配
窗口函数
需要一个 OVER 子句。
不允许写入流
SQL状态: 未分配
writeStream
只能在流式数据集/数据框上调用。
对象类型的错误命令
SQL状态: 未分配
操作
需要一个
。但是
是一个
。请使用
替代。
参数数量错误
该
需要
个参数,但实际数量是
。
欲了解更多详细信息,请参见 WRONG_NUM_ARGS