JSON 타입 포맷 설정

JSON 타입 포맷 설정 (type_json format settings)

이 페이지는 JSON 데이터 타입과 관련된 자동 생성 설정을 다루는 문서예요. 중복 키·경로 처리, 타입 오류가 있는 필드나 NULL 값을 가진 타입 지정 경로를 건너뛸지 여부 등을 설정하는 항목입니다.

출처: 문서

본문

이 설정들은 source에서 자동 생성됩니다.

type_json_allow_duplicated_key_with_literal_and_nested_object

활성화하면 {"a" : 42, "a" : {"b" : 42}}처럼 어떤 키가 중복되지만 그중 하나가 중첩 객체인 JSON을 파싱할 수 있게 허용해요.

type_json_skip_duplicated_paths

활성화하면 JSON 객체를 JSON 타입으로 파싱할 때 중복된 경로는 무시되고, 예외 대신 첫 번째 값만 삽입돼요.

type_json_skip_invalid_typed_paths

활성화하면 타입 지정 경로가 있는 JSON 타입 열에서 선언된 타입으로 강제 변환할 수 없는 값이 있는 필드는 오류를 던지는 대신 건너뜁니다. 건너뛴 필드는 누락된 것으로 취급되며, 타입 지정 경로 정의에 따라 기본값/null 값을 사용하게 돼요. 이 설정은 특정 경로에 타입이 선언된 JSON 타입 열(예: JSON(a Int64, b String))에만 적용됩니다. 일반 JSONEachRow처럼 일반 타입 열에 삽입하는 일반 JSON 입력 포맷에는 적용되지 않아요. 가능한 값:

  • 0 — 비활성화(타입 불일치 시 오류 발생).
  • 1 — 활성화(타입 불일치 시 필드 건너뜀).

type_json_skip_null_typed_paths

활성화하면 JSON 열에서 NULL 값을 가진 타입 지정 경로를 동적 경로의 동작처럼 존재하지 않는 것으로 취급해요. 이는 JSON 직렬화 출력과 JSONAllPaths, JSONHas, JSONExtractRaw, has, empty/notEmpty 확인 같은 내부 분석 함수에 영향을 줍니다. 가능한 값:

  • 0 — 비활성화(NULL 값이 있어도 타입 지정 경로는 항상 존재).
  • 1 — 활성화(NULL 타입 지정 경로를 존재하지 않는 것으로 취급).

type_json_use_partial_match_to_skip_paths_by_regexp

활성화하면 SKIP REGEXP로 지정한 정규 표현식을 사용해 JSON 객체를 JSON 타입으로 파싱할 때, 경로를 건너뛰려면 부분 일치면 충분해요. 비활성화하면 전체 일치가 필요합니다.

더 알아보기 (Learn more)