SQLSTATE 代码
Spark SQL 返回的大多数错误类别与一个 5 个字符的
SQLSTATE
相关联。
SQLSTATE
是一个用于表示错误条件的 SQL 标准编码,通常被
JDBC
、
ODBC
和其他客户端 API 使用。
一个
SQLSTATE
由两个部分组成:一个两个字符的类和一个三个字符的子类。
每个字符必须是数字
'0'
到
'9'
或
'A'
到
'Z'
。
虽然许多
SQLSTATE
值是由SQL标准规定的,但在行业中,其他一些值是特定于Spark的。
有关错误类别的有序列表,请参见: Error Conditions in Spark SQL
Spark SQL使用以下
SQLSTATE
类:
类
0A
: 特性不支持
SQLSTATE | 描述和发布错误类 |
---|---|
0A000 | 不支持的功能 |
INVALID_PANDAS_UDF_PLACEMENT , STAR_GROUP_BY_POS , UNSUPPORTED_ARROWTYPE , UNSUPPORTED_DATATYPE , UNSUPPORTED_DESERIALIZER , UNSUPPORTED_FEATURE , UNSUPPORTED_GENERATOR , UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY , UNSUPPORTED_TYPED_LITERAL |
类
21
: 基数违反
SQL状态 | 描述和发出错误类别 |
---|---|
21000 | 基数违规 |
SCALAR_SUBQUERY_TOO_MANY_ROWS |
类
22
: 数据异常
SQLSTATE | 描述和发出错误的类 |
---|---|
22003 | 数值超出范围 |
ARITHMETIC_OVERFLOW , CAST_OVERFLOW , CAST_OVERFLOW_IN_TABLE_INSERT , DECIMAL_PRECISION_EXCEEDS_MAX_PRECISION , INVALID_INDEX_OF_ZERO , INCORRECT_END_OFFSET , INCORRECT_RAMP_UP_RATE , INVALID_ARRAY_INDEX , INVALID_ARRAY_INDEX_IN_ELEMENT_AT , NUMERIC_OUT_OF_SUPPORTED_RANGE , NUMERIC_VALUE_OUT_OF_RANGE | |
22007 | 无效的日期时间格式 |
CANNOT_PARSE_TIMESTAMP | |
22008 | 日期时间字段溢出 |
DATETIME_OVERFLOW | |
2200E | 数组目标中的空值 |
NULL_MAP_KEY | |
22012 | 除以零 |
DIVIDE_BY_ZERO , INTERVAL_DIVIDED_BY_ZERO | |
22015 | 间隔字段溢出 |
INTERVAL_ARITHMETIC_OVERFLOW | |
22018 | 无效的字符值用于转换 |
CANNOT_PARSE_DECIMAL , CAST_INVALID_INPUT , CONVERSION_INVALID_INPUT | |
22023 | 无效的参数值 |
INVALID_FRACTION_OF_SECOND , INVALID_PARAMETER_VALUE , SECOND_FUNCTION_ARGUMENT_NOT_INTEGER | |
22032 | 无效的JSON文本 |
INVALID_JSON_ROOT_FIELD , INVALID_JSON_SCHEMA_MAP_TYPE | |
2203G | sql_json_item_cannot_be_cast_to_target_type |
CANNOT_PARSE_JSON_FIELD | |
22546 | 例程参数的值无效。 |
CANNOT_DECODE_URL |
类
23
: 完整性约束违规
SQLSTATE | 描述和发出错误的类 |
---|---|
23505 | 发生了对唯一索引或唯一约束施加的约束的违反。 |
DUPLICATED_MAP_KEY , DUPLICATE_KEY |
类
2B
: 仍然存在依赖的权限描述符
SQL状态 | 描述和发出错误的类别 |
---|---|
2BP01 | 依赖对象仍然存在 |
SCHEMA_NOT_EMPTY |
类
38
: 外部例程异常
SQLSTATE | 描述及发出错误的类别 |
---|---|
38000 | 外部例程异常 |
FAILED_FUNCTION_CALL |
类
39
: 外部例程调用异常
SQLSTATE | 描述和发出错误类别 |
---|---|
39000 | 外部例程调用异常 |
FAILED_EXECUTE_UDF |
类
42
: 语法错误或访问规则违规
类
46
: java ddl 1
SQLSTATE | 描述和发出错误的类别 |
---|---|
46110 | 不支持的功能 |
CANNOT_MODIFY_CONFIG | |
46121 | 无效的列名 |
INVALID_COLUMN_NAME_AS_PATH |
类
53
: 资源不足
SQLSTATE | 描述和发出错误类 |
---|---|
53200 | 内存不足 |
UNABLE_TO_ACQUIRE_MEMORY |
类
54
: 程序限制超出
SQLSTATE | 描述和发出错误的类别 |
---|---|
54000 | 程序限制超出 |
GROUPING_SIZE_LIMIT_EXCEEDED , TOO_MANY_ARRAY_ELEMENTS |
类
HY
: CLI特定条件
SQLSTATE | 描述和发出错误类别 |
---|---|
HY008 | 操作已取消 |
OPERATION_CANCELED |
类
XX
: 内部错误
SQLSTATE | 描述和发出错误类别 |
---|---|
XX000 | 内部错误 |
INTERNAL_ERROR |
.. include:: /shared/replacements.md