> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# input_format_* フォーマット設定

> input_format_* 生成グループ内の ClickHouse フォーマット設定。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

これらの設定は、[ソース](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h)から自動生成されています。

<div id="input_format_allow_errors_num">
  ## input\_format\_allow\_errors\_num
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

テキストフォーマット (CSV、TSV など) の読み込み時に許容されるエラーの最大数を設定します。

デフォルト値は 0 です。

必ず `input_format_allow_errors_ratio` と組み合わせて使用してください。

行の読み込み中にエラーが発生しても、エラーカウンターが `input_format_allow_errors_num` 未満であれば、ClickHouse はその行を無視して次の行へ進みます。

`input_format_allow_errors_num` と `input_format_allow_errors_ratio` の両方のしきい値を超えると、ClickHouse は例外をスローします。

<div id="input_format_allow_errors_ratio">
  ## input\_format\_allow\_errors\_ratio
</div>

<SettingsInfoBlock type="Float" default_value="0" />

テキストフォーマット (CSV、TSV など) の読み取り時に許容されるエラーの最大割合を設定します。
エラーの割合は、0 から 1 までの浮動小数点数で指定します。

デフォルト値は 0 です。

必ず `input_format_allow_errors_num` と組み合わせて使用してください。

行の読み取り中にエラーが発生しても、エラーカウンターが `input_format_allow_errors_ratio` 未満であれば、ClickHouse はその行を無視して次の行へ進みます。

`input_format_allow_errors_num` と `input_format_allow_errors_ratio` の両方を超えた場合、ClickHouse は例外をスローします。

<div id="input_format_allow_seeks">
  ## input\_format\_allow\_seeks
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

ORC、Parquet、Arrow の入力フォーマットの読み取り時に、seek (または範囲読み取り) を許可します。
有効にすると、かつ読み取り元がこれをサポートしている場合 (例: ローカルファイル、S3、範囲指定をサポートしサイズが既知の HTTP) 、
ClickHouse は必要なバイト範囲だけを読み取り、メモリ使用量を抑えることができます。
無効な場合、または読み取り元が seek をサポートしていない場合 (例: ファイルサイズが不明、または stream が seek できない場合) 、
一部のリーダーはファイル全体をメモリに読み込む動作にフォールバックすることがあります。
デフォルトで有効です。

<div id="input_format_arrow_allow_missing_columns">
  ## input\_format\_arrow\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "デフォルトで Arrow ファイル内の欠落カラムを許可"}]}]} />

Arrow 入力フォーマットの読み取り時に、欠落しているカラムを許可します

<div id="input_format_arrow_case_insensitive_column_matching">
  ## input\_format\_arrow\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ArrowカラムとCH columnsの照合時に、大文字と小文字を区別しません。

<div id="input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_arrow\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Arrowフォーマットのスキーマ推論時に、未対応の型のカラムをスキップします

<div id="input_format_arrow_use_native_reader">
  ## input\_format\_arrow\_use\_native\_reader
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Apache Arrow ライブラリベースのリーダーではなく、Arrow および ArrowStream フォーマットに ClickHouse ネイティブリーダーを使用するための新しい設定。"}]}]} />

Apache Arrow ライブラリベースのリーダーではなく、Arrow および ArrowStream フォーマットに ClickHouse ネイティブリーダーを使用します。

<div id="input_format_avro_allow_missing_fields">
  ## input\_format\_avro\_allow\_missing\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Avro/AvroConfluent フォーマットでは、フィールドがスキーマ内に見つからない場合、エラーではなくデフォルト値を使用します

<div id="input_format_avro_null_as_default">
  ## input\_format\_avro\_null\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Avro/AvroConfluent フォーマット: NULL かつ非 Nullable 列の場合、デフォルト値を挿入します

<div id="input_format_binary_decode_types_in_binary_format">
  ## input\_format\_binary\_decode\_types\_in\_binary\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "RowBinaryWithNamesAndTypes 入力フォーマットで型名をバイナリ形式で読み取れるようにする新しい設定を追加"}]}]} />

RowBinaryWithNamesAndTypes 入力フォーマットで、型名ではなくデータ型をバイナリ形式で読み取ります

<div id="input_format_binary_max_type_complexity">
  ## input\_format\_binary\_max\_type\_complexity
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1000"},{"label": "バイナリ型のデコード時における型ノードの最大数を制御する新しい設定を追加しました。悪意のある入力を防ぎます。"}]}]} />

バイナリ型のデコード時における型ノードの最大数 (深さではなく、総数) 。`Map(String, UInt32)` = 3 ノード。悪意のある入力を防ぎます。0 = 無制限。

<div id="input_format_binary_read_json_as_string">
  ## input\_format\_binary\_read\_json\_as\_string
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "RowBinary入力フォーマットで JSON 型の値を JSON 文字列として読み取るための新しい設定を追加"}]}]} />

RowBinary入力フォーマットで、[JSON](/docs/ja/reference/data-types/newjson) データ型の値を JSON [String](/docs/ja/reference/data-types/string) 値として読み取ります。

<div id="input_format_bson_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_bson\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

BSONフォーマットのスキーマ推論時に、未対応の型を持つフィールドをスキップします。

<div id="input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_capn\_proto\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CapnProtoフォーマットのスキーマ推論時に、サポートされていない型のカラムをスキップします

<div id="input_format_column_name_matching_mode">
  ## input\_format\_column\_name\_matching\_mode
</div>

<SettingsInfoBlock type="InputFormatColumnMatchingCaseSensitivity" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "auto"},{"label": "大文字・小文字の完全一致を必須とする代わりに、まず入力カラム名を大文字・小文字を区別して照合し、一致しない場合は大文字・小文字を区別しない照合にフォールバックします。"}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "新しい設定。"}]}]} />

さまざまなフォーマット (JSONEachRow、CSVWithNames、JSONColumns、BSONEachRow、RowBinaryWithNames など) でデータを取り込む際のカラム名の照合モードを定義します。
サポートされるモードは次のとおりです。

* match\_case: 大文字・小文字を区別して照合
  * ignore\_case: 大文字・小文字を区別せずに照合
  * auto: まず大文字・小文字を区別して照合を試み、失敗した場合は大文字・小文字を区別しない照合を試みます。

<div id="input_format_connection_handling">
  ## input\_format\_connection\_handling
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "接続が予期せず切断された場合でも、バッファ内に残っているデータをパースして処理できるようにする新しい設定"}]}]} />

このオプションを有効にすると、接続が予期せず切断された場合でも、バッファ内に残っているデータはエラーとして扱われず、パースおよび処理されます

<Note>
  このオプションを有効にすると、並列パースが無効になり、重複排除はできなくなります
</Note>

<div id="input_format_csv_allow_cr_end_of_line">
  ## input\_format\_csv\_allow\_cr\_end\_of\_line
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

これを true に設定すると、後続に何もない行末の \r が許可されます

<div id="input_format_csv_allow_variable_number_of_columns">
  ## input\_format\_csv\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CSV入力で余分なカラムを無視し (ファイルのカラム数が想定より多い場合) 、CSV入力で欠落しているフィールドはデフォルト値として扱います

<div id="input_format_csv_allow_whitespace_or_tab_as_delimiter">
  ## input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CSV文字列で、スペースおよびタブ(\t)をフィールド区切り文字として使用できるようにします

<div id="input_format_csv_arrays_as_nested_csv">
  ## input\_format\_csv\_arrays\_as\_nested\_csv
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CSV から Array を読み取る際、要素はネストされた CSV としてシリアライズされたうえで文字列に格納されているものとして扱います。例: "\[""Hello"", ""world"", ""42"""" TV""]"。配列を囲む角括弧は省略できます。

<div id="input_format_csv_deserialize_separate_columns_into_tuple">
  ## input\_format\_csv\_deserialize\_separate\_columns\_into\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "CSVフォーマットでのTupleの解釈方法が新たに追加されました。"}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "CSVフォーマットでのTupleの解釈方法が新たに追加されました。"}]}]} />

true に設定すると、CSVフォーマットで記述された個別のカラムを Tuple カラムにデシリアライズできます。

<div id="input_format_csv_detect_header">
  ## input\_format\_csv\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "デフォルトでCSVフォーマットのヘッダー（名前と型）を検出"}]}]} />

CSVフォーマットの名前と型を含むヘッダーを自動的に検出します

<div id="input_format_csv_empty_as_default">
  ## input\_format\_csv\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

CSV入力内の空のフィールドはデフォルト値として扱います。

<div id="input_format_csv_enum_as_number">
  ## input\_format\_csv\_enum\_as\_number
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CSVフォーマットで挿入される enum 値を enum インデックスとして扱います

<div id="input_format_csv_missing_nullable_as_empty_string">
  ## input\_format\_csv\_missing\_nullable\_as\_empty\_string
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "`Nullable(String)` の欠損値を、NULL ではなく空文字列として CSV から読み取るための新しい設定。"}]}]} />

CSV で `Nullable(String)` の欠損値をどのように読み取るかを制御します。欠損値とは、引用符で囲まれていない、カンマの間・前・後にある空の項目のことです。この設定を有効にすると、`input_format_csv_empty_as_default` の値にかかわらず、`Nullable(String)` の欠損値は NULL ではなく空の `String` として解釈されます。

<div id="input_format_csv_skip_first_lines">
  ## input\_format\_csv\_skip\_first\_lines
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

CSVフォーマットのデータ先頭で、指定した行数をスキップします

<div id="input_format_csv_skip_trailing_empty_lines">
  ## input\_format\_csv\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CSVフォーマットの末尾にある空行をスキップします

<div id="input_format_csv_trim_whitespaces">
  ## input\_format\_csv\_trim\_whitespaces
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

CSV文字列の先頭と末尾にあるスペースおよびタブ文字 (\t) を削除します

<div id="input_format_csv_try_infer_numbers_from_strings">
  ## input\_format\_csv\_try\_infer\_numbers\_from\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

有効にすると、スキーマ推論時に ClickHouse は文字列フィールドから数値を推論します。
CSV データに引用符で囲まれた UInt64 の数値が含まれている場合に役立ちます。

既定では無効です。

<div id="input_format_csv_try_infer_strings_from_quoted_tuples">
  ## input\_format\_csv\_try\_infer\_strings\_from\_quoted\_tuples
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "CSV フォーマットで Tuple を解釈する新しい方法が追加されました。"}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "CSV フォーマットで Tuple を解釈する新しい方法が追加されました。"}]}]} />

入力データ内の引用符で囲まれた Tuple を、String 型の値として解釈します。

<div id="input_format_csv_use_best_effort_in_schema_inference">
  ## input\_format\_csv\_use\_best\_effort\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

CSVフォーマットでのスキーマ推論に、いくつかの調整とヒューリスティックを使用します

<div id="input_format_csv_use_default_on_bad_values">
  ## input\_format\_csv\_use\_default\_on\_bad\_values
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

不正な値が原因でCSVフィールドのデシリアライゼーションに失敗した場合に、カラムにデフォルト値を設定できるようにします

<div id="input_format_custom_allow_variable_number_of_columns">
  ## input\_format\_custom\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CustomSeparated 入力で余分なカラム (ファイルのカラム数が想定より多い場合) を無視し、CustomSeparated 入力で不足しているフィールドはデフォルト値として扱います

<div id="input_format_custom_detect_header">
  ## input\_format\_custom\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "デフォルトで CustomSeparated フォーマットの名前と型を含むヘッダーを検出"}]}]} />

CustomSeparated フォーマットの名前と型を含むヘッダーを自動的に検出します

<div id="input_format_custom_skip_trailing_empty_lines">
  ## input\_format\_custom\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

CustomSeparated フォーマットの末尾にある空行をスキップします

<div id="input_format_defaults_for_omitted_fields">
  ## input\_format\_defaults\_for\_omitted\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.12"},{"label": "1"},{"label": "一部の入力フォーマットで、省略されたフィールドに対する複雑なデフォルト式の計算を有効にします。これは期待される動作であるためです"}]}]} />

`INSERT` クエリの実行時に、省略された入力カラムの値を、対応するカラムのデフォルト値に置き換えます。このオプションは、[JSONEachRow](/docs/ja/reference/formats/JSON/JSONEachRow) (およびその他の JSON フォーマット) 、[CSV](/docs/ja/reference/formats/CSV/CSV)、[TabSeparated](/docs/ja/reference/formats/TabSeparated/TabSeparated)、[TSKV](/docs/ja/reference/formats/TabSeparated/TSKV)、[Parquet](/docs/ja/reference/formats/Parquet/Parquet)、[Arrow](/docs/ja/reference/formats/Arrow/Arrow)、[Avro](/docs/ja/reference/formats/Avro/Avro)、[ORC](/docs/ja/reference/formats/ORC)、[Native](/docs/ja/reference/formats/Native) フォーマット、および `WithNames`/`WithNamesAndTypes` 接尾辞を持つフォーマットに適用されます。

<Note>
  このオプションを有効にすると、拡張テーブルのメタデータがサーバーからクライアントに送信されます。これにより、サーバーで追加の計算リソースが消費され、パフォーマンスが低下する可能性があります。
</Note>

設定可能な値:

* 0 — 無効。
* 1 — 有効。

<div id="input_format_force_null_for_omitted_fields">
  ## input\_format\_force\_null\_for\_omitted\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "必要に応じて省略されたフィールドの型のデフォルト値を無効にする"}]}]} />

省略されたフィールドを強制的に NULL 値で初期化します

<div id="input_format_geojson_unsupported_geometry_handling">
  ## input\_format\_geojson\_unsupported\_geometry\_handling
</div>

<SettingsInfoBlock type="GeoJSONUnsupportedGeometryHandling" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "throw"},{"label": "`Geometry` 型では表現できない GeoJSON のジオメトリ型（`GeometryCollection`、`MultiPoint`）の処理を制御する新しい設定"}]}]} />

`GeoJSON` 入力の読み込み時に、ClickHouse の `Geometry` 型で表現できない有効な `GeoJSON` のジオメトリ型 (`GeometryCollection` や `MultiPoint` など) を `geometry` カラムに格納する必要がある場合の動作を制御します。

設定可能な値:

* `'throw'` (デフォルト) — 例外をスローします。
* `'null'` — `geometry` カラムに `NULL` 値を挿入し、パースを続行します。

これは `geometry` カラムが materialized されている場合にのみ適用されます。要求された出力カラムでない場合、そのようなジオメトリは形式の妥当性のみ検証され、この処理はトリガーされません。

<div id="input_format_hive_text_allow_variable_number_of_columns">
  ## input\_format\_hive\_text\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Hive Text の入力時に余分なカラムを無視し（ファイルのカラム数が想定より多い場合）、Hive Text の入力時に欠落しているフィールドをデフォルト値として扱います。"}]}]} />

Hive Text の入力時に余分なカラムを無視し (ファイルのカラム数が想定より多い場合) 、Hive Text の入力時に欠落しているフィールドをデフォルト値として扱います

<div id="input_format_hive_text_collection_items_delimiter">
  ## input\_format\_hive\_text\_collection\_items\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Hive テキストファイルでのコレクション (array または map) の項目間の区切り文字

<div id="input_format_hive_text_fields_delimiter">
  ## input\_format\_hive\_text\_fields\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Hive テキストファイルにおけるフィールド間の区切り文字

<div id="input_format_hive_text_map_keys_delimiter">
  ## input\_format\_hive\_text\_map\_keys\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Hive テキストファイルにおける map のキーと値のペア間の区切り文字

<div id="input_format_import_nested_json">
  ## input\_format\_import\_nested\_json
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ネストされたオブジェクトを含む JSON データの挿入を有効または無効にします。

対応フォーマット:

* [JSONEachRow](/docs/ja/reference/formats/JSON/JSONEachRow)

設定可能な値:

* 0 — 無効。
* 1 — 有効。

関連項目:

* `JSONEachRow` フォーマットでの [Nested 構造の使用](/docs/ja/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects)。

<div id="input_format_ipv4_default_on_conversion_error">
  ## input\_format\_ipv4\_default\_on\_conversion\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

IPv4 のデシリアライゼーションでは、変換エラーが発生した場合、例外をスローする代わりにデフォルト値を使用します。

デフォルトでは無効です。

<div id="input_format_ipv6_default_on_conversion_error">
  ## input\_format\_ipv6\_default\_on\_conversion\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

IPv6 のデシリアライゼーションでは、変換エラー時に例外をスローする代わりに、デフォルト値が使用されます。

デフォルトでは無効です。

<div id="input_format_json_compact_allow_variable_number_of_columns">
  ## input\_format\_json\_compact\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

JSONCompact/JSONCompactEachRow 入力フォーマットの行で、カラム数が可変であることを許可します。
想定より多くのカラムを含む行では余分なカラムを無視し、不足しているカラムはデフォルト値として扱います。

デフォルトでは無効です。

<div id="input_format_json_defaults_for_missing_elements_in_named_tuple">
  ## input\_format\_json\_defaults\_for\_missing\_elements\_in\_named\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "デフォルトで、名前付きタプル の読み取り時に JSON オブジェクト内で欠落している要素を許可する"}]}]} />

名前付きタプル のパース時に、JSON オブジェクト内で欠落している要素にデフォルト値を挿入します。
この設定は、`input_format_json_named_tuples_as_objects` 設定が有効な場合にのみ機能します。

デフォルトで有効です。

<div id="input_format_json_empty_as_default">
  ## input\_format\_json\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "JSON 入力の空フィールドをデフォルト値として扱えるようにする新しい設定を追加しました。"}]}]} />

有効にすると、JSON 入力内の空フィールドをデフォルト値に置き換えます。複雑なデフォルト式を使用する場合は、`input_format_defaults_for_omitted_fields` も有効にする必要があります。

設定可能な値:

* 0 — 無効。
* 1 — 有効。

<div id="input_format_json_ignore_unknown_keys_in_named_tuple">
  ## input\_format\_json\_ignore\_unknown\_keys\_in\_named\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "JSON オブジェクトを名前付きタプルとしてパースする機能を改善"}]}]} />

名前付きタプル内の JSON オブジェクトで、不明なキーを無視します。

デフォルトで有効です。

<div id="input_format_json_ignore_unnecessary_fields">
  ## input\_format\_json\_ignore\_unnecessary\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "不要なフィールドは無視し、パースしません。これを有効にすると、無効な形式の JSON 文字列や重複したフィールドを含む JSON 文字列でも例外がスローされない場合があります"}]}]} />

不要なフィールドは無視し、パースしません。これを有効にすると、無効な形式の JSON 文字列や重複したフィールドを含む JSON 文字列でも例外がスローされない場合があります

<div id="input_format_json_infer_array_of_dynamic_from_array_of_different_types">
  ## input\_format\_json\_infer\_array\_of\_dynamic\_from\_array\_of\_different\_types
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "デフォルトで、値のデータ型が異なる JSON 配列に対して Array(Dynamic) を推論"}]}]} />

有効な場合、スキーマ推論時に、ClickHouse は値のデータ型が異なる JSON 配列に Array(Dynamic) 型を使用します。

例:

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type───────────┐
│ a    │ Array(Dynamic) │
└──────┴────────────────┘
```

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a    │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘
```

デフォルトで有効です。

<div id="input_format_json_infer_incomplete_types_as_strings">
  ## input\_format\_json\_infer\_incomplete\_types\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "デフォルトで、JSON フォーマットでのスキーマ推論時に不完全な型を String として推論できるようにしました"}]}]} />

スキーマ推論時に、データサンプル内で `Null`/`{}`/`[]` のみを含む JSON キーに対して String 型を使用できるようにします。
JSON フォーマットでは任意の値を String として読み取れるため、型が不明なキーに String 型を使うことで、スキーマ推論時に `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps` のようなエラーを回避できます。

例:

```sql theme={null}
SET input_format_json_infer_incomplete_types_as_strings = 1, input_format_json_try_infer_named_tuples_from_objects = 1;
DESCRIBE format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
SELECT * FROM format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
```

結果:

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Array(Nullable(Int64)), b Nullable(String), c Nullable(String), d Nullable(String), e Array(Nullable(String))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

┌─obj────────────────────────────┐
│ ([1,2,3],'hello',NULL,'{}',[]) │
└────────────────────────────────┘
```

デフォルトで有効です。

<div id="input_format_json_map_as_array_of_tuples">
  ## input\_format\_json\_map\_as\_array\_of\_tuples
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "0"},{"label": "新しい設定"}]}]} />

Map型のカラムを、タプルのJSON配列としてデシリアライズします。

デフォルトでは無効です。

<div id="input_format_json_max_depth">
  ## input\_format\_json\_max\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1000"},{"label": "以前のバージョンでは無制限でしたが、安全ではありませんでした。"}]}]} />

JSON 内のフィールドの最大深度です。これは厳密な上限ではないため、必ずしも正確に適用されるわけではありません。

<div id="input_format_json_named_tuples_as_objects">
  ## input\_format\_json\_named\_tuples\_as\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

名前付きタプルのカラムを JSON オブジェクトとしてパースします。

デフォルトで有効です。

<div id="input_format_json_read_arrays_as_strings">
  ## input\_format\_json\_read\_arrays\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "デフォルトで JSON フォーマット内の配列を文字列として読み取れるように変更"}]}]} />

JSON 入力フォーマットで、JSON 配列を文字列としてパースできるようにします。

例:

```sql theme={null}
SET input_format_json_read_arrays_as_strings = 1;
SELECT arr, toTypeName(arr), JSONExtractArrayRaw(arr)[3] from format(JSONEachRow, 'arr String', '{"arr" : [1, "Hello", [1,2,3]]}');
```

結果:

```
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String          │ [1,2,3]                                   │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘
```

デフォルトで有効です。

<div id="input_format_json_read_bools_as_numbers">
  ## input\_format\_json\_read\_bools\_as\_numbers
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

JSON入力フォーマットで、bool を数値としてパースできるようにします。

既定で有効です。

<div id="input_format_json_read_bools_as_strings">
  ## input\_format\_json\_read\_bools\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "デフォルトで JSON フォーマット内の bool 値を文字列として読み取れるようにする"}]}]} />

JSON 入力フォーマットで、bool 値を文字列としてパースすることを許可します。

デフォルトで有効です。

<div id="input_format_json_read_numbers_as_strings">
  ## input\_format\_json\_read\_numbers\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "デフォルトで、JSON フォーマットで数値を文字列として読み取れるようにしました"}]}]} />

JSON 入力フォーマットで、数値を文字列としてパースできるようにします。

デフォルトで有効です。

<div id="input_format_json_read_objects_as_strings">
  ## input\_format\_json\_read\_objects\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "オブジェクト型が実験段階である間、ネストされた JSON オブジェクトを文字列として読み取れるようにします"}]}]} />

JSON 入力フォーマット で JSON オブジェクトを文字列としてパースできるようにします。

例:

```sql theme={null}
SET input_format_json_read_objects_as_strings = 1;
CREATE TABLE test (id UInt64, obj String, date Date) ENGINE=Memory();
INSERT INTO test FORMAT JSONEachRow {"id" : 1, "obj" : {"a" : 1, "b" : "Hello"}, "date" : "2020-01-01"};
SELECT * FROM test;
```

結果:

```
┌─id─┬─obj──────────────────────┬───────date─┐
│  1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘
```

デフォルトで有効です。

<div id="input_format_json_throw_on_bad_escape_sequence">
  ## input\_format\_json\_throw\_on\_bad\_escape\_sequence
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "不正なエスケープシーケンスを含む JSON 文字列を保存できるようにします"}]}]} />

JSON入力フォーマットで、JSON文字列に不正なエスケープシーケンスが含まれている場合は例外を発生させます。無効にすると、不正なエスケープシーケンスはデータ内にそのまま残ります。

デフォルトで有効です。

<div id="input_format_json_try_infer_named_tuples_from_objects">
  ## input\_format\_json\_try\_infer\_named\_tuples\_from\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "デフォルトで JSON オブジェクトから named Tuple を推論します"}]}]} />

有効にすると、スキーマ推論時に ClickHouse は JSON オブジェクトから named Tuple を推論します。
生成される named Tuple には、サンプルデータ内の対応するすべての JSON オブジェクトに含まれる全要素が含まれます。

例:

```sql theme={null}
SET input_format_json_try_infer_named_tuples_from_objects = 1;
DESC format(JSONEachRow, '{"obj" : {"a" : 42, "b" : "Hello"}}, {"obj" : {"a" : 43, "c" : [1, 2, 3]}}, {"obj" : {"d" : {"e" : 42}}}')
```

結果:

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Nullable(Int64), b Nullable(String), c Array(Nullable(Int64)), d Tuple(e Nullable(Int64))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
```

デフォルトで有効です。

<div id="input_format_json_try_infer_numbers_from_strings">
  ## input\_format\_json\_try\_infer\_numbers\_from\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "0"},{"label": "パースエラーの可能性を避けるため、JSON フォーマットではデフォルトで文字列から数値を推論しません"}]}]} />

有効にすると、スキーマ推論時に ClickHouse は文字列フィールドから数値を推論しようとします。
これは、JSON データに引用符で囲まれた UInt64 の数値が含まれている場合に役立ちます。

デフォルトでは無効です。

<div id="input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects">
  ## input\_format\_json\_use\_string\_type\_for\_ambiguous\_paths\_in\_named\_tuples\_inference\_from\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "JSON オブジェクトから named tuple を推論する際、あいまいなパスに対して例外ではなく String 型を使用することを許可"}]}]} />

JSON オブジェクトから named tuple を推論する際、あいまいなパスでは例外の代わりに String 型を使用します

<div id="input_format_json_validate_types_from_metadata">
  ## input\_format\_json\_validate\_types\_from\_metadata
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

JSON/JSONCompact/JSONColumnsWithMetadata の入力フォーマットでは、この設定が 1 に設定されている場合、
入力データ内のメタデータに含まれる型が、テーブル内の対応するカラムの型と比較されます。

デフォルトで有効です。

<div id="input_format_max_block_size_bytes">
  ## input\_format\_max\_block\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "入力フォーマットによって作成されるブロックのバイトサイズを制限するための新しい設定"}]}]} />

入力フォーマットでデータをパースする際に生成されるブロックのサイズを、バイト単位で制限します。これは、ブロックが ClickHouse 側で生成される行ベースの入力フォーマットで使用されます。
0 は、バイト数の制限がないことを意味します。

<div id="input_format_max_block_wait_ms">
  ## input\_format\_max\_block\_wait\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "入力フォーマットでブロックが出力されるまでの最大待機時間をミリ秒単位で制限する新しい設定"}]}]} />

行ベースの入力フォーマットで、パース中にブロックを出力するまでの最大待機時間をミリ秒単位で制限します。0 は制限なしを意味します。

<Note>
  このオプションは、`input_format_connection_handling` が有効な場合にのみ機能します。値を設定すると、並列パースも無効になり、重複排除もできなくなります。
</Note>

<Note>
  ストリーミング挿入では、`min_insert_block_size_rows=0` と `min_insert_block_size_bytes=0` も設定する必要があります。そうしないと、パース済みのブロックがそれらの閾値に達するまで、ブロックをまとめる段階でメモリ内に蓄積され続け、適時に挿入されなくなる可能性があります。
</Note>

**例: Wikipedia の recent changes を ClickHouse にストリーミングする**

```bash theme={null}
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'

curl -sS --globoff -H 'Accept: application/json' --no-buffer \
  'https://stream.wikimedia.org/v2/stream/recentchange' \
  | clickhouse-client \
      --query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
      --input_format_max_block_wait_ms 1000 \
      --input_format_connection_handling 1 \
      --min_insert_block_size_rows 0 \
      --min_insert_block_size_bytes 0
```

<div id="input_format_max_bytes_to_read_for_schema_inference">
  ## input\_format\_max\_bytes\_to\_read\_for\_schema\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="33554432" />

自動スキーマ推論のために読み取るデータの最大バイト数。

<div id="input_format_max_rows_to_read_for_schema_inference">
  ## input\_format\_max\_rows\_to\_read\_for\_schema\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="25000" />

自動スキーマ推論のために読み取るデータの最大行数です。

<div id="input_format_msgpack_number_of_columns">
  ## input\_format\_msgpack\_number\_of\_columns
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

挿入される MsgPack データのカラム数です。データからの自動スキーマ推論に使用されます。

<div id="input_format_mysql_dump_map_column_names">
  ## input\_format\_mysql\_dump\_map\_column\_names
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

MySQL dump 内のテーブルのカラム名と ClickHouse テーブルのカラム名を照合します

<div id="input_format_mysql_dump_table_name">
  ## input\_format\_mysql\_dump\_table\_name
</div>

データの読み取り元となる MySQL dump 内のテーブル名

<div id="input_format_native_allow_types_conversion">
  ## input\_format\_native\_allow\_types\_conversion
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "Native入力フォーマットでの型変換を許可"}]}]} />

Native入力フォーマットでのデータ型変換を許可します

<div id="input_format_native_decode_types_in_binary_format">
  ## input\_format\_native\_decode\_types\_in\_binary\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Native 出力フォーマットで型名をバイナリ形式で読み取れるようにする新しい設定を追加"}]}]} />

Native入力フォーマット で、型名の代わりにデータ型をバイナリ形式で読み取ります

<div id="input_format_null_as_default">
  ## input\_format\_null\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "デフォルトで、入力フォーマットで `NULL` をデフォルト値として挿入できるようにする"}]}]} />

これらのフィールドのデータ型が [Nullable](/docs/ja/reference/data-types/nullable) でない場合に、[NULL](/docs/ja/reference/syntax#literals) フィールドを[デフォルト値](/docs/ja/reference/statements/create/table#default_values)で初期化するかどうかを切り替えます。
カラム型が Nullable でなく、この設定が無効な場合、`NULL` を挿入すると例外が発生します。カラム型が Nullable の場合は、この設定に関係なく、`NULL` 値はそのまま挿入されます。

この設定は、ほとんどの入力フォーマットに適用されます。

複雑なデフォルト式を使用する場合は、`input_format_defaults_for_omitted_fields` も有効にする必要があります。

設定可能な値:

* 0 — Nullable でないカラムに `NULL` を挿入すると例外が発生します。
* 1 — `NULL` フィールドはカラムのデフォルト値で初期化されます。

<div id="input_format_orc_allow_missing_columns">
  ## input\_format\_orc\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "デフォルトでORCファイル内の欠落カラムを許可"}]}]} />

ORC入力フォーマットの読み取り時に欠落カラムを許可します

<div id="input_format_orc_case_insensitive_column_matching">
  ## input\_format\_orc\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ORC カラムと CH カラムの照合時に、大文字と小文字を区別しません。

<div id="input_format_orc_dictionary_as_low_cardinality">
  ## input\_format\_orc\_dictionary\_as\_low\_cardinality
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "ORCファイルの読み取り時に、ORCで辞書エンコードされたカラムをLowCardinalityカラムとして扱います"}]}]} />

ORCファイルの読み取り時に、ORCで辞書エンコードされたカラムをLowCardinalityカラムとして扱います。

<div id="input_format_orc_filter_push_down">
  ## input\_format\_orc\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

ORCファイルの読み取り時に、ORCのメタデータ内のWHERE/PREWHERE式、min/max統計、または ブルームフィルタ に基づいて、ストライプ全体または行グループ全体をスキップします。

<div id="input_format_orc_reader_time_zone_name">
  ## input\_format\_orc\_reader\_time\_zone\_name
</div>

<SettingsInfoBlock type="String" default_value="GMT" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "GMT"},{"label": "ORC の行リーダーで使用するタイムゾーン名です。デフォルトのタイムゾーンは GMT です。"}]}]} />

ORC の行リーダーで使用するタイムゾーン名です。デフォルトのタイムゾーンは GMT です。

<div id="input_format_orc_row_batch_size">
  ## input\_format\_orc\_row\_batch\_size
</div>

<SettingsInfoBlock type="Int64" default_value="100000" />

ORCストライプを読み込む際のバッチサイズ。

<div id="input_format_orc_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_orc\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ORC フォーマットのスキーマ推論時に、サポートされていない型のカラムをスキップします

<div id="input_format_orc_use_fast_decoder">
  ## input\_format\_orc\_use\_fast\_decoder
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

より高速な ORC デコーダの実装を使用します。

<div id="input_format_parallel_parsing">
  ## input\_format\_parallel\_parsing
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

データフォーマットの順序を保持した並列パースを有効または無効にします。[TabSeparated (TSV)](/docs/ja/reference/formats/TabSeparated/TabSeparated)、[TSKV](/docs/ja/reference/formats/TabSeparated/TSKV)、[CSV](/docs/ja/reference/formats/CSV/CSV)、[JSONEachRow](/docs/ja/reference/formats/JSON/JSONEachRow) フォーマットでのみサポートされます。

設定可能な値:

* 1 — 有効。
* 0 — 無効。

<div id="input_format_parquet_allow_geoparquet_parser">
  ## input\_format\_parquet\_allow\_geoparquet\_parser
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Parquetファイルでgeoカラムを使用するための新しい設定"}]}]} />

geoカラムパーサーを使用して、Array(UInt8) を Point/Linestring/Polygon/MultiLineString/MultiPolygon 型に変換します

<div id="input_format_parquet_allow_missing_columns">
  ## input\_format\_parquet\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "デフォルトで Parquet ファイルの欠落したカラムを許可"}]}]} />

Parquet 入力フォーマットの読み取り時に欠落したカラムを許可します

<div id="input_format_parquet_bloom_filter_push_down">
  ## input\_format\_parquet\_bloom\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Parquetファイルの読み取り時に、Parquet メタデータ内の WHERE\/PREWHERE 式と ブルームフィルタ に基づいて、行グループ全体をスキップします。"}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Parquetファイルの読み取り時に、Parquet メタデータ内の WHERE\/PREWHERE 式と ブルームフィルタ に基づいて、行グループ全体をスキップします。"}]}]} />

Parquetファイルの読み取り時に、Parquet メタデータ内の WHERE 式と ブルームフィルタ に基づいて、行グループ全体をスキップします。

<div id="input_format_parquet_case_insensitive_column_matching">
  ## input\_format\_parquet\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Parquet のカラムを CH のカラムと照合する際に、大文字と小文字を区別しません。

<div id="input_format_parquet_enable_json_parsing">
  ## input\_format\_parquet\_enable\_json\_parsing
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "1"},{"label": "Parquet ファイルを読み取る際、JSON カラムを ClickHouse の JSON カラムとしてパースします。"}]}]} />

Parquet ファイルを読み取る際、JSON カラムを ClickHouse の JSON カラムとしてパースします。

<div id="input_format_parquet_enable_row_group_prefetch">
  ## input\_format\_parquet\_enable\_row\_group\_prefetch
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Parquet のパース時に行グループのプリフェッチを有効にします。現在、プリフェッチに対応しているのはシングルスレッドのパースのみです。"}]}]} />

Parquet のパース時に行グループのプリフェッチを有効にします。現在、プリフェッチに対応しているのはシングルスレッドのパースのみです。

<div id="input_format_parquet_filter_push_down">
  ## input\_format\_parquet\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Parquetファイルの読み込み時に、Parquetメタデータ内のWHERE/PREWHERE式と最小値/最大値の統計情報に基づいて、行グループ全体をスキップします。

<div id="input_format_parquet_local_file_min_bytes_for_seek">
  ## input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek
</div>

<SettingsInfoBlock type="UInt64" default_value="8192" />

Parquet入力フォーマットで、読み飛ばしながら読み取る代わりにseekを行うために必要な、ローカル読み取り (file) の最小バイト数

<div id="input_format_parquet_local_time_as_utc">
  ## input\_format\_parquet\_local\_time\_as\_utc
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Parquet の 'local time without timezone' 型に対して、より適切な型 DateTime64(..., 'UTC') を使用します。"}]}]} />

isAdjustedToUTC=false の Parquet timestamp に対して、スキーマ推論で使用するデータ型を決定します。true の場合は DateTime64(..., 'UTC')、false の場合は DateTime64(...) です。ClickHouse にはローカルの wall-clock time を表すデータ型がないため、どちらの動作も完全に正しいわけではありません。直感に反しますが、おそらく 'true' のほうがまだ誤りの少ない選択肢です。これは、'UTC' timestamp を String としてフォーマットすると、正しいローカル時刻の表現になるためです。

<div id="input_format_parquet_max_block_size">
  ## input\_format\_parquet\_max\_block\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="65409" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "65409"},{"label": "Parquet リーダーのブロックサイズを増やしました。"}]}]} />

Parquet リーダーの最大ブロックサイズです。

<div id="input_format_parquet_memory_high_watermark">
  ## input\_format\_parquet\_memory\_high\_watermark
</div>

<SettingsInfoBlock type="UInt64" default_value="4294967296" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "4294967296"},{"label": "新しい設定"}]}]} />

Parquet リーダー v3 のおおよそのメモリ制限です。並列に読み取ることができる行グループまたはカラムの数を制限します。1 つのクエリで複数のファイルを読み取る場合、この制限はそれらのファイル全体での総メモリ使用量に適用されます。

<div id="input_format_parquet_memory_low_watermark">
  ## input\_format\_parquet\_memory\_low\_watermark
</div>

<SettingsInfoBlock type="UInt64" default_value="2097152" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "2097152"},{"label": "新しい設定"}]}]} />

メモリ使用量がしきい値を下回っている場合、より積極的にプリフェッチをスケジュールします。ネットワーク越しに読み取る小さなブルームフィルタが多数ある場合などに役立つ可能性があります。

<div id="input_format_parquet_page_filter_push_down">
  ## input\_format\_parquet\_page\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "新しい設定（input_format_parquet_use_native_reader_v3 が無効な場合は効果なし）"}]}]} />

カラム索引の最小値/最大値を使用してページをスキップします。

<div id="input_format_parquet_prefer_block_bytes">
  ## input\_format\_parquet\_prefer\_block\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="16744704" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "16744704"},{"label": "Parquet リーダーが出力する平均ブロックサイズ（バイト）。"}]}]} />

Parquet リーダーが出力する平均ブロックサイズ (バイト)

<div id="input_format_parquet_preserve_order">
  ## input\_format\_parquet\_preserve\_order
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "0"},{"label": "Parquet リーダーが、より高い並列度を得るために行を並べ替えられるようにします。"}]}]} />

Parquet ファイルの読み取り時に行を並べ替えないようにします。通常、行順は保証されず、クエリパイプラインの他の部分で順序が崩れる可能性もあるため、推奨されません。代わりに `ORDER BY _row_number` を使用してください。

<div id="input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_parquet\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Parquetフォーマットのスキーマ推論時に、サポートされていない型のカラムをスキップします

<div id="input_format_parquet_use_offset_index">
  ## input\_format\_parquet\_use\_offset\_index
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "新しい設定（input_format_parquet_use_native_reader_v3 が無効な場合は効果がありません）"}]}]} />

ページフィルタリングを使用しない場合のParquetファイルからのページ読み取り方法に関する軽微な調整。

<div id="input_format_parquet_verify_checksums">
  ## input\_format\_parquet\_verify\_checksums
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "新しい設定"}]}]} />

Parquetファイルの読み取り時にページのチェックサムを検証します。

<div id="input_format_protobuf_flatten_google_wrappers">
  ## input\_format\_protobuf\_flatten\_google\_wrappers
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

通常の非ネスト カラムに対して Google wrapper を有効にします。たとえば、String カラム 'str' に対する google.protobuf.StringValue 'str' です。Nullable カラムでは、空の wrapper はデフォルト値として認識され、存在しないものは null として認識されます

<div id="input_format_protobuf_oneof_presence">
  ## input\_format\_protobuf\_oneof\_presence
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "新しい設定"}]}]} />

特別な列に enum 値を設定して、protobuf の oneof でどのフィールドが見つかったかを示します

<div id="input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_protobuf\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Protobufフォーマットのスキーマ推論時に、サポートされていない型のフィールドをスキップします

<div id="input_format_record_errors_file_path">
  ## input\_format\_record\_errors\_file\_path
</div>

テキストフォーマット (CSV、TSV) の読み取り中に発生したエラーを記録するために使用するファイルのパス。

<div id="input_format_skip_unknown_fields">
  ## input\_format\_skip\_unknown\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "一部の入力フォーマットでカラムのサブセットの読み取りを最適化"}]}]} />

余分なデータの挿入をスキップする機能を有効または無効にします。

データの書き込み時に、入力データにターゲットテーブルに存在しないカラムが含まれている場合、ClickHouse は例外をスローします。スキップを有効にすると、ClickHouse は余分なデータを挿入せず、例外もスローしません。

対応フォーマット:

* [JSONEachRow](/docs/ja/reference/formats/JSON/JSONEachRow) (およびその他の JSON フォーマット)
* [BSONEachRow](/docs/ja/reference/formats/BSONEachRow) (およびその他の JSON フォーマット)
* [TSKV](/docs/ja/reference/formats/TabSeparated/TSKV)
* WithNames/WithNamesAndTypes の接尾辞を持つすべてのフォーマット
* [MySQLDump](/docs/ja/reference/formats/MySQLDump)
* [Native](/docs/ja/reference/formats/Native)

設定可能な値:

* 0 — 無効。
* 1 — 有効。

<div id="input_format_try_infer_dates">
  ## input\_format\_try\_infer\_dates
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

有効にすると、ClickHouse はテキストフォーマットのスキーマ推論で、文字列フィールドから型 `Date` を推論しようとします。入力データ内のあるカラムのすべてのフィールドが日付として正常に解析された場合、結果の型は `Date` になります。少なくとも 1 つのフィールドが日付として解析されなかった場合、結果の型は `String` になります。

デフォルトで有効です。

<div id="input_format_try_infer_datetimes">
  ## input\_format\_try\_infer\_datetimes
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

有効な場合、ClickHouse はテキストフォーマットのスキーマ推論で、文字列フィールドから `DateTime64` 型を推論しようとします。入力データ内のあるカラムのすべてのフィールドを日時として正常に解析できた場合、結果の型は `DateTime64` になります。1 つでも日時として解析できないフィールドがある場合、結果の型は `String` になります。

デフォルトで有効です。

<div id="input_format_try_infer_datetimes_only_datetime64">
  ## input\_format\_try\_infer\_datetimes\_only\_datetime64
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "データフォーマットで DateTime64 ではなく DateTime を推論できるようにします"}]}]} />

input\_format\_try\_infer\_datetimes が有効な場合、DateTime 型は推論せず、DateTime64 のみを推論します

<div id="input_format_try_infer_exponent_floats">
  ## input\_format\_try\_infer\_exponent\_floats
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "デフォルトでは指数表記の浮動小数点数を推論しない"}]}]} />

テキストフォーマットでスキーマ推論を行う際に、指数表記の浮動小数点数も推論するよう試みます (JSON を除く。JSON では指数表記の数値は常に推論されます)

<div id="input_format_try_infer_integers">
  ## input\_format\_try\_infer\_integers
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

有効な場合、ClickHouse はテキストフォーマットのスキーマ推論で、浮動小数点数ではなく整数として推論を試みます。入力データのそのカラム内の数値がすべて整数であれば、結果の型は `Int64` になります。少なくとも 1 つが浮動小数点数であれば、結果の型は `Float64` になります。

デフォルトで有効です。

<div id="input_format_try_infer_variants">
  ## input\_format\_try\_infer\_variants
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "カラム/Array の要素に複数の型候補がある場合、テキストフォーマットのスキーマ推論で Variant 型の推論を試みます"}]}]} />

有効にすると、ClickHouse は、カラム/Array の要素に複数の型候補がある場合、テキストフォーマットのスキーマ推論で [`Variant`](/docs/ja/reference/data-types/variant) 型の推論を試みます。

設定可能な値:

* 0 — 無効。
* 1 — 有効。

<div id="input_format_tsv_allow_variable_number_of_columns">
  ## input\_format\_tsv\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

TSV入力で余分なカラム (ファイルのカラム数が想定より多い場合) を無視し、欠落しているフィールドはデフォルト値として扱います

<div id="input_format_tsv_crlf_end_of_line">
  ## input\_format\_tsv\_crlf\_end\_of\_line
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "TSV フォーマットで CRLF の行末を読み取れるようにします"}]}]} />

true に設定すると、file 関数は \n ではなく \r\n を行末とする TSV フォーマットを読み取ります。

<div id="input_format_tsv_detect_header">
  ## input\_format\_tsv\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "デフォルトでTSVフォーマットの名前と型を含むヘッダーを検出"}]}]} />

TSVフォーマットの名前と型を含むヘッダーを自動的に検出します

<div id="input_format_tsv_empty_as_default">
  ## input\_format\_tsv\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

TSV入力内の空のフィールドをデフォルト値として扱います。

<div id="input_format_tsv_enum_as_number">
  ## input\_format\_tsv\_enum\_as\_number
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

TSVフォーマットで挿入されるenum値を、enumのインデックスとして扱います。

<div id="input_format_tsv_skip_first_lines">
  ## input\_format\_tsv\_skip\_first\_lines
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

TSVフォーマットのデータ先頭で、指定した行数をスキップします

<div id="input_format_tsv_skip_trailing_empty_lines">
  ## input\_format\_tsv\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

TSVフォーマットの末尾にある空行をスキップします

<div id="input_format_tsv_use_best_effort_in_schema_inference">
  ## input\_format\_tsv\_use\_best\_effort\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

TSVフォーマットでのスキーマ推論に、いくつかの調整とヒューリスティックを使用します

<div id="input_format_values_accurate_types_of_literals">
  ## input\_format\_values\_accurate\_types\_of\_literals
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Values フォーマットの場合: テンプレートを使用して式をパースおよび解釈する際は、オーバーフローや精度の問題を回避するため、リテラルの実際の型を確認します。

<div id="input_format_values_deduce_templates_of_expressions">
  ## input\_format\_values\_deduce\_templates\_of\_expressions
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Values フォーマットでは、フィールドをストリーミングパーサーでパースできない場合、SQL パーサーを実行して SQL 式のテンプレートを推定し、そのテンプレートを使ってすべての行のパースを試みたうえで、すべての行について式を解釈します。

<div id="input_format_values_interpret_expressions">
  ## input\_format\_values\_interpret\_expressions
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Valuesフォーマットでは、フィールドをストリーミングパーサーで解析できない場合、SQLパーサーを実行し、SQL式として解釈を試みます。

<div id="input_format_with_names_use_header">
  ## input\_format\_with\_names\_use\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.5"},{"label": "1"},{"label": "WithNames/WithNamesAndTypes 接尾辞を持つフォーマットで、名前付きヘッダーの使用を有効にする"}]}]} />

データ挿入時に、カラムの順序をチェックするかどうかを有効または無効にします。

insert のパフォーマンスを向上させるには、入力データのカラム順序がターゲットテーブルと同じであることが確実な場合、このチェックを無効にすることを推奨します。

対応フォーマット:

* [CSVWithNames](/docs/ja/reference/formats/CSV/CSVWithNames)
* [CSVWithNamesAndTypes](/docs/ja/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNames](/docs/ja/reference/formats/TabSeparated/TabSeparatedWithNames)
* [TabSeparatedWithNamesAndTypes](/docs/ja/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNames](/docs/ja/reference/formats/JSON/JSONCompactEachRowWithNames)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ja/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNames](/docs/ja/reference/formats/JSON/JSONCompactStringsEachRowWithNames)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ja/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNames](/docs/ja/reference/formats/RowBinary/RowBinaryWithNames)
* [RowBinaryWithNamesAndTypes](/docs/ja/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNames](/docs/ja/reference/formats/CustomSeparated/CustomSeparatedWithNames)
* [CustomSeparatedWithNamesAndTypes](/docs/ja/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

設定可能な値:

* 0 — 無効。
* 1 — 有効。

<div id="input_format_with_types_use_header">
  ## input\_format\_with\_types\_use\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

フォーマットパーサーが、入力データのデータ型とターゲットテーブルのデータ型が一致しているかどうかを確認するかを制御します。

対応フォーマット:

* [CSVWithNamesAndTypes](/docs/ja/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNamesAndTypes](/docs/ja/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ja/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ja/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNamesAndTypes](/docs/ja/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNamesAndTypes](/docs/ja/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

設定可能な値:

* 0 — 無効。
* 1 — 有効。
