DATATYPE_MISMATCH 错误类
由于数据类型不匹配,无法解析 <sqlExpr>
此错误类具有以下派生的错误类
ARRAY_FUNCTION_DIFF_TYPES
<functionName>
的输入应该是 <dataType>
,后跟具有相同元素类型的值,但它是 [<leftType>
, <rightType>
]。
BINARY_ARRAY_DIFF_TYPES
函数 <functionName>
的输入应该是两个具有相同元素类型的 <arrayType>
,但它是 [<leftType>
, <rightType>
]。
BINARY_OP_DIFF_TYPES
二元运算符的左右操作数具有不兼容的类型 (<left>
和 <right>
)。
BINARY_OP_WRONG_TYPE
二元运算符需要输入类型 <inputType>
,而不是 <actualDataType>
。
BLOOM_FILTER_BINARY_OP_WRONG_TYPE
到 <functionName>
的 Bloom 过滤器二进制输入应该是一个常量值或一个标量子查询表达式,但它是 <actual>
。
BLOOM_FILTER_WRONG_TYPE
函数 <functionName>
的输入应该是 <expectedLeft>
,后跟一个具有 <expectedRight>
的值,但它是 [<actual>
]。
CANNOT_CONVERT_TO_JSON
无法将类型为 <type>
的列 <name>
转换为 JSON。
CANNOT_DROP_ALL_FIELDS
无法删除结构中的所有字段。
CAST_WITHOUT_SUGGESTION
无法将 <srcType>
转换为 <targetType>
。
CAST_WITH_CONF_SUGGESTION
在启用 ANSI 模式的情况下,无法将 <srcType>
转换为 <targetType>
。 如果必须将 <srcType>
转换为 <targetType>
,则可以将 <config>
设置为 <configVal>
。
CAST_WITH_FUNC_SUGGESTION
无法将 <srcType>
转换为 <targetType>
。 要将值从 <srcType>
转换为 <targetType>
,可以使用函数 <functionNames>
。
CREATE_MAP_KEY_DIFF_TYPES
函数 <functionName>
的给定键都应该是相同的类型,但它们是 <dataType>
。
CREATE_MAP_VALUE_DIFF_TYPES
函数 <functionName>
的给定值都应该是相同的类型,但它们是 <dataType>
。
CREATE_NAMED_STRUCT_WITHOUT_FOLDABLE_STRING
只允许在奇数位置出现可折叠的 STRING
表达式,但它们是 <inputExprs>
。
DATA_DIFF_TYPES
<functionName>
的输入都应该是相同的类型,但它是 <dataType>
。
FILTER_NOT_BOOLEAN
类型为 <type>
的过滤器表达式 <filter>
不是布尔值。
HASH_MAP_TYPE
函数 <functionName>
的输入不能包含“MAP”类型的元素。 在 Spark 中,相同的映射可能具有不同的哈希码,因此禁止对“MAP”元素使用哈希表达式。 要恢复以前的行为,请将“spark.sql.legacy.allowHashOnMapType”设置为“true”。
INPUT_SIZE_NOT_ONE
<exprName>
的长度应为 1。
INVALID_ARG_VALUE
<inputName>
值必须是 <validValues>
的 <requireType>
字面量,但得到的是 <inputValue>
。
INVALID_JSON_MAP_KEY_TYPE
输入模式 <schema>
只能包含 STRING 作为 MAP 的键类型。
INVALID_JSON_SCHEMA
输入模式 <schema>
必须是结构、数组或映射。
INVALID_MAP_KEY_TYPE
映射的键不能是/包含 <keyType>
。
INVALID_ORDERING_TYPE
<functionName>
不支持对 <dataType>
类型进行排序。
INVALID_ROW_LEVEL_OPERATION_ASSIGNMENTS
<errors>
IN_SUBQUERY_DATA_TYPE_MISMATCH
IN 子查询左侧的一个或多个元素的数据类型与子查询输出的数据类型不兼容。 不匹配的列:[<mismatchedColumns>
],左侧:[<leftType>
],右侧:[<rightType>
]。
IN_SUBQUERY_LENGTH_MISMATCH
IN 子查询左侧的列数与子查询输出中的列数不匹配。 左侧列(长度:<leftLength>
):[<leftColumns>
],右侧列(长度:<rightLength>
):[<rightColumns>
]。
MAP_CONCAT_DIFF_TYPES
<functionName>
都应该是映射类型,但它是 <dataType>
。
MAP_FUNCTION_DIFF_TYPES
<functionName>
的输入应该是 <dataType>
,后跟具有相同键类型的值,但它是 [<leftType>
, <rightType>
]。
MAP_ZIP_WITH_DIFF_TYPES
到 <functionName>
的输入应该是两个具有兼容键类型的映射,但它是 [<leftType>
, <rightType>
]。
NON_FOLDABLE_INPUT
输入 <inputName>
应该是一个可折叠的 <inputType>
表达式;但是,得到的是 <inputExpr>
。
NON_STRING_TYPE
所有参数必须是字符串。
NULL_TYPE
Null 类型的值不能用作 <functionName>
的参数。
PARAMETER_CONSTRAINT_VIOLATION
<leftExprName>
(<leftExprValue>
) 必须 <constraint>
<rightExprName>
(<rightExprValue>
)。
RANGE_FRAME_INVALID_TYPE
排序规范中使用的 <orderSpecType>
数据类型与范围框架中使用的 <valueBoundaryType>
数据类型不匹配。
RANGE_FRAME_MULTI_ORDER
具有值边界的范围窗口框架不能用于具有多个 order by 表达式的窗口规范中:<orderSpec>
。
RANGE_FRAME_WITHOUT_ORDER
范围窗口框架不能用于无序窗口规范中。
SEQUENCE_WRONG_INPUT_TYPES
<functionName>
使用了错误的参数类型。 参数类型必须符合
- 开始和停止表达式必须解析为相同的类型。
- 如果开始和停止表达式解析为
<startType>
类型,则步长表达式必须解析为<stepType>
类型。 - 否则,如果开始和停止表达式解析为
<otherStartType>
类型,则步长表达式必须解析为相同的类型。
SPECIFIED_WINDOW_FRAME_DIFF_TYPES
窗口框架边界 <lower>
和 <upper>
没有相同的类型:<lowerType>
<> <upperType>
。
SPECIFIED_WINDOW_FRAME_INVALID_BOUND
窗口框架上限 <upper>
不遵循下限 <lower>
。
SPECIFIED_WINDOW_FRAME_UNACCEPTED_TYPE
<location>
边界 <exprType>
的数据类型与预期的数据类型 <expectedType>
不匹配。
SPECIFIED_WINDOW_FRAME_WITHOUT_FOLDABLE
窗口框架 <location>
边界 <expression>
不是字面量。
SPECIFIED_WINDOW_FRAME_WRONG_COMPARISON
窗口框架的下限必须 <comparison>
上限。
STACK_COLUMN_DIFF_TYPES
列(<columnIndex>
)的数据类型不一致:<leftType>
(<leftParamIndex>
) <> <rightType>
(<rightParamIndex>
)。
TYPE_CHECK_FAILURE_WITH_HINT
<msg>
<hint>
。
UNEXPECTED_CLASS_TYPE
找不到类 <className>
。
UNEXPECTED_INPUT_TYPE
参数 <paramIndex>
需要 <requiredType>
类型,但 <inputSql>
的类型是 <inputType>
。
UNEXPECTED_NULL
<exprName>
不能为空。
UNEXPECTED_RETURN_TYPE
<functionName>
需要返回 <expectedType>
类型,但实际类型是 <actualType>
类型。
UNEXPECTED_STATIC_METHOD
在 <className>
中找不到与参数类型匹配的静态方法 <methodName>
。
UNSUPPORTED_INPUT_TYPE
<functionName>
的输入不能是 <dataType>
类型的数据。
VALUE_OUT_OF_RANGE
<exprName>
必须在 <valueRange>
之间(当前值 = <currentValue>
)。
WRONG_NUM_ARG_TYPES
表达式需要 <expectedNum>
个参数类型,但实际数量为 <actualNum>
个。
WRONG_NUM_ENDPOINTS
构造间隔的端点数量必须 >= 2,但实际数量为 <actualNumber>
。