SQL 오류 상태와 상태 조건

SQL 오류 상태와 상태 조건 (SQL Error States and Conditions)

Spark SQL이 어떤 특정 상태에서 return할 수 있는 오류 상태(error state)와 상태 조건(condition)을 정리한 목록이에요. 주로 JDBC를 통해 쿼리할 때 SQLSTATE 코드와 오류 조건을 함께 확인할 수 있어요. 아래 표는 조건(congition) 이름과 함께 각 오류가 어떤 상황에서 발생하는지 설명해요.

출처: SQL Error States and Conditions

본문

다음은 Spark SQL이 반환할 수 있는 오류 상태와 조건 목록이에요.

Error State / SQLSTATE Error Condition & Sub-Condition Message
02000 CURSOR_NO_MORE_ROWS 커서 <cursorName>에서 가져올(fetch) 행이 더 이상 없어요.
07001 ALL_PARAMETERS_MUST_BE_NAMED 이름 기반 파라미터 쿼리(name parameterized queries)를 사용하려면 모든 파라미터에 이름이 지정되어야 해요. 이름이 빠진 파라미터: <exprs>.
07501 INVALID_STATEMENT_FOR_EXECUTE_INTO EXECUTE IMMEDIATE의 INTO 절은 쿼리에만 유효한데, 주어진 문장이 쿼리가 아니에요: <sqlString>.
07501 NESTED_EXECUTE_IMMEDIATE 중첩된 EXECUTE IMMEDIATE 명령은 허용되지 않아요. 제공된 SQL 쿼리(<sqlString>)에 또 다른 EXECUTE IMMEDIATE 명령이 포함되지 않도록 확인해 주세요.
07501 SQL_SCRIPT_IN_EXECUTE_IMMEDIATE EXECUTE IMMEDIATE 명령에는 SQL 스크립트를 사용할 수 없어요. 제공된 SQL 쿼리(<sqlString>)가 SQL 스크립트가 아닌지 확인해 주세요. sql_string이 올바른 형식의 SQL 문장이고 BEGIN, END를 포함하지 않도록 하세요.
0A000 ATTEMPT_ANALYSIS_IN_PIPELINE_QUERY_FUNCTION DataFrame 분석이나 실행을 트리거하는 연산은 파이프라인 쿼리 함수(pipeline query functions) 안에서 사용할 수 없어요. 코드를 파이프라인 쿼리 함수 밖으로 옮기세요.
0A000 AUTOCDC_SCD2_NOT_SUPPORTED AutoCDC 흐름은 현재 SCD 타입 2 변환을 지원하지 않아요.
0A000 AUTOCDC_TARGET_DOES_NOT_SUPPORT_MERGE AutoCDC 흐름을 시작할 수 없어요: 대상 테이블 <tableName>(포맷: <format>)이 행 수준 연산(row-level operations)을 지원하지 않아요. AutoCDC는 MERGE를 지원하는 커넥터로 구현된 대상을 요구해요.
0A000 BEAN_ENCODER_INTERFACE_NOT_SUPPORTED Bean 인코더는 인터페이스 타입 <className>을 지원하지 않아요.
0A000 CANNOT_INVOKE_IN_TRANSFORMATIONS Dataset 변환과 액션은 다른 Dataset 변환의 내부가 아니라 드라이버에서만 호출할 수 있어요. 예를 들어, dataset1.map(x => dataset2.values.count() * x)는 values 변환과 count 액션을 dataset1.map 변환 내부에서 실행할 수 없기 때문에 유효하지 않아요. 자세한 내용은 SPARK-28702를 참고하세요.
0A000 CANNOT_TRUNCATE_EXTERNAL_TABLE 허용되지 않는 연산이에요: 외부 테이블에서의 TRUNCATE TABLE: <tableName>.
0A000 CANNOT_UPDATE_FIELD <table> 필드 <fieldName> 타입을 업데이트할 수 없어요:
ARRAY_TYPE <fieldName>.element를 업데이트해서 요소를 갱신하세요.
INTERVAL_TYPE interval의 필드들을 업데이트해서 갱신하세요.
MAP_TYPE <fieldName>.key 또는 <fieldName>.value를 업데이트해서 map을 갱신하세요.
STRUCT_TYPE struct의 필드들을 업데이트해서 갱신하세요.
USER_DEFINED_TYPE <udtSql>의 UserDefinedType을 그 필드들을 업데이트해서 갱신하세요.
0A000 CLASS_UNSUPPORTED_BY_MAP_OBJECTS MapObjects는 결과 컬렉션으로 클래스 <cls>를 지원하지 않아요.
0A000 COLUMN_ARRAY_ELEMENT_TYPE_MISMATCH 필드 <pos>의 일부 값이 컬럼 배열 타입과 호환되지 않아요. 기대 타입: <type>.
0A000 CONCURRENT_QUERY 이 쿼리의 다른 인스턴스가 동시 세션에서 방금 시작됐어요.
0A000 CORRUPTED_CATALOG_FUNCTION 카탈로그의 손상된 함수 정보 때문에 카탈로그 함수 ''를 SQL 함수로 변환할 수 없어요. 그 함수가 SQL 함수가 아니라면 클래스 이름 ''이 로드 가능한지 확인해 주세요.
0A000 CREATE_PERMANENT_VIEW_WITHOUT_ALIAS 영구 뷰 <name>을 만들 때 표현식 <attr>에 별칭을 명시적으로 지정하지 않고 만들 수는 없어요.
0A000 CURSOR_OUTSIDE_SCRIPT 커서 연산은 SQL 스크립트 안에서만 사용할 수 있어요.
0A000 DATATYPE_CANNOT_ORDER 타입 <dataType>은 순서가 있는 연산(ordered operations)을 지원하지 않아요.
0A000 DATA_SOURCE_BATCH_SCAN_NOT_SUPPORTED <description>: 배치 스캔(batch scan)이 지원되지 않아요.
0A000 DATA_SOURCE_BATCH_WRITE_BUILDER_NOT_SUPPORTED <class>는 배치 쓰기(batch write)를 지원하지 않아요.
0A000 DATA_SOURCE_BATCH_WRITE_NOT_SUPPORTED <description>: 배치 쓰기가 지원되지 않아요.
0A000 DATA_SOURCE_COLUMNAR_READER_NOT_SUPPORTED <class>는 컬럼형 리더(columnar reader)를 만들 수 없어요.
0A000 DATA_SOURCE_CONTINUOUS_SCAN_NOT_SUPPORTED <description>: 연속 스캔(continuous scan)이 지원되지 않아요.
0A000 DATA_SOURCE_DELTA_BATCH_WRITE_NOT_SUPPORTED <description>: Delta 배치 쓰기가 지원되지 않아요.
0A000 DATA_SOURCE_DELTA_WRITE_BUILD_NOT_IMPLEMENTED <class>는 build를 구현하지 않아요.
0A000 DATA_SOURCE_METADATA_SCHEMA_NOT_IMPLEMENTED <class>는 metadataSchema를 구현하지 않아요.
0A000 DATA_SOURCE_MICRO_BATCH_SCAN_NOT_SUPPORTED <description>: 마이크로 배치 스캔(micro-batch scan)이 지원되지 않아요.
0A000 DATA_SOURCE_ROW_ID_SCHEMA_NOT_IMPLEMENTED <class>는 rowIdSchema를 구현하지 않아요.
0A000 DATA_SOURCE_STREAMING_WRITE_BUILD_NOT_SUPPORTED <class>는 스트리밍 쓰기(streaming write)를 지원하지 않아요.
0A000 DATA_SOURCE_STREAMING_WRITE_NOT_SUPPORTED <description>: 스트리밍 쓰기가 지원되지 않아요.
0A000 DEFINE_FLOW_ONCE_OPTION_NOT_SUPPORTED 'once' 옵션으로 일회성 흐름 <flowName>을 정의하는 것은 지원되지 않아요.
0A000 DESCRIBE_JSON_NOT_EXTENDED DESCRIBE TABLE ... AS JSON은 [EXTENDED|FORMATTED]가 지정됐을 때만 지원돼요. 예: DESCRIBE EXTENDED <tableName> AS JSON은 지원되지만 DESCRIBE <tableName> AS JSON은 지원되지 않아요.
0A000 DISTINCT_WINDOW_FUNCTION_UNSUPPORTED DISTINCT 윈도우 함수는 지원되지 않아요: <windowExpr>.
0A000 EMPTY_SCHEMA_NOT_SUPPORTED_FOR_DATASOURCE <format> 데이터소스는 빈 스키마나 중첩된 빈 스키마 쓰기를 지원하지 않아요. 데이터 스키마에 컬럼이 하나 이상 있는지 확인해 주세요.
0A000 EXPRESSION_TRANSLATION_TO_V2_IS_NOT_SUPPORTED 표현식 <expr>은 v2 표현식으로 변환할 수 없어요.
0A000 INSERT_REPLACE_ON_BY_NAME_NOT_ENABLED INSERT INTO ... BY NAME REPLACE ON이 활성화되지 않았어요. 활성화하려면 'spark.sql.insertIntoReplaceOnByName.enabled'를 true로 설정하세요.
0A000 INSERT_REPLACE_ON_NOT_ENABLED INSERT INTO ... REPLACE ON이 활성화되지 않았어요. 활성화하려면 'spark.sql.insertIntoReplaceOn.enabled'를 true로 설정하세요.
0A000 INSERT_REPLACE_USING_BY_NAME_NOT_ENABLED INSERT INTO ... BY NAME REPLACE USING이 활성화되지 않았어요. 활성화하려면 'spark.sql.insertIntoReplaceUsingByName.enabled'를 true로 설정하세요.
0A000 INSERT_REPLACE_USING_NOT_ENABLED INSERT INTO ... REPLACE USING이 활성화되지 않았어요. 활성화하려면 'spark.sql.insertIntoReplaceUsing.enabled'를 true로 설정하세요.
0A000 INVALID_PANDAS_UDF_PLACEMENT 그룹 집계 pandas UDF <functionList>는 다른 비-pandas 집계 함수와 함께 호출할 수 없어요.
0A000 INVALID_PARTITION_COLUMN_DATA_TYPE 파티션 컬럼에 <type>을 사용할 수 없어요.
0A000 LATERAL_JOIN_WITH_ARROW_UDTF_UNSUPPORTED Arrow 최적화 사용자 정의 테이블 함수(UDTF)와의 LATERAL JOIN은 지원되지 않아요. Arrow UDTF는 lateral join의 오른쪽에 사용할 수 없어요. 일반 UDTF를 사용하거나, lateral join을 피하도록 쿼리를 재구성하세요.
0A000 MISSING_CATALOG_ABILITY 카탈로그 <plugin>은 지원하지 않아요:
CREATE_FUNCTION CREATE FUNCTION.
DROP_FUNCTION DROP FUNCTION.
FUNCTIONS functions.
NAMESPACES namespaces.
PROCEDURES procedures.
REFRESH_FUNCTION REFRESH FUNCTION.
TABLES tables.
TABLE_VALUED_FUNCTIONS table-valued functions.
VIEWS views.
0A000 MULTIPART_FLOW_NAME_NOT_SUPPORTED 멀티파트 이름 ''을 가진 흐름은 지원되지 않아요.
0A000 MULTI_UDF_INTERFACE_ERROR 여러 UDF 인터페이스를 구현할 수 없어요, UDF 클래스 <className>.
0A000 NAMED_PARAMETER_SUPPORT_DISABLED 명명된 인자 참조(named argument references)가 활성화되지 않아 함수 <functionName>을 호출할 수 없어요. 이 경우 명명된 인자 참조는 <argument>였어요. 기능을 켜려면 "spark.sql.allowNamedFunctionArguments"를 "true"로 설정하세요.
0A000 NEGATIVE_SCALE_DISALLOWED 음수 스케일(scale)은 허용되지 않아요: ''. 허용하려면 구성 <sqlConf>을 "true"로 설정하세요.
0A000 NOT_SUPPORTED_CHANGE_COLUMN <table>'s 컬럼 을 타입 에서 타입`으로 바꾸는 ALTER TABLE ALTER/CHANGE COLUMN은 지원되지 않아요.
0A000 NOT_SUPPORTED_CHANGE_SAME_COLUMN 같은 명령에서 <table>'s 컬럼 `(중첩 필드 포함)을 여러 번 바꾸는 ALTER TABLE ALTER/CHANGE COLUMN은 지원되지 않아요.
0A000 NOT_SUPPORTED_COMMAND_FOR_V2_TABLE <cmd>는 v2 테이블에서 지원되지 않아요.
0A000 NOT_SUPPORTED_COMMAND_WITHOUT_HIVE_SUPPORT <cmd>는 지원되지 않아요. 활성화하려면 "spark.sql.catalogImplementation"을 "hive"로 설정하세요.
0A000 NOT_SUPPORTED_IN_JDBC_CATALOG JDBC 카탈로그에서 지원되지 않는 명령:
COMMAND <cmd>
COMMAND_WITH_PROPERTY 프로퍼티 <property>가 있는 <cmd>.
0A000 PARTITION_RENAME_NOT_SUPPORTED 파티션 이름 변경(renaming)은 지원되지 않아요.
0A000 PIPELINE_DATASET_WITHOUT_FLOW 파이프라인 데이터셋 <identifier>에는 정의된 흐름이 없어요. 데이터셋 정의에 쿼리를 연결하거나, 데이터셋에 쓰는 흐름을 하나 이상 명시적으로 정의하세요.
0A000 PIPELINE_GRAPH_NOT_TOPOLOGICALLY_SORTED <flowName><inputName> 사이에 순환(cycle)이 있어요.
0A000 PIPE_OPERATOR_AGGREGATE_EXPRESSION_CONTAINS_NO_AGGREGATE_FUNCTION 비그룹 표현식 <expr>이 |> AGGREGATE 파이프 연산자의 인자로 제공됐지만 집계 함수를 포함하지 않아요. 집계 함수를 포함하도록 수정한 뒤 쿼리를 다시 실행하세요.
0A000 PIPE_OPERATOR_CONTAINS_AGGREGATE_FUNCTION 파이프 연산자 |> <clause> 절을 사용할 때 집계 함수 <expr>은 허용되지 않아요. 대신 파이프 연산자 |> AGGREGATE 절을 사용하세요.
0A000 RECURSIVE_FILE_LOOKUP_NOT_SUPPORTED_FOR_PARTITIONED_DATA_SOURCE 데이터소스에 명시적 파티션 컬럼이 있을 때는 재귀 파일 로딩이 지원되지 않아요. "recursiveFileLookup" 옵션을 제거하거나, 파티션 컬럼을 주지 않고 데이터를 읽으세요(예: 파티션 테이블을 읽지 않기).
0A000 SCALAR_SUBQUERY_IS_IN_GROUP_BY_OR_AGGREGATE_FUNCTION 상관 스칼라 서브쿼리 ''이 GROUP BY에도, 집계 함수에도 없어요. 서수 위치를 사용해 GROUP BY에 추가하거나, 어떤 값이든 상관없다면 first()(또는 first_value)로 감싸세요.
0A000 STAR_GROUP_BY_POS GROUP BY에서 서수 위치(ordinal position)를 사용할 때 select 목록에는 별표(*)를 사용할 수 없어요.
0A000 STREAMING_REAL_TIME_MODE 스트리밍 실시간 모드에는 다음과 같은 제한이 있어요:
ASYNC_PROGRESS_TRACKING_NOT_SUPPORTED 실시간 모드에서는 비동기 진행 추적(async progress tracking)을 지원하지 않아요. asyncProgressTrackingEnabled 옵션을 false로 설정하고 쿼리를 다시 실행하세요.
IDENTICAL_SOURCES_IN_UNION_NOT_SUPPORTED 실시간 모드는 단일 쿼리에서 동일한 스트리밍 데이터소스 두 개 이상의 union을 지원하지 않아요. 여기에는 같은 소스 DataFrame을 두 번 이상 참조하거나, 일부 소스에 대해 동일한 구성을 가진 두 데이터소스를 사용하는 시나리오가 포함돼요. Kafka의 경우 같은 DataFrame을 재사용하지 말고 서로 다른 DataFrame을 만드세요. 쿼리에 제공된 소스: <sources>
INPUT_STREAM_NOT_SUPPORTED 입력 스트림 <className>은 실시간 모드에서 지원되지 않아요.
OPERATOR_OR_SINK_NOT_IN_ALLOWLIST <errorType>(들): <message> 이(가) 실시간 모드의 <errorType> 허용 목록(allowlist)에 없어요. 이 검사를 우회하려면 spark.sql.streaming.realTimeMode.allowlistCheck를 false로 설정하세요. 이렇게 바꾸면 쿼리를 본인 책임 하에 실행하는 것에 동의하게 돼요.
OUTPUT_MODE_NOT_SUPPORTED 출력 모드 <outputMode>는 지원되지 않아요. 이 제한을 우회하려면 출력 모드를 Update로 설정하세요. 미래에는 <outputMode>가 지원될 수 있어요.
SINK_NOT_SUPPORTED <className> 싱크는 현재 지원되지 않아요. 지원되는 싱크 목록은 실시간 모드 사용자 가이드를 참고하세요.
0A000 TABLE_VALUED_ARGUMENTS_NOT_YET_IMPLEMENTED_FOR_SQL_FUNCTIONS TABLE 인자로 SQL 사용자 정의 함수 <functionName>을(를) <action>할 수 없는데, 이 기능이 아직 구현되지 않았기 때문이에요.
0A000 TRUNCATE_PARTITIONS_NOT_SUPPORTED 파티션들 자르기(truncating partitions)는 지원되지 않아요.
0A000 TRUNCATE_PARTITION_NOT_SUPPORTED 파티션 자르기는 지원되지 않아요.
0A000 UNSUPPORTED_ADD_FILE add file을 지원하지 않아요.
DIRECTORY 파일 <path>은 디렉터리예요. "spark.sql.legacy.addSingleFileInAddFile"을 "false"로 설정하는 것을 고려하세요.
LOCAL_DIRECTORY 로컬 디렉터리 <path>은 비로컬 마스터 모드에서 지원되지 않아요.
0A000 UNSUPPORTED_ARROWTYPE 지원되지 않는 arrow 타입 <typeName>.
0A000 UNSUPPORTED_CALL 클래스 ""의 메서드 ""을 호출할 수 없어요.
FIELD_INDEX 필드 <fieldName>의 인덱스를 얻으려면 행에 스키마가 있어야 해요.
WITHOUT_SUGGESTION
0A000 UNSUPPORTED_CHAR_OR_VARCHAR_AS_STRING char/varchar 타입은 테이블 스키마에서 사용할 수 없어요. Spark 3.0 이전처럼 string 타입으로 취급하려면 "spark.sql.legacy.charVarcharAsString"을 "true"로 설정하세요.
0A000 UNSUPPORTED_COLLATION 콜레이션 <collationName>은 다음에 대해 지원되지 않아요:
FOR_FUNCTION 함수 <functionName>. 다른 콜레이션을 사용해 보세요.
0A000 UNSUPPORTED_CONNECT_FEATURE Spark Connect에서 지원되지 않는 기능이에요:
DATASET_QUERY_EXECUTION Dataset 쿼리 실행(Query Execution) 접근. 이것은 서버 측 개발자 API예요.
RDD Resilient Distributed Datasets (RDDs).
SESSION_BASE_RELATION_TO_DATAFRAME SparkSession 'baseRelationToDataFrame' 호출. 이것은 서버 측 개발자 API예요.
SESSION_EXPERIMENTAL_METHODS SparkSession Experimental(메서드) 접근. 이것은 서버 측 개발자 API예요.
SESSION_LISTENER_MANAGER SparkSession 리스너 매니저 접근. 이것은 서버 측 개발자 API예요.
SESSION_SESSION_STATE SparkSession 세션 상태(Session State) 접근. 이것은 서버 측 개발자 API예요.
SESSION_SHARED_STATE SparkSession 공유 상태(Shared State) 접근. 이것은 서버 측 개발자 API예요.
SESSION_SPARK_CONTEXT SparkContext 접근.
0A000 UNSUPPORTED_CONSTRAINT_CHARACTERISTIC 제약 타입 ''에 대해 제약 특성 ''은 지원되지 않아요.
0A000 UNSUPPORTED_DATASOURCE_FOR_DIRECT_QUERY 파일에 대한 직접 쿼리에 지원되지 않는 데이터소스 타입: <dataSourceType>
0A000 UNSUPPORTED_DATATYPE 지원되지 않는 데이터 타입 <typeName>.
0A000 UNSUPPORTED_DATA_SOURCE_SAVE_MODE 데이터소스 ""은(는) <createMode> 모드로 쓸 수 없어요. 대신 "Append"나 "Overwrite" 모드를 사용하세요.
0A000 UNSUPPORTED_DATA_TYPE_FOR_DATASOURCE <format> 데이터소스는 타입 <columnType>의 컬럼 <columnName>을 지원하지 않아요.
0A000 UNSUPPORTED_DATA_TYPE_FOR_ENCODER <dataType>에 대한 인코더를 만들 수 없어요. UDF나 DataFrame에 대해 다른 출력 데이터 타입을 사용하세요.
0A000 UNSUPPORTED_DEFAULT_VALUE DEFAULT 컬럼 값은 지원되지 않아요.
WITHOUT_SUGGESTION
WITH_SUGGESTION "spark.sql.defaultColumn.enabled"를 "true"로 설정해 활성화하세요.
0A000 UNSUPPORTED_DESERIALIZER 역직렬화기(deserializer)가 지원되지 않아요:
DATA_TYPE_MISMATCH <desiredType> 필드가 필요하지만 <dataType>을(를) 받았어요.
FIELD_NUMBER_MISMATCH <schema>을(를) Tuple에 매핑하려 했지만 필드 개수가 맞지 않아 실패했어요.
0A000 UNSUPPORTED_FEATURE 지원되지 않는 기능이에요:
AES_MODE <functionName> 함수에 의한 패딩 <padding>을 가진 AES-.
AES_MODE_AAD AES-를 사용하는 <functionName>은 추가 인증 데이터(AAD)를 지원하지 않아요.
AES_MODE_IV AES-를 사용하는 <functionName>은 초기화 벡터(IVs)를 지원하지 않아요.
ALTER_TABLE_SERDE_FOR_DATASOURCE_TABLE 데이터소스 API로 만든 테이블 <tableName>에 대해 ALTER TABLE SET SERDE는 지원되지 않아요. 외부 Hive 테이블을 사용하거나, 테이블 포맷에 맞는 호환 옵션으로 테이블 프로퍼티를 갱신하는 것을 고려하세요.
ANALYZE_UNCACHED_TEMP_VIEW ANALYZE TABLE FOR COLUMNS 명령은 이미 캐시된 임시 뷰에만 동작해요. 뷰 <viewName>을 캐시하는 것을 고려하세요.
ANALYZE_UNSUPPORTED_COLUMN_TYPE ANALYZE TABLE FOR COLUMNS 명령은 테이블 <tableName>의 컬럼 <columnName> 타입 <columnType>을 지원하지 않아요.
ANALYZE_VIEW ANALYZE TABLE 명령은 뷰를 지원하지 않아요.
CATALOG_INTERFACE_METHOD Catalog API <methodName><catalogClass>에서 지원되지 않아요.
CATALOG_OPERATION 카탈로그 <catalogName>은(는) <operation>을(를) 지원하지 않아요.
CHANGE_DATA_CAPTURE 카탈로그 <catalogName>은 변경 데이터 캡처(CDC)를 지원하지 않아요.
CHANGE_DATA_CAPTURE_ON_RELATION 관계 <relationId>는 변경 데이터 캡처(CDC)를 지원하지 않아요.
CLAUSE_WITH_PIPE_OPERATORS |>를 사용하는 SQL 파이프 연산자 구문은 <clauses>을(를) 지원하지 않아요.
COLLATIONS_IN_MAP_KEYS 맵 키의 콜레이션된 문자열.
COMBINATION_QUERY_RESULT_CLAUSES ORDER BY/SORT BY/DISTRIBUTE BY/CLUSTER BY의 조합.
COMMENT_NAMESPACE 네임스페이스 <namespace>에 주석을 다는 것.
CONTINUE_EXCEPTION_HANDLER CONTINUE 예외 핸들러는 지원되지 않아요. EXIT 핸들러를 사용하세요.
CREATE_FLOW_QUERY_EXECUTION CREATE FLOW 문장의 직접 실행은 지원되지 않아요. 흐름을 만들려면 파이프라인 스펙에 추가된 문장을 담은 SQL 파일로 파이프라인을 만들어 실행하세요.
CREATE_PIPELINE_DATASET_QUERY_EXECUTION CREATE ... <pipelineDatasetType> 쿼리 직접 실행. 파이프라인 데이터셋을 만들려면 파이프라인 정의에 추가된 쿼리를 담은 SQL 파일로 파이프라인을 만들어 실행하세요.
DESC_TABLE_COLUMN_JSON 개별 컬럼에 대해 DESC TABLE COLUMN AS JSON은 지원되지 않아요.
DESC_TABLE_COLUMN_PARTITION 특정 파티션에 대한 DESC TABLE COLUMN.
DROP_DATABASE 기본 데이터베이스 <database> 삭제.
DROP_NAMESPACE 네임스페이스 <namespace> 삭제.
GEOSPATIAL_DISABLED 지리공간(geospatial) 기능이 비활성화되어 있어요.
HIVE_TABLE_TYPE <tableName>은(는) hive <tableType>이에요.
HIVE_WITH_ANSI_INTERVALS ANSI interval을 가진 Hive 테이블 <tableName>.
INSERT_PARTITION_SPEC_IF_NOT_EXISTS PARTITION 사양에 IF NOT EXISTS가 있는 INSERT INTO <tableName>.
INTERRUPT_TYPE 지원되지 않는 인터럽트 타입: <interruptType>.
LAMBDA_FUNCTION_WITH_PYTHON_UDF 고차 함수에서 Python UDF <funcName>을 가진 람다 함수.
LAMBDA_FUNCTION_WITH_SQL_UDF 고차 함수에서 SQL UDF <funcName>을 가진 람다 함수.
LATERAL_COLUMN_ALIAS_IN_AGGREGATE_FUNC 집계 함수 <aggFunc>에서 lateral 컬럼 별칭 <lca>을(를) 참조하는 것.
LATERAL_COLUMN_ALIAS_IN_AGGREGATE_WITH_WINDOW_AND_HAVING 집계 쿼리에서 window 표현식과 having 절을 모두 사용하면서 lateral 컬럼 별칭 <lca>을(를) 참조하는 것. having 절을 제거하거나 SELECT 목록에서 lateral 별칭 참조를 제거하도록 집계 쿼리를 다시 작성하세요.
LATERAL_COLUMN_ALIAS_IN_GENERATOR 생성기 표현식 <generatorExpr>에서 lateral 컬럼 별칭 <lca>을(를) 참조하는 것.
LATERAL_COLUMN_ALIAS_IN_GROUP_BY GROUP BY 별칭/ALL을 통한 lateral 컬럼 별칭 참조는 아직 지원되지 않아요.
LATERAL_COLUMN_ALIAS_IN_WINDOW window 표현식 <windowExpr>에서 lateral 컬럼 별칭 <lca>을(를) 참조하는 것.
LATERAL_JOIN_NEAREST_BY NEAREST BY 절을 가진 LATERAL 상관.
LATERAL_JOIN_USING LATERAL 상관과 함께하는 JOIN USING.
LITERAL_TYPE 타입 <type>의 ''에 대한 리터럴.
MULTIPLE_BUCKET_TRANSFORMS 여러 bucket TRANSFORM.
MULTI_ACTION_ALTER 호스팅 테이블 <tableName>이 있는 대상 JDBC 서버는 여러 액션이 있는 ALTER TABLE을 지원하지 않아요. 이 오류를 피하려면 ALTER TABLE을 개별 액션으로 나누세요.
OBJECT_LEVEL_COLLATIONS 지정된 객체에 대한 기본 콜레이션.
ORC_TYPE_CAST Orc의 <orcType>을(를) 데이터 타입 <toType>(으)로 변환할 수 없어요.
OVERWRITE_BY_SUBQUERY 서브쿼리 조건이 있는 INSERT OVERWRITE.
PANDAS_UDAF_IN_PIVOT PIVOT 절에서 pandas 사용자 정의 집계 함수.
PARAMETER_MARKER_IN_UNEXPECTED_STATEMENT <statement>에서는 파라미터 마커가 허용되지 않아요.
PARTITION_BY_VARIANT VARIANT를 생성하는 표현식으로 DataFrame을 파티셔닝할 수 없지만, 표현식 <expr>의 타입은 <dataType>이에요.
PARTITION_WITH_NESTED_COLUMN_IS_UNSUPPORTED 잘못된 파티셔닝: <cols>이(가) 없거나 map/array 안에 있어요.
PIPE_OPERATOR_AGGREGATE_UNSUPPORTED_CASE 집계(|> AGGREGATE 사용)가 포함된 SQL 파이프 연산자 구문은 <case>을(를) 지원하지 않아요.
PIVOT_AFTER_GROUP_BY GROUP BY 절 뒤에 오는 PIVOT 절. GROUP BY를 서브쿼리 안으로 밀어 넣는 것을 고려하세요.
PIVOT_TYPE 컬럼 데이터 타입 <type>의 값 ''에 의한 피벗.
PURGE_PARTITION 파티션 퍼지(purge).
PURGE_TABLE 테이블 퍼지.
PYTHON_UDF_IN_ON_CLAUSE <joinType> JOIN의 ON 절에 있는 Python UDF. INNER JOIN의 경우 WHERE 절이 있는 CROSS JOIN으로 다시 쓰는 것을 고려하세요.
QUERY_ONLY_CORRUPT_RECORD_COLUMN 참조된 컬럼이 내부 손상 레코드 컬럼(기본적으로 이름이 _corrupt_record)만 포함할 때는 원시 JSON/CSV/XML 파일에서 쿼리할 수 없어요. 예: spark.read.schema(schema).json(file).filter($"_corrupt_record".isNotNull).count() 그리고 spark.read.schema(schema).json(file).select("_corrupt_record").show(). 대신 파싱된 결과를 캐시하거나 저장한 뒤 같은 쿼리를 보내세요. 예: val df = spark.read.schema(schema).json(file).cache() 다음에 df.filter($"_corrupt_record".isNotNull).count().
REMOVE_NAMESPACE_COMMENT 네임스페이스 <namespace>에서 주석 제거.
REPLACE_NESTED_COLUMN replace 함수는 중첩 컬럼 <colName>을 지원하지 않아요.
SCHEMA_LEVEL_COLLATIONS 지정된 스키마에 대한 기본 콜레이션.
SET_NAMESPACE_PROPERTY <property>은(는) 예약된 네임스페이스 프로퍼티예요, <msg>.
SET_OPERATION_ON_MAP_TYPE 집합 연산(INTERSECT, EXCEPT 등)을 호출하는 DataFrame에는 MAP 타입 컬럼을 둘 수 없지만, 컬럼 <colName>의 타입은 <dataType>이에요.
SET_OPERATION_ON_VARIANT_TYPE 집합 연산(INTERSECT, EXCEPT 등)을 호출하는 DataFrame에는 VARIANT 타입 컬럼을 둘 수 없지만, 컬럼 <colName>의 타입은 <dataType>이에요.
SET_PATH_WHEN_DISABLED SET PATH가 비활성화되어 있어요. 활성화하려면 <config>을(를) true로 설정하세요.
SET_PROPERTIES_AND_DBPROPERTIES PROPERTIES와 DBPROPERTIES를 동시에 설정하는 것.
SET_TABLE_PROPERTY <property>은(는) 예약된 테이블 프로퍼티예요, <msg>.
SET_VARIABLE_USING_SET <variableName>은(는) VARIABLE이라서 SET 문장으로는 갱신할 수 없어요. 대신 SET VARIABLE <variableName> = ...을 사용하세요.
SQL_CURSOR SQL 커서 연산(DECLARE CURSOR, OPEN, FETCH, CLOSE)은 지원되지 않아요.
SQL_SCRIPTING SQL 스크립팅은 개발 중이며 모든 기능이 지원되는 것은 아니에요. SQL 스크립팅을 사용하면 제어 흐름과 오류 처리를 포함한 절차적 SQL을 작성할 수 있어요. 기존 기능을 활성화하려면 <sqlScriptingEnabled>을(를) true로 설정하세요.
SQL_SCRIPTING_DROP_TEMPORARY_VARIABLE SQL 스크립트 안에서는 DROP TEMPORARY VARIABLE을 지원하지 않아요. 우회하려면 EXECUTE IMMEDIATE 'DROP TEMPORARY VARIABLE ...'을 사용하세요.
SQL_SCRIPTING_WITH_POSITIONAL_PARAMETERS SQL 스크립팅에서는 위치 기반 파라미터(positional parameters)를 지원하지 않아요.
STATE_STORE_MULTIPLE_COLUMN_FAMILIES <stateStoreProvider>(으)로 여러 컬럼 패밀리를 만드는 것은 지원되지 않아요.
STATE_STORE_REMOVING_COLUMN_FAMILIES <stateStoreProvider>(으)로 컬럼 패밀리를 제거하는 것은 지원되지 않아요.
STATE_STORE_TTL <stateStoreProvider>(으)로 상태 TTL을 지원하지 않아요. RocksDBStateStoreProvider를 사용하세요.
STORE_BACKEND_NOT_SUPPORTED_FOR_TWS TransformWithState 연산자는 스토어 백엔드 <stateStoreProvider>을(를) 지원하지 않아요. RocksDBStateStoreProvider를 사용하세요.
TABLESAMPLE_SYSTEM TABLESAMPLE SYSTEM은 블록 수준 샘플링을 구현하는 데이터소스에서만 지원돼요.
TABLESAMPLE_SYSTEM_NO_SCAN TABLESAMPLE SYSTEM은 블록 수준 샘플링을 지원하는 데이터소스 테이블에 대한 직접 참조가 필요해요. 서브쿼리, 뷰 또는 개입 연산이 있는 테이블에는 적용할 수 없어요.
TABLESAMPLE_SYSTEM_REPEATABLE TABLESAMPLE SYSTEM은 REPEATABLE 절을 지원하지 않아요. 시드를 갖는 반복 가능한 샘플링에는 TABLESAMPLE BERNOULLI를 사용하세요.
TABLESAMPLE_SYSTEM_SAMPLE_METHOD TABLESAMPLE SYSTEM은 <sampleMethod> 샘플링을 지원하지 않아요. PERCENT 샘플링만 지원돼요.
TABLE_OPERATION 테이블 <tableName>은(는) <operation>을(를) 지원하지 않아요. 현재 카탈로그와 네임스페이스를 확인해 정규화된 테이블 이름이 예상과 같은지, 그리고 "spark.sql.catalog"으로 구성된 카탈로그 구현을 확인해 주세요.
TEMPORARY_VIEW_WITH_SCHEMA_BINDING_MODE WITH SCHEMA 절로 임시 뷰를 만들 수 없어요. 기반 스키마가 바뀌면 임시 뷰를 다시 만들거나 영속 뷰를 사용하세요.
TIME_TRAVEL 관계에 대한 타임 트래블: <relationId>.
TOO_MANY_TYPE_ARGUMENTS_FOR_UDF_CLASS <num> 타입 인자를 가진 UDF 클래스.
TRANSFORM_DISTINCT_ALL TRANSFORM과 DISTINCT/ALL 절.
TRANSFORM_NON_HIVE SERDE를 사용하는 TRANSFORM은 hive 모드에서만 지원돼요.
TRIM_COLLATION 콜레이션에서 TRIM 지정자.
UPDATE_COLUMN_NULLABILITY MySQL 및 MS SQL Server에 대한 컬럼 nullability 업데이트.
WRITE_FOR_BINARY_SOURCE 이진 파일 데이터소스에 대한 쓰기.
0A000 UNSUPPORTED_INSERT_WITH_SCHEMA_EVOLUTION INSERT WITH SCHEMA EVOLUTION ...은(는) 이 테이블 포맷에서 지원되지 않아요.
0A000 UNSUPPORTED_JOIN_TYPE 지원되지 않는 조인 타입 ''. 지원되는 조인 타입: <supported>.
0A000 UNSUPPORTED_PARTITION_TRANSFORM 지원되지 않는 파티션 변환: <transform>. 지원되는 변환은 identity, bucket, clusterBy예요. 변환 표현식이 이것들 중 하나를 사용하는지 확인하세요.
0A000 UNSUPPORTED_PIPELINE_SPARK_SQL_COMMAND Spark Declarative Pipeline의 spark.sql("...") API에서는 ''이(가) 지원되지 않아요.
0A000 UNSUPPORTED_SAVE_MODE 저장 모드 <saveMode>은(는) 다음에 대해 지원되지 않아요:
EXISTENT_PATH 존재하는 경로.
NON_EXISTENT_PATH 존재하지 않는 경로.
0A000 UNSUPPORTED_SCHEMA_EVOLUTION 이 쓰기에 대해서는 스키마 진화가 지원되지 않아요.
CREATE_TABLE 새 테이블 만들기는 스키마 진화를 지원하지 않아요.
REPLACE_TABLE 테이블 교체는 스키마 진화를 지원하지 않아요.
V1_TABLE V1 테이블 또는 V1 데이터소스에 대한 쓰기는 스키마 진화를 지원하지 않아요.
0A000 UNSUPPORTED_SHOW_CREATE_TABLE 지원되지 않는 SHOW CREATE TABLE 명령이에요.
ON_DATA_SOURCE_TABLE_WITH_AS_SERDE 테이블 <tableName>은(는) Spark 데이터소스 테이블이에요. 대신 AS SERDE 없이 SHOW CREATE TABLE을 사용하세요.
ON_METRIC_VIEW 이 명령은 메트릭 뷰 <tableName>에서 지원되지 않아요.
ON_TEMPORARY_VIEW 이 명령은 임시 뷰 <tableName>에서 지원되지 않아요.
ON_TRANSACTIONAL_HIVE_TABLE 트랜잭션 Hive 테이블 <tableName>에 대해 명령을 실행하지 못했어요. Hive DDL을 보려면 SHOW CREATE TABLE <tableName> AS SERDE를 사용하세요.
WITH_UNSUPPORTED_FEATURE Hive로 만들어졌고 지원되지 않는 기능 <unsupportedFeatures>을(를) 사용하는 테이블/뷰 <tableName>에 대해 명령을 실행하지 못했어요.
WITH_UNSUPPORTED_SERDE_CONFIGURATION Hive로 만들어졌고 지원되지 않는 serde 구성 <configs>을(를) 사용하는 테이블 <tableName>에 대해 명령을 실행하지 못했어요. Hive DDL을 보려면 SHOW CREATE TABLE <tableName> AS SERDE를 사용하세요.
0A000 UNSUPPORTED_SINGLE_PASS_ANALYZER_FEATURE 단일 패스 분석기(single-pass analyzer)는 아직 <feature>을(를) 지원하지 않기 때문에 이 쿼리나 명령을 처리할 수 없어요.
0A000 UNSUPPORTED_SQL_UDF_USAGE <nodeName>에서 SQL 함수 <functionName>을(를) 사용하는 것은 지원되지 않아요.
0A000 UNSUPPORTED_STREAMING_OPERATOR_WITHOUT_WATERMARK 워터마크(watermark)가 없는 스트리밍 DataFrame/DataSets의 <statefulOperator>에 대해서는 <outputMode> 출력 모드가 지원되지 않아요.
0A000 UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY 지원되지 않는 서브쿼리 표현식:
ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED 이 위치에서는 외부 쿼리 컬럼에 접근할 수 없어요: <treeNode>
AGGREGATE_FUNCTION_MIXED_OUTER_LOCAL_REFERENCES 상관 술어에서 외부 참조와 로컬 참조를 모두 가진 집계 함수를 찾았는데, 이것은 지원되지 않아요: <function>.
CORRELATED_COLUMN_IS_NOT_ALLOWED_IN_PREDICATE 술어에서는 상관 컬럼이 허용되지 않아요: <treeNode>
CORRELATED_COLUMN_NOT_FOUND 서브쿼리 표현식 본문 안의 상관 외부 이름 참조가 둘러싼 쿼리에서 발견되지 않았어요: <value>.
CORRELATED_REFERENCE WHERE/HAVING 절 밖에서는 외부 쿼리를 참조하는 표현식을 지원하지 않아요: <sqlExprs>.
HIGHER_ORDER_FUNCTION 고차 함수 안에서는 서브쿼리 표현식을 지원하지 않아요. 고차 함수에서 모든 서브쿼리 표현식을 제거한 다음 쿼리를 다시 실행하세요.
LATERAL_JOIN_CONDITION_NON_DETERMINISTIC lateral 조인 조건은 비결정적일 수 없어요: <condition>.
MUST_AGGREGATE_CORRELATED_SCALAR_SUBQUERY 상관 스칼라 서브쿼리는 최대 한 행을 반환하도록 집계되어야 해요.
NON_CORRELATED_COLUMNS_IN_GROUP_BY 스칼라 상관 서브쿼리의 GROUP BY 절은 비상관 컬럼을 포함할 수 없어요: <value>.
NON_DETERMINISTIC_LATERAL_SUBQUERIES 한 행 이상을 생성하는 외부 관계와 조인할 때는 비결정적 lateral 서브쿼리를 지원하지 않아요: <treeNode>
SCALAR_SUBQUERY_IN_VALUES VALUES 절에서의 스칼라 서브쿼리.
UNSUPPORTED_CORRELATED_EXPRESSION_IN_JOIN_CONDITION 조인 술어의 상관 서브쿼리는 두 조인 입력을 모두 참조할 수 없어요: <subqueryExpression>
UNSUPPORTED_CORRELATED_REFERENCE_DATA_TYPE 상관 컬럼 참조 ''은(는) <dataType> 타입일 수 없어요.
UNSUPPORTED_CORRELATED_SCALAR_SUBQUERY 상관 스칼라 서브쿼리는 필터, 집계, 프로젝션, 그리고 UPDATE/MERGE/DELETE 명령에서만 사용할 수 있어요: <treeNode>
UNSUPPORTED_IN_EXISTS_SUBQUERY IN/EXISTS 술어 서브쿼리는 필터, 조인, 집계, 윈도우 함수, 프로젝션, 그리고 UPDATE/MERGE/DELETE 명령에서만 사용할 수 있어요: <treeNode>
UNSUPPORTED_TABLE_ARGUMENT 함수에서 지원되지 않는 위치에 테이블 인자가 사용됐어요: <treeNode>
0A000 UNSUPPORTED_TABLE_CHANGE 지원되지 않는 테이블 변경: <message>
0A000 UNSUPPORTED_TIME_TYPE 데이터 타입 TIME은 지원되지 않아요.
0A000 UNSUPPORTED_TYPED_LITERAL 타입 <unsupportedType>의 리터럴은 지원되지 않아요. 지원되는 타입은 <supportedTypes>이에요.
0A000 V2_EXPRESSION_SQL_BUILDER_UDAF_NOT_SUPPORTED <class>는 사용자 정의 집계 함수를 지원하지 않아요: <funcName>.
0A000 V2_EXPRESSION_SQL_BUILDER_UDF_NOT_SUPPORTED <class>는 사용자 정의 함수를 지원하지 않아요: <funcName>.
0A001 UNSUPPORTED_TIME_PRECISION TIME 데이터 타입의 초 정밀도 <precision>이(가) 지원 범위 [0, 6] 밖이에요.
0AKD0 CANNOT_RENAME_ACROSS_SCHEMA 스키마에 걸쳐 <type> 이름을 바꾸는 것은 허용되지 않아요.
21000 ROW_SUBQUERY_TOO_MANY_ROWS 행으로 사용된 서브쿼리가 한 행보다 많은 행을 반환했어요.
21000 SCALAR_SUBQUERY_TOO_MANY_ROWS 표현식으로 사용된 서브쿼리가 한 행보다 많은 행을 반환했어요.
21S01 CREATE_VIEW_COLUMN_ARITY_MISMATCH <viewName>을(를) 만들 수 없는데, 이유는
NOT_ENOUGH_DATA_COLUMNS 데이터 컬럼이 충분하지 않아요: 뷰 컬럼: <viewColumns>. 데이터 컬럼: <dataColumns>.
TOO_MANY_DATA_COLUMNS 데이터 컬럼이 너무 많아요: 뷰 컬럼: <viewColumns>. 데이터 컬럼: <dataColumns>.
21S01 INSERT_COLUMN_ARITY_MISMATCH <tableName>에 쓸 수 없는데, 이유는
NOT_ENOUGH_DATA_COLUMNS 데이터 컬럼이 충분하지 않아요: 테이블 컬럼: <tableColumns>. 데이터 컬럼: <dataColumns>.
TOO_MANY_DATA_COLUMNS 데이터 컬럼이 너무 많아요: 테이블 컬럼: <tableColumns>. 데이터 컬럼: <dataColumns>.
21S01 INSERT_PARTITION_COLUMN_ARITY_MISMATCH ''에 쓸 수 없어요, <reason>: 테이블 컬럼: <tableColumns>. 정적 값이 있는 파티션 컬럼: <staticPartCols>. 데이터 컬럼: <dataColumns>.
21S01 MERGE_INSERT_VALUE_COUNT_MISMATCH MERGE의 INSERT 절에서 제공된 값 수(<actualCount>)가 예상 컬럼 수(<expectedCount>)와 일치해야 해요.
22000 AUTOCDC_MICROBATCH_VALIDATION 배치 <batchId>에서 테이블 <tableName>의 AutoCDC 흐름이 마이크로배치 검증에 실패했어요.
NON_ORDERABLE_SEQUENCE 시퀀싱 컬럼의 타입 <dataType>이(가) 순서를 지정할 수 없어요. 시퀀싱 컬럼은 순서를 지원하는 타입이어야 해요.
NULL_KEY 마이크로배치에 다음 키 컬럼들에 null 값이 있는 행이 포함돼 있어요: <nullKeyCounts>. 모든 행은 모든 키 컬럼에 대해 non-null 값이 있어야 해요.
NULL_SEQUENCE 마이크로배치에 null 시퀀싱 값이 있는 <nullCount>개 행이 포함돼 있어요. 모든 행은 non-null 시퀀싱 값이 있어야 해요.
22000 HLL_UNION_DIFFERENT_LG_K 스케치들의 lgConfigK 값이 달라요: <left>과(와) <right>. 다른 lgConfigK 값으로 <function>을(를) 호출하려면 allowDifferentLgConfigK 매개변수를 true로 설정하세요.
22000 KLL_INVALID_INPUT_SKETCH_BUFFER <function>에 대한 잘못된 호출이에요. 입력으로는 유효한 KLL 스케치 버퍼만 지원돼요(예: kll_sketch_agg 함수가 만든 것).
22000 MALFORMED_CHARACTER_CODING <charset>(으)로 <function>을(를) 수행할 때 잘못된 값을 발견했어요.
22000 MALFORMED_STATE_IN_RATE_PER_MICRO_BATCH_SOURCE RatePerMicroBatch 소스에서 잘못된 상태가 발견됐어요.
INVALID_OFFSET 오프셋 값이 잘못됐어요: startOffset는 endOffset보다 작거나 같아야 하는데, startOffset(<startOffset>) > endOffset(<endOffset>)이에요.
INVALID_TIMESTAMP 타임스탬프 값이 잘못됐어요: startTimestamp는 endTimestamp보다 작거나 같아야 하는데, startTimestamp(<startTimestamp>) > endTimestamp(<endTimestamp>)이에요. 이는 스트리밍 쿼리가 더 새로운 startingTimestamp로 재시작되고 첫 배치(즉 배치 0)를 다시 처리할 때 발생할 수 있어요. 새 체크포인트 위치 사용을 고려하세요.
22000 THETA_INVALID_INPUT_SKETCH_BUFFER <function>에 대한 잘못된 호출이에요. 입력으로는 유효한 Theta 스케치 버퍼만 지원돼요(예: theta_sketch_agg 함수가 만든 것).
22000 THETA_INVALID_INPUT_SKETCH_BUFFER_FAMILY <function>에 대한 잘못된 호출이에요: <expectedFamily> 스케치 패밀리를 기대했지만 <actualFamily>을(를) 받았어요. 입력으로는 유효한 Theta 스케치 버퍼(theta_sketch_agg가 만든 것)만 지원돼요.
22000 TUPLE_INVALID_INPUT_SKETCH_BUFFER <function>에 대한 잘못된 호출이에요. 입력으로는 유효한 Tuple 스케치 버퍼만 지원돼요(예: 해당하는 tuple_sketch_agg_* 함수가 만든 것).
22000 TUPLE_INVALID_INPUT_SKETCH_BUFFER_FAMILY <function>에 대한 잘못된 호출이에요: <expectedFamily> 스케치 패밀리를 기대했지만 <actualFamily>을(를) 받았어요. 입력으로는 유효한 Tuple 스케치 버퍼(tuple_sketch_agg_* 함수가 만든 것)만 지원돼요.
22000 VECTOR_DIMENSION_MISMATCH <functionName>에 전달된 벡터들은 같은 차원이어야 하는데, <leftDim>과(와) <rightDim>을(를) 받았어요.
22002 INVALID_KRYO_SERIALIZER_NO_DATA 객체 ''는(은) <serdeClass>(으)로 <serdeOp>하기에 잘못되었거나 손상됐어요.
22003 ARITHMETIC_OVERFLOW <message>.<alternative> 필요한 경우 <config>을(를) "false"로 설정해 이 오류를 우회하세요.
22003 BINARY_ARITHMETIC_OVERFLOW <value1> <symbol> <value2>이(가) 오버플로를 일으켰어요. <functionName>을(를) 사용해 오버플로 문제를 무시하고 NULL을 반환하세요.
22003 CAST_OVERFLOW 타입 <sourceType>의 값 <value>은(는) 오버플로 때문에 <targetType>(으)로 캐스팅할 수 없어요. 오버플로를 허용하고 NULL을 반환하려면 try_cast를 사용하세요.
22003 CAST_OVERFLOW_IN_TABLE_INSERT 오버플로 때문에 <sourceType> 타입의 값을 <targetType> 타입의 컬럼 또는 변수 <columnName>에 할당하지 못했어요. 오버플로를 허용하고 NULL을 반환하려면 입력 값에 try_cast를 사용하세요.
22003 COLUMN_ORDINAL_OUT_OF_BOUNDS 컬럼 서수(ordinal)가 범위를 벗어났어요. 테이블의 컬럼 수는 <attributesLength>인데 컬럼 서수는 <ordinal>이에요. 속성들은 다음과 같아요: <attributes>.
22003 DECIMAL_PRECISION_EXCEEDS_MAX_PRECISION 십진 정밀도 <precision>이(가) 최대 정밀도 <maxPrecision>을(를) 초과했어요.
22003 INCORRECT_RAMP_UP_RATE <rowsPerSecond> rowsPerSecond에서의 최대 오프셋은 <maxSeconds>인데 'rampUpTimeSeconds'는 <rampUpTimeSeconds>이에요.
22003 INVALID_ARRAY_INDEX 인덱스 <indexValue>이(가) 범위를 벗어났어요. 배열에는 <arraySize>개의 요소가 있어요. 잘못된 인덱스의 요소 접근을 허용하고 NULL을 반환하려면 SQL 함수 get()을 사용하세요.
22003 INVALID_ARRAY_INDEX_IN_ELEMENT_AT 인덱스 <indexValue>이(가) 범위를 벗어났어요. 배열에는 <arraySize>개의 요소가 있어요. 잘못된 인덱스의 요소 접근을 허용하고 NULL을 반환하려면 try_element_at을 사용하세요.
22003 INVALID_BITMAP_POSITION 0-인덱스 비트맵 위치 <bitPosition>이(가) 범위를 벗어났어요. 비트맵에는 <bitmapNumBits>개 비트(<bitmapNumBytes> 바이트)가 있어요.
22003 INVALID_BOUNDARY 경계 <boundary>이(가) 잘못됐어요: <invalidValue>.
END 값이 '0', '', '[, ]'여야 해요.
START 값이 '0', '', '[, ]'여야 해요.
22003 INVALID_BUCKET_COUNT 버킷 수는 0보다 크고 bucketing.maxBuckets(<bucketingMaxBuckets>)보다 작거나 같아야 해요. <numBuckets>을(를) 받았어요.
22003 INVALID_INDEX_OF_ZERO 인덱스 0은 잘못됐어요. 인덱스는 < 0이거나 > 0이어야 해요(첫 요소는 인덱스 1).
22003 INVALID_NUMERIC_LITERAL_RANGE 숫자 리터럴 <rawStrippedQualifier>이(가) <typeName>의 유효 범위 밖이에요. 최솟값은 <minValue>이고 최댓값은 <maxValue>이에요. 값을 그에 맞게 조정하세요.
22003 KLL_SKETCH_INVALID_QUANTILE_RANGE 함수 <functionName>에 대해 분위수(quantile) 값은 0.0과 1.0 사이(포함)여야 해요.
22003 KLL_SKETCH_K_OUT_OF_RANGE 함수 <functionName>에 대해 k 매개변수는 8과 65535 사이(포함)여야 하는데, <k>을(를) 받았어요.
22003 NEGATIVE_VALUES_IN_FREQUENCY_EXPRESSION <frequencyExpression>에서 음수 값을 발견했어요: <negativeValue>, 양의 정수 값을 기대했어요.
22003 NUMERIC_OUT_OF_SUPPORTED_RANGE <value>은(는) 38자리보다 많아서 숫자로 해석할 수 없어요.
22003 NUMERIC_VALUE_OUT_OF_RANGE
WITHOUT_SUGGESTION <originalValue>에서 반올림한 <roundedValue>은(는) Decimal(<precision>, <scale>)로 표현할 수 없어요.
WITH_SUGGESTION <value>은(는) Decimal(<precision>, <scale>)로 표현할 수 없어요. 필요한 경우 <config>을(를) "false"로 설정해 이 오류를 우회하고 NULL을 반환하세요.
22003 SKETCH_INVALID_LG_NOM_ENTRIES <function>에 대한 잘못된 호출이에요. lgNomEntries 값은 <min>과(와) <max>(포함) 사이여야 해요: <value>.
22003 SUM_OF_LIMIT_AND_OFFSET_EXCEEDS_MAX_INT LIMIT 절과 OFFSET 절의 합은 최대 32비트 정수 값(2,147,483,647)보다 크면 안 되는데, limit = <limit>, offset = <offset>이(가) 발견됐어요.
22004 APPROX_TOP_K_NULL_ARG approx_top_k에서 <argName>의 값은 NULL일 수 없어요.
22004 AVRO_CANNOT_WRITE_NULL_FIELD non-null Avro 데이터 타입 <dataType>(으)로 정의된 필드 <name>에 null 값을 쓸 수 없어요. 이 필드에 null 값을 허용하려면 avroSchema 옵션을 사용해 그 avro 스키마를 "null"과의 유니온 타입으로 지정하세요.
22004 COMPARATOR_RETURNS_NULL 비교기가 <firstValue>과(와) <secondValue> 사이 비교에 대해 NULL을 반환했어요. "더 큼"은 양의 정수, "같음"은 0, "더 작음"은 음의 정수를 반환해야 해요. NULL을 0(같음)으로 취급하는 이전 동작으로 되돌리려면 "spark.sql.legacy.allowNullComparisonResultInArraySort"를 "true"로 설정해야 해요.
22004 NULL_QUERY_STRING_EXECUTE_IMMEDIATE Execute immediate는 쿼리 문자열로 non-null 변수가 필요한데, 제공된 변수 <varName>은(는) null이에요.
22004 TUPLE_IS_EMPTY Scala의 제한된 튜플 지원 때문에 빈 튜플은 지원되지 않아요.
22006 CANNOT_PARSE_INTERVAL <intervalString>을(를) 파싱할 수 없어요. 제공된 값이 interval을 정의하는 데 유효한 형식인지 확인해 주세요. 올바른 형식에 대해서는 문서를 참고할 수 있어요. 문제가 지속되면 입력 값이 null이거나 비어 있지 않은지 다시 확인하고 다시 시도해 주세요.
22006 INVALID_INTERVAL_FORMAT ''을(를) interval로 파싱하는 중 오류가 발생했어요. 제공된 값이 interval을 정의하는 데 유효한 형식인지 확인해 주세요. 올바른 형식에 대해서는 문서를 참고하세요.
ARITHMETIC_EXCEPTION ''을(를) 파싱하는 동안 처리되지 않은 산술 예외가 발생했어요.
DAY_TIME_PARSING interval day-time 문자열 파싱 오류: <msg>.
INPUT_IS_EMPTY interval 문자열은 비어 있을 수 없어요.
INPUT_IS_NULL interval 문자열은 null일 수 없어요.
INTERVAL_PARSING interval <interval> 문자열 파싱 오류.
INVALID_FRACTION <unit>은(는) 분수 부분을 가질 수 없어요.
INVALID_PRECISION interval은 나노초 정밀도만 지원할 수 있는데, <value>이(가) 범위 밖이에요.
INVALID_PREFIX 잘못된 interval 접두사 <prefix>.
INVALID_UNIT 잘못된 단위 <unit>.
INVALID_VALUE 잘못된 값 <value>.
MISSING_NUMBER <word> 뒤에 숫자를 기대했지만 EOL에 도달했어요.
MISSING_UNIT <word> 뒤에 단위 이름을 기대했지만 EOL에 도달했어요.
SECOND_NANO_FORMAT interval 문자열이 ss.nnnnnnnnn의 second-nano 형식과 일치하지 않아요.
TIMEZONE_INTERVAL_OUT_OF_RANGE interval 값은 초 정밀도로 [-18, +18] 시간 범위 안에 있어야 해요.
UNKNOWN_PARSING_ERROR <word>을(를) 파싱하는 중 알 수 없는 오류.
UNMATCHED_FORMAT_STRING <typeName>(으)로 캐스팅될 때 interval 문자열이 <intervalStr> 형식(<supportedFormat>)과 일치하지 않아요: <input>.
UNMATCHED_FORMAT_STRING_WITH_NOTICE <typeName>(으)로 캐스팅될 때 interval 문자열이 <intervalStr> 형식(<supportedFormat>)과 일치하지 않아요: <input>. Spark 3.0 이전 동작을 복원하려면 "spark.sql.legacy.fromDayTimeString.enabled"를 "true"로 설정하세요.
UNRECOGNIZED_NUMBER 인식할 수 없는 숫자 <number>.
UNSUPPORTED_FROM_TO_EXPRESSION (interval '' to ) 표현식을 지원할 수 없어요.
22006 INVALID_INTERVAL_WITH_MICROSECONDS_ADDITION date에 interval을 더할 수 없는데, 그 interval의 마이크로초 부분이 0이 아니기 때문이에요. 이 문제를 해결하려면 입력 date를 timestamp로 캐스팅하세요. timestamp는 0이 아닌 마이크로초를 가진 interval의 덧셈을 지원해요.
22007 CANNOT_PARSE_TIMESTAMP <message>. 잘못된 입력 문자열을 허용하고 NULL을 반환하려면 <func>을(를) 사용하세요.
22007 INVALID_DATETIME_PATTERN 인식할 수 없는 datetime 패턴: <pattern>.
ILLEGAL_CHARACTER datetime 패턴에서 잘못된 패턴 문자를 발견했어요: <c>. 올바른 문자를 제공해 주세요.
LENGTH datetime 패턴에 문자가 너무 많아요: <pattern>. 패턴 길이를 줄여 주세요.
SECONDS_FRACTION 가변 길이의 초 분수 패턴을 감지할 수 없어요. 패턴에 'S'가 포함되어 있고 잘못된 문자가 없는지 확인해 주세요.
WITH_SUGGESTION '/sql-ref-datetime-pattern.html'의 안내로 유효한 datetime 패턴을 만들 수 있어요.
22008 DATETIME_OVERFLOW Datetime 연산 오버플로: <operation>.
22009 ILLEGAL_DAY_OF_WEEK 요일에 대한 잘못된 입력: <string>.
22009 INVALID_TIMEZONE 시간대: <timeZone>이(가) 잘못됐어요. 시간대는 지역 기반 zone ID이거나 zone offset이어야 해요. 지역 ID는 'area/city' 형식이어야 해요(예: 'America/Los_Angeles'). Zone 오프셋은 '(+|-)HH', '(+|-)HH:mm' 또는 '(+|-)HH:mm:ss' 형식이어야 하고(예: '-08', '+01:00' 또는 '-13:33:33'), -18:00에서 +18:00 범위 안에 있어야 해요. 'Z'와 'UTC'는 '+00:00'의 동의어로 받아들여져요.
2200E NULL_MAP_KEY null을 map 키로 사용할 수 없어요.
22010 CANNOT_PARSE_TIME 입력 문자열 <input>이(가) datetime 형식 <format>과 일치하지 않아 TIME 값으로 파싱할 수 없어요.
22012 DIVIDE_BY_ZERO 0으로 나누기. 제수가 0인 것을 허용하고 NULL을 반환하려면 try_divide를 사용하세요. 필요한 경우 <config>을(를) "false"로 설정해 이 오류를 우회하세요.
22012 INTERVAL_DIVIDED_BY_ZERO 0으로 나누기. 제수가 0인 것을 허용하고 NULL을 반환하려면 try_divide를 사용하세요.
22012 REMAINDER_BY_ZERO 0으로 나머지를 구함. 제수가 0인 것을 허용하고 NULL을 반환하려면 try_mod를 사용하세요. 필요한 경우 <config>을(를) "false"로 설정해 이 오류를 우회하세요.
22015 INTERVAL_ARITHMETIC_OVERFLOW interval을 다루는 동안 정수 오버플로가 발생했어요.
WITHOUT_SUGGESTION interval 매개변수에 적절한 값을 고안해 보세요.
WITH_SUGGESTION 오버플로를 허용하고 NULL을 반환하려면 <functionName>을(를) 사용하세요.
22018 CANNOT_PARSE_DECIMAL decimal을 파싱할 수 없어요. 입력이 선택적 소수점이나 쉼표 구분자를 가진 유효한 숫자인지 확인해 주세요.
22018 CANNOT_PARSE_PROTOBUF_DESCRIPTOR 디스크립터 바이트를 Protobuf FileDescriptorSet으로 파싱하는 중 오류.
22018 CAST_INVALID_INPUT 타입 <sourceType>의 값 <expression>은(는) 형식이 잘못되어 <targetType>(으)로 캐스팅할 수 없어요. 구문에 따라 값을 수정하거나 대상 타입을 바꾸세요. 형식이 잘못된 입력을 허용하고 NULL을 반환하려면 try_cast를 사용하세요.
22018 CONVERSION_INVALID_INPUT <str>(<fmt>)은(는) 형식이 잘못되어 <targetType>(으)로 변환할 수 없어요. 구문에 따라 값을 수정하거나 형식을 바꾸세요. 형식이 잘못된 입력을 허용하고 NULL을 반환하려면 <suggestion>을(를) 사용하세요.
22018 FAILED_PARSE_STRUCT_TYPE struct 파싱 실패: <raw>.
2201E STRUCT_ARRAY_LENGTH_MISMATCH 입력 행이 스키마에서 요구하는 예상 값 수를 갖고 있지 않아요. <expected>개 필드가 필요하지만 <actual>개 값이 제공됐어요.
22022 INVALID_CONF_VALUE 구성 ""의 값 ''은(는) 잘못됐어요.
OUT_OF_RANGE_OF_OPTIONS '' 중 하나여야 해요.
REQUIREMENT <confRequirement>
TIME_ZONE 주어진 시간대를 해석할 수 없어요.
TYPE_MISMATCH '' 값이어야 해요.
22023 APPROX_TOP_K_MAX_ITEMS_TRACKED_EXCEEDS_LIMIT approx_top_k의 추적 최대 항목 maxItemsTracked(<maxItemsTracked>)은(는) <limit>보다 작거나 같아야 해요.
22023 APPROX_TOP_K_MAX_ITEMS_TRACKED_LESS_THAN_K approx_top_k의 추적 최대 항목 maxItemsTracked(<maxItemsTracked>)은(는) k(<k>)보다 크거나 같아야 해요.
22023 APPROX_TOP_K_NON_POSITIVE_ARG approx_top_k에서 <argName>의 값은 양의 정수여야 하는데, <argValue>을(를) 받았어요.
22023 AUTOCDC_EMPTY_KEYS AutoCDC는 행을 식별하려면 키 컬럼이 하나 이상 필요하지만, 빈 키 집합을 받았어요.
22023 AUTOCDC_KEY_NOT_IN_SELECTED_SCHEMA <caseSensitivity> 컬럼 이름 비교를 사용할 때, AutoCDC 키 컬럼 <keyColumnName>이(가) 흐름의 선택된 소스 스키마에 없어요. AutoCDC는 모든 키 컬럼이 소스 변경 데이터 피드에 존재하고 구성된 컬럼 선택에 의해 유지되도록 요구해요.
22023 AUTOCDC_MISSING_SEQUENCE_BY AutoCDC 흐름에 필요한 sequence_by 표현식이 없어요. 들어오는 변경 이벤트를 정렬하는 sequence_by 컬럼이나 표현식을 지정하세요.
22023 AUTOCDC_MISSING_SOURCE AutoCDC 흐름에 필요한 소스 테이블 이름이 없어요. 흐름이 읽을 스트리밍 소스 테이블의 이름을 지정하세요.
22023 AUTOCDC_MULTIPART_COLUMN_IDENTIFIER 단일 컬럼 식별자를 기대했지만 멀티파트 식별자 <columnName>(파트: <nameParts>)을(를) 받았어요.
22023 AUTOCDC_NON_COLUMN_IDENTIFIER 컬럼 식별자를 기대했지만 속성이 아닌 표현식 <expression>을(를) 받았어요. AutoCDC 키, sequence_by, column_list, except_column_list는 정규화되지 않은 컬럼 이름을 참조해야 해요.
22023 DATETIME_FIELD_OUT_OF_BOUNDS <rangeMessage>.
WITHOUT_SUGGESTION
WITH_SUGGESTION 필요한 경우 <ansiConfig>을(를) "false"로 설정해 이 오류를 우회하세요.
22023 INVALID_ARTIFACT_PATH 이름 <name>의 아티팩트가 잘못됐어요. 이름은 상대 경로여야 하고 부모/형제/하위 디렉터리를 참조할 수 없어요.
22023 INVALID_FRACTION_OF_SECOND 초의 유효 범위는 0, 60인데, 제공된 값은 <secAndMicros>이에요. 이 오류를 피하려면 오류 시 NULL을 반환하는 try_make_timestamp를 사용하세요. 이 함수의 세션 기본 timestamp 버전을 사용하고 싶지 않다면 try_make_timestamp_ntz 또는 try_make_timestamp_ltz를 사용하세요.
22023 INVALID_JSON_RECORD_TYPE 모드 <failFastMode>에서 공통 스키마를 추론하는 동안 잘못된 타입의 JSON 레코드를 감지했어요. STRUCT 타입을 기대했지만 <invalidType>을(를) 찾았어요.
22023 INVALID_PARAMETER_VALUE <functionName>에서 매개변수 <parameter>의 값이 잘못됐어요:
AES_CRYPTO_ERROR 상세 메시지: <detailMessage>
AES_IV_LENGTH 16바이트 CBC IV와 12바이트 GCM IV를 지원하는데, <mode>에 대해 <actualLength> 바이트를 받았어요.
AES_KEY_LENGTH 16, 24 또는 32바이트의 이진 값을 기대했는데, <actualLength> 바이트를 받았어요.
BINARY_FORMAT 이진 형식 'base64', 'hex', 'utf-8' 중 하나를 기대했는데, <invalidFormat>을(를) 받았어요.
BIT_POSITION_RANGE [0, <upper>)의 정수 값을 기대했는데, <invalidValue>을(를) 받았어요.
BOOLEAN boolean 리터럴을 기대했는데, <invalidValue>을(를) 받았어요.
CHARSET <charsets> 중 하나를 기대했는데, <charset>을(를) 받았어요.
DATETIME_UNIT 따옴표 없는 단위 YEAR, QUARTER, MONTH, WEEK, DAY, DAYOFYEAR, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND 중 하나를 기대했는데, 문자열 리터럴 <invalidValue>을(를) 받았어요.
DOUBLE double 리터럴을 기대했는데, <invalidValue>을(를) 받았어요.
DTYPE 지원되지 않는 dtype: <invalidValue>. 유효한 값: float64, float32.
EXTENSION 잘못된 확장자: <invalidValue>. 확장자는 정확히 3글자로 제한돼요(예: csv, tsv 등).
INTEGER 정수 리터럴을 기대했는데, <invalidValue>을(를) 받았어요.
INTERRUPT_TYPE_OPERATION_ID_REQUIRES_ID INTERRUPT_TYPE_OPERATION_ID가 요청됐지만 operation_id가 제공되지 않았어요.
INTERRUPT_TYPE_TAG_REQUIRES_TAG INTERRUPT_TYPE_TAG가 요청됐지만 operation_tag가 제공되지 않았어요.
LENGTH 0보다 크거나 같은 길이를 기대했는데, <length>을(를) 받았어요.
LONG long 리터럴을 기대했는데, <invalidValue>을(를) 받았어요.
NULL non-NULL 값을 기대해요.
PATTERN <value>.
REGEX_GROUP_INDEX 0과 <groupCount> 사이의 그룹 인덱스를 기대했는데, <groupIndex>을(를) 받았어요.
START start에 양수 또는 음수 값을 기대했는데 0을 받았어요.
STREAMING_LISTENER_COMMAND_MISSING StreamingQueryListenerBusCommand에서 명령 누락.
STRING 문자열 리터럴을 기대했는데, <invalidValue>을(를) 받았어요.
TIME_UNIT 단위 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND', 'MICROSECOND' 중 하나를 기대했는데, ''을(를) 받았어요.
ZERO_INDEX %1$, %2$ 등을 기대했는데 %0$을(를) 받았어요.
22023 INVALID_REGEXP_REPLACE source = "", pattern = "", replacement = "" 및 position = <position>에 대해 regexp_replace를 수행할 수 없어요.
22023 INVALID_STREAMING_REAL_TIME_MODE_TRIGGER_INTERVAL 실시간 트리거 간격이 <interval> ms로 설정됐어요. 이는 spark.sql.streaming.realTimeMode.minBatchDuration이 지정한 <minBatchDuration> ms 최솟값보다 작아요.
22023 INVALID_VARIANT_CAST variant 값 <value>은(는) <dataType>(으)로 캐스팅할 수 없어요. 대신 try_variant_get을 사용하세요.
22023 INVALID_VARIANT_FROM_PARQUET 잘못된 variant.
MISSING_FIELD <field> 필드 누락.
NULLABLE_OR_NOT_BINARY_FIELD <field>은(는) non-nullable 이진(binary)이어야 해요.
WRONG_NUM_FIELDS Variant 컬럼은 정확히 두 개의 필드를 포함해야 해요.
22023 INVALID_VARIANT_GET_PATH 경로 <path>은(는) <functionName>에서 유효한 variant 추출 경로가 아니에요. 유효한 경로는 $로 시작하고 뒤에 [123], .name, ['name'], ["name"] 같은 0개 이상의 세그먼트가 옵니다.
22023 INVALID_VARIANT_SHREDDING_SCHEMA 스키마 <schema>은(는) 유효한 variant shredding 스키마가 아니에요.
22023 INVALID_VECTOR_NORM_DEGREE <functionName> 함수에 대해 차수(degree)는 1.0, 2.0 또는 float('inf')여야 하는데, <degree>을(를) 받았어요.
22023 MALFORMED_RECORD_IN_PARSING 레코드 파싱에서 형식이 잘못된 레코드가 감지됐어요: <badRecord>. 파싱 모드: <failFastMode>. 형식이 잘못된 레코드를 null 결과로 처리하려면 'mode' 옵션을 'PERMISSIVE'로 설정해 보세요.
CANNOT_PARSE_JSON_ARRAYS_AS_STRUCTS JSON 배열을 struct로 파싱하는 것은 금지돼요.
CANNOT_PARSE_STRING_AS_DATATYPE 입력 타입 <inputType>에서 필드 <fieldName>의 값 <fieldValue>을(를) 대상 Spark 데이터 타입 <targetType>(으)로 파싱할 수 없어요.
WITHOUT_SUGGESTION
22023 MALFORMED_VARIANT Variant 이진이 형식이 잘못됐어요. 데이터소스가 유효한지 확인해 주세요.
22023 OPTION_VALUE_EXCEEDS_ONE_CHARACTER <paramName>의 값은 한 문자보다 길 수 없는데, <actualValue>을(를) 받았어요.
22023 ROW_VALUE_IS_NULL 인덱스 <index>의 행에서 NULL을 발견했는데, non-NULL 값을 기대했어요.
22023 RULE_ID_NOT_FOUND 룰 이름 ""에 대한 id를 찾지 못했어요. 새 룰을 추가한다면 RuleIdCollection.scala를 수정하세요.
22023 SECOND_FUNCTION_ARGUMENT_NOT_INTEGER <functionName> 함수의 두 번째 인자는 정수여야 해요.
22023 ST_INVALID_ALGORITHM_VALUE 잘못되었거나 지원되지 않는 간선 보간 알고리즘 값: ''.
22023 ST_INVALID_CRS_VALUE 잘못되었거나 지원되지 않는 CRS(좌표 참조 시스템) 값: ''.
22023 ST_INVALID_ENDIANNESS_VALUE 엔디언 ''은(는) 'NDR'(리틀 엔디언) 또는 'XDR'(빅 엔디언)이어야 해요.
22023 ST_INVALID_SRID_VALUE 잘못되었거나 지원되지 않는 SRID(공간 참조 식별자) 값: <srid>.
22023 TABLE_VALUED_FUNCTION_REQUIRED_METADATA_INCOMPATIBLE_WITH_CALL 테이블 함수 <functionName>을(를) 평가하지 못했는데, 그 테이블 메타데이터 <requestedMetadata>이지만 함수 호출 <invalidFunctionCallProperty>이기 때문이에요.
22023 TABLE_VALUED_FUNCTION_REQUIRED_METADATA_INVALID 테이블 함수 <functionName>을(를) 평가하지 못했는데, 그 테이블 메타데이터가 잘못됐기 때문이에요; <reason>.
22023 TUPLE_INVALID_SKETCH_MODE <function>에 대한 잘못된 호출이에요: 모드 ''은(는) 지원되지 않아요. 유효한 모드: <validModes>.
22023 UNKNOWN_PRIMITIVE_TYPE_IN_VARIANT variant 값에서 id <id>인 알 수 없는 기본 타입이 발견됐어요.
22023 VARIANT_CONSTRUCTOR_SIZE_LIMIT 16 MiB보다 큰 Variant를 구성할 수 없어요. Variant 값의 최대 허용 크기는 16 MiB예요.
22023 VARIANT_DUPLICATE_KEY 중복 객체 키 <key> 때문에 variant를 만들지 못했어요.
22023 VARIANT_SIZE_LIMIT <functionName>에서 <sizeLimit>보다 큰 variant를 만들 수 없어요. 이 표현식에 큰 입력 문자열을 피하세요(예: 표현식 크기를 검사하고 너무 크면 먼저 NULL로 변환하는 함수 호출 추가).
22023 WKB_PARSE_ERROR WKB 파싱 오류: 위치 <pos>에서 <parseError>
22024 NULL_DATA_SOURCE_OPTION 데이터소스 읽기/쓰기 옵션 <option>은(는) null 값을 가질 수 없어요.
22029 INVALID_UTF8_STRING 문자열에서 잘못된 UTF8 바이트 시퀀스를 발견했어요: <str>.
22032 INVALID_JSON_ROOT_FIELD JSON 루트 필드를 대상 Spark 타입으로 변환할 수 없어요.
22032 INVALID_JSON_SCHEMA_MAP_TYPE 입력 스키마 <jsonSchema>은(는) MAP의 키 타입으로 STRING만 포함할 수 있어요.
2203G CANNOT_PARSE_JSON_FIELD JSON 토큰 타입 <jsonType>의 필드 이름 <fieldName>과(와) 값 <fieldValue>을(를) 대상 Spark 데이터 타입 <dataType>(으)로 파싱할 수 없어요.
2203G FAILED_ROW_TO_JSON 클래스 <class>의 행 값 <value>을(를) JSON 형식에서 대상 SQL 타입 <sqlType>(으)로 변환하지 못했어요.
2203G INVALID_JSON_DATA_TYPE JSON 문자열 ''을(를) 데이터 타입으로 변환하지 못했어요. 유효한 데이터 타입을 입력해 주세요.
2203G INVALID_JSON_DATA_TYPE_FOR_COLLATIONS 콜레이션은 문자열 타입에만 적용할 수 있는데, JSON 데이터 타입은 <jsonType>이에요.
2203G UDT_CLASS_LOADING_DISABLED 클래스 <udtClass>을(를) 사용자 정의 타입으로 로드할 수 없어요. 이름으로 UserDefinedType 클래스를 로드하는 것은 spark.sql.udt.allowCreatingUDTFromString에 의해 비활성화되어 있고, <udtClass>은(는) 허용 목록 spark.sql.udt.allowedDynamicUDTClasses(현재 <allowed>)에 없어요. 읽는 데이터의 원본을 신뢰하는 경우에만 spark.sql.udt.allowCreatingUDTFromString을 true로 설정하거나 클래스를 허용 목록에 추가하세요.
2203G UDT_CLASS_NOT_USER_DEFINED_TYPE 클래스 <udtClass>은(는) UserDefinedType의 하위 타입이 아니기 때문에 사용자 정의 타입으로 로드할 수 없어요.
22546 CANNOT_DECODE_URL 제공된 URL을 디코딩할 수 없어요: <url>. URL이 올바르게 형식화되었는지 확인하고 다시 시도해 주세요.
22546 HLL_INVALID_INPUT_SKETCH_BUFFER <function>에 대한 잘못된 호출이에요. 입력으로는 유효한 HLL 스케치 버퍼만 지원돼요(예: hll_sketch_agg 함수가 만든 것).
22546 HLL_INVALID_LG_K <function>에 대한 잘못된 호출이에요. lgConfigK 값은 <min>과(와) <max>(포함) 사이여야 해요: <value>.
22546 INVALID_BOOLEAN_STATEMENT 조건에는 boolean 문장이 예상되는데, <invalidStatement>이(가) 발견됐어요.
22KD1 UNRESOLVED_TABLE_PATH 테이블 <identifier>의 저장 경로를 해석할 수 없어요.
22KD3 AVRO_INCOMPATIBLE_READ_TYPE 원래 인코딩된 데이터 타입이 <avroType>이기 때문에 Avro <avroPath>을(를) SQL <sqlPath>(으)로 변환할 수 없어요. 그런데 이 필드를 <sqlType>(으)로 읽으려 하고 있어, 잘못된 결과를 초래할 수 있어요. 이 필드 읽기를 허용하려면 SQL 구성을 활성화하세요: "spark.sql.legacy.avro.allowIncompatibleSchema".
22KD3 AVRO_NOT_LOADED_SQL_FUNCTIONS_UNUSABLE Avro 데이터소스가 로드되지 않아 <functionName> SQL 함수를 호출할 수 없어요. 명령줄의 --packages 인자 사용처럼 'spark-avro' 패키지가 로드된 상태로 작업이나 세션을 다시 시작하고 쿼리나 명령을 다시 시도해 주세요.
22KD3 CANNOT_USE_KRYO Kryo 직렬화 코덱을 로드할 수 없어요. Spark Connect 클라이언트에서는 Kryo 직렬화를 사용할 수 없어요. Java 직렬화를 사용하거나, 사용자 정의 Codec을 제공하거나, Spark Classic을 사용하세요.
22KD3 PROTOBUF_NOT_LOADED_SQL_FUNCTIONS_UNUSABLE Protobuf 데이터소스가 로드되지 않아 <functionName> SQL 함수를 호출할 수 없어요. 명령줄의 --packages 인자 사용처럼 'spark-protobuf' 패키지가 로드된 상태로 작업이나 세션을 다시 시작하고 쿼리나 명령을 다시 시도해 주세요.
22P02 INVALID_URL URL이 잘못됐어요: <url>. 잘못된 URL을 허용하고 NULL을 반환하려면 try_parse_url을 사용하세요.
22P03 INVALID_BYTE_STRING 예상 형식은 ByteString인데, <unsupported>(<class>)이(가) 있었어요.
23001 CHECK_CONSTRAINT_VIOLATION CHECK 제약 <constraintName> <expression>이(가) 다음 값의 행에 의해 위반됐어요: <values>
23505 DUPLICATED_MAP_KEY 중복 map 키 <key>이(가) 발견됐어요. 입력 데이터를 확인해 주세요. 중복 키를 제거하려면 <mapKeyDedupPolicy>을(를) "LAST_WIN"으로 설정해 마지막에 삽입된 키가 우선하도록 할 수 있어요.
23505 DUPLICATE_KEY 중복 키 <keyColumn>을(를) 발견했어요.
23512 NEW_CHECK_CONSTRAINT_VIOLATION 새로운 check 제약(<expression>)을(를) 추가할 수 없는데, 테이블 <tableName>의 기존 데이터에 의해 위반되기 때문이에요. 추가하기 전에 모든 기존 행이 제약을 만족하는지 확인해 주세요.
23K01 MERGE_CARDINALITY_VIOLATION MERGE 문장의 ON 검색 조건이 대상 테이블의 단일 행을 소스 테이블의 여러 행과 매칭했어요. 이로 인해 대상 행이 update나 delete 연산으로 두 번 이상 처리될 수 있어 허용되지 않아요.
24501 CURSOR_NOT_OPEN 커서 <cursorName>이(가) 열려 있지 않아 커서에서 가져오거나 닫을 수 없어요.
24502 CURSOR_ALREADY_OPEN 커서 <cursorName>이(가) 이미 열려 있어 열 수 없어요.
2BP01 SCHEMA_NOT_EMPTY 스키마 <schemaName>에 객체가 포함되어 있어 삭제할 수 없어요. DROP SCHEMA ... CASCADE를 사용해 스키마와 그 모든 객체를 삭제하세요.
38000 CLASS_NOT_OVERRIDE_EXPECTED_METHOD <className>은(는) <method1> 또는 <method2>을(를) 재정의해야 해요.
38000 FAILED_FUNCTION_CALL 호출을 위한 함수 <funcName> 준비에 실패했어요. 함수의 인자를 다시 확인해 주세요.
38000 FAILED_TO_LOAD_ROUTINE 루틴 <routineName>을(를) 로드하지 못했어요.
38000 INVALID_UDF_IMPLEMENTATION 함수 <funcName>은(는) ScalarFunction 또는 AggregateFunction을 구현하지 않아요.
38000 NO_UDF_INTERFACE UDF 클래스 <className>은(는) 어떤 UDF 인터페이스도 구현하지 않아요.
38000 PYTHON_DATA_SOURCE_ERROR Python 데이터소스 <type>을(를) <action>하지 못했어요: <msg>
38000 PYTHON_EXCEPTION <msg>: <traceback>
38000 PYTHON_STREAMING_DATA_SOURCE_RUNTIME_ERROR Python 스트리밍 데이터소스가 <action>을(를) 수행할 때 실패했어요: <msg>
38000 TABLE_VALUED_FUNCTION_FAILED_TO_ANALYZE_IN_PYTHON Python 사용자 정의 테이블 함수를 분석하지 못했어요: <msg>
39000 FAILED_EXECUTE_UDF 사용자 정의 함수(<functionName>: (<signature>) => <result>)이(가) 다음 때문에 실패했어요: <reason>.
39000 FLATMAPGROUPSWITHSTATE_USER_FUNCTION_ERROR flatMapGroupsWithState에서 사용자 제공 함수에 오류가 발생했어요. 이유: <reason>
39000 FOREACH_BATCH_USER_FUNCTION_ERROR foreach 배치 싱크에서 사용자 제공 함수에 오류가 발생했어요. 이유: <reason>
39000 FOREACH_USER_FUNCTION_ERROR foreach 싱크에서 사용자 제공 함수에 오류가 발생했어요. 이유: <reason>
39000 TRANSFORM_WITH_STATE_USER_FUNCTION_ERROR StatefulProcessor의 사용자 정의 함수 <function>에서 오류가 발생했어요. 이유: <reason>.
3F000 MISSING_DATABASE_FOR_V1_SESSION_CATALOG v1 세션 카탈로그에 데이터베이스 이름이 지정되지 않았어요. v1 카탈로그와 상호작용할 때 유효한 데이터베이스 이름을 제공해 주세요.
40000 CONCURRENT_STREAM_LOG_UPDATE 로그에 대한 동시 업데이트. <batchId>에 대해 여러 스트리밍 작업이 감지됐어요. 특정 체크포인트 위치에서는 한 번에 하나의 스트리밍 작업만 실행되도록 확인해 주세요.
42000 AMBIGUOUS_REFERENCE_TO_FIELDS 필드 <field>에 대한 모호한 참조. 스키마에 <count>번 나타나요.
42000 APPEND_ONCE_FROM_BATCH_QUERY 배치 쿼리에서 스트리밍 테이블을 만들면 소스에서 새 데이터를 증분 로드할 수 없어요. 문제의 테이블: ''. stream() 연산자를 사용해 주세요. 예: CREATE STREAMING TABLE <대상 테이블 이름> ... AS SELECT ... FROM stream(<소스 테이블 이름>) ...
42000 ARROW_SCHEMA_FIELD_COUNT_MISMATCH Arrow 스키마 불일치: 인코더에 <encoderFieldCount>개 필드가 있지만 Arrow 데이터에는 <arrowColumnCount>개 컬럼만 있어요.
42000 ARROW_SCHEMA_FIELD_NAME_MISMATCH Arrow 스키마 불일치: 인코더 필드 ''이(가) 같은 위치의 Arrow 컬럼 ''과 일치하지 않아요.
42000 AUTOCDC_INVALID_STATE AutoCDC 흐름 <flowName>이(가) 잘못된 상태를 감지했어요:
AUXILIARY_TABLE_KEY_COLUMN_MISSING 보조 테이블 <auxTableName>에 그 <propertyName> 테이블 프로퍼티에 기록된 키 컬럼 <keyColumnName>이(가) 없어요. 보조 테이블 스키마가 손상되었거나 외부에서 수정됐을 수 있어요. 대상 테이블을 전체 새로고침(full refresh)해 보조 테이블을 다시 만드세요.
AUXILIARY_TABLE_PROPERTY_MALFORMED 보조 테이블 <auxTableName>에 원시 값 ''인 형식이 잘못된 <propertyName> 프로퍼티가 있어요. 프로퍼티는 문자열의 JSON 배열이어야 해요(예: '["id","region"]'). 보조 테이블 메타데이터가 손상되었거나 외부에서 수정됐을 수 있어요. 대상 테이블을 전체 새로고침해 보조 테이블을 다시 만드세요.
AUXILIARY_TABLE_PROPERTY_MISSING 보조 테이블 <auxTableName>에 필요한 <propertyName> 테이블 프로퍼티가 없어서 AutoCDC 키 컬럼을 검증할 수 없어요. 보조 테이블 메타데이터가 손상되었거나 외부에서 수정됐을 수 있어요. 대상 테이블을 전체 새로고침해 보조 테이블을 다시 만드세요.
KEY_SCHEMA_DRIFT AutoCDC 흐름의 현재 키 컬럼 <expectedKeySchema>이(가) 보조 테이블 <auxTableName>에 기록된 키(기록된 키 <recordedKeySchema>)와 일치하지 않아요. AutoCDC는 증분 파이프라인 실행에서 키 컬럼이나 그 타입의 변경을 지원하지 않아요. 키를 바꾸려면 대상 테이블을 전체 새로고침하세요.
42000 AUTOCDC_MULTIPLE_FLOWS_TO_TARGET 여러 흐름(<flows>)이 있는 잘못된 AutoCDC 대상 <tableName>이에요. AutoCDC 대상 테이블에는 정확히 하나의 흐름만 써야 해요.
42000 CANNOT_REMOVE_RESERVED_PROPERTY 예약된 프로퍼티를 제거할 수 없어요: <property>.
42000 CANNOT_UPDATE_PARTITION_COLUMNS 선언된 파티셔닝 <requestedPartitionColumns>이(가) 기존 테이블 파티셔닝 <existingPartitionColumns>과(와) 충돌해요. 테이블을 삭제하거나 선언된 파티셔닝을 그 파티션과 일치하도록 바꾸세요.
42000 CANNOT_USE_MULTI_ALIASES_IN_WATERMARK_CLAUSE watermark 절에서는 여러 별칭을 지원하지 않아요.
42000 CLUSTERING_NOT_SUPPORTED ''은(는) 클러스터링을 지원하지 않아요.
42000 INCOMPATIBLE_BATCH_VIEW_READ <datasetIdentifier>은(는) 배치 뷰이므로 SparkSession#read를 사용해 참조해야 해요. 이 검사는 Spark 구성 pipelines.incompatibleViewCheck.enabled = false를 설정해 비활성화할 수 있어요.
42000 INCOMPATIBLE_STREAMING_VIEW_READ <datasetIdentifier>은(는) 스트리밍 뷰이므로 SparkSession#readStream을 사용해 참조해야 해요. 이 검사는 Spark 구성 pipelines.incompatibleViewCheck.enabled = false를 설정해 비활성화할 수 있어요.
42000 INSERT_REPLACE_WHERE_TABLE_ALIAS_NOT_ALLOWED WHERE 조건이 대상 테이블에 대해 직접 평가되기 때문에 INSERT INTO ... REPLACE WHERE에서는 테이블 별칭이 허용되지 않아요. 별칭으로 대상 테이블을 참조해야 한다면 INSERT INTO ... REPLACE ON을 사용하세요.
42000 INVALID_COLUMN_OR_FIELD_DATA_TYPE 컬럼 또는 필드 <name>은(는) 타입 <type>인데 <expectedType>이어야 해요.
42000 INVALID_EXTRACT_BASE_FIELD_TYPE <base>에서 값을 추출할 수 없어요. 복합 타입 [STRUCT, ARRAY, MAP]이 필요하지만 <other>을(를) 받았어요.
42000 INVALID_EXTRACT_FIELD_TYPE 필드 이름은 non-null 문자열 리터럴이어야 하는데, <extraction>이에요.
42000 INVALID_FIELD_NAME 필드 이름 <fieldName>이(가) 잘못됐어요: <path>은(는) struct가 아니에요.
42000 INVALID_FLOW_QUERY_TYPE 흐름 <flowIdentifier>이(가) 잘못된 관계 타입을 반환해요.
42000 INVALID_FUNCTION_ARGUMENT_TYPE 함수 <functionName>의 인자 <arg>에 대해 잘못된 타입을 제공했어요.
42000 INVALID_GROUPING_ID grouping_id()에서 잘못된 값 <groupingId>을(를) 사용했어요.
42000 INVALID_HIVE_SPLIT_PATH Hive 스플릿 경로 <path>이(가) 잘못됐어요.
42000 INVALID_JSON_BASE JSON 베이스가 잘못됐어요: <base>.
42000 INVALID_JSON_FIELD JSON 필드 <fieldName>이(가) 잘못됐어요.
42000 INVALID_NUMERIC_SCALE <columnName>의 스케일 <scale>이(가) 잘못됐어요.
42000 INVALID_PANDAS_UDF_RETURN_TYPE pandas UDF의 반환 타입이 잘못됐어요.
42000 INVALID_SCHEMA 스키마가 잘못됐어요: <schema>.
42000 INVALID_STREAMING_SOURCE_OPTION 스트리밍 소스 옵션 <option>이(가) 잘못됐어요.
42000 INVALID_TABLE_SCHEMA 테이블 스키마가 잘못됐어요.
42000 MERGE_CONDITION_MUST_BE_BOOLEAN MERGE의 ON 조건은 Boolean이어야 해요.
42000 MISSING_AGGREGATION 집계가 필요해요.
42000 MISSING_COLUMN_ALIAS 컬럼 별칭이 필요해요.
42000 UNEXPECTED_TYPE 예상과 다른 타입이에요.
42000 UNSUPPORTED_EXPRESSION 지원되지 않는 표현식 <expr>.

더 알아보기 (Learn more)