SQLSTATE 代码
Spark SQL 返回的大多数错误类都与一个 5 个字符的 SQLSTATE
相关联。SQLSTATE
是错误情况的 SQL 标准编码,通常由 JDBC
、ODBC
和其他客户端 API 使用。
SQLSTATE
由两部分组成:一个两位字符的类和一个三位字符的子类。每个字符必须是数字 '0'
到 '9'
或 'A'
到 'Z'
。
虽然许多 SQLSTATE
值是由 SQL 标准规定的,但其他一些值在业界也很常见,是 Spark 特有的。
有关错误类的有序列表,请参阅:Spark SQL 中的错误情况
Spark SQL 使用以下 SQLSTATE
类
类 0A
:不支持的功能
类 21
:基数违规
SQLSTATE | 描述和发出错误的类 |
---|---|
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
:依赖权限描述符仍然存在
SQLSTATE | 描述和发出错误的类 |
---|---|
2BP01 | dependent_objects_still_exist |
SCHEMA_NOT_EMPTY |
类 38
:外部例程异常
SQLSTATE | 描述和发出错误的类 |
---|---|
38000 | 外部例程异常 |
FAILED_FUNCTION_CALL |
类 39
:外部例程调用异常
SQLSTATE | 描述和发出错误的类 |
---|---|
39000 | 外部例程调用异常 |
FAILED_EXECUTE_UDF |
类 42
:语法错误或访问规则违规
类 46
: java ddl 1
SQLSTATE | 描述和发出错误的类 |
---|---|
46110 | 不支持的功能 |
无法修改配置 | |
46121 | 无效的列名 |
作为路径的列名无效 |
类 53
: 资源不足
SQLSTATE | 描述和发出错误的类 |
---|---|
53200 | 内存不足 |
无法获取内存 |
类 54
: 超出程序限制
SQLSTATE | 描述和发出错误的类 |
---|---|
54000 | 超出程序限制 |
超出分组大小限制, 数组元素过多 |
类 HY
: CLI 特定条件
SQLSTATE | 描述和发出错误的类 |
---|---|
HY008 | 操作已取消 |
操作已取消 |
类 XX
: 内部错误
SQLSTATE | 描述和发出错误的类 |
---|---|
XX000 | 内部错误 |
内部错误 |