ClickHouse/docs/ja/operations/system-tables/mutations.md
2024-11-18 11:58:58 +09:00

5.2 KiB
Raw Blame History

slug
/ja/operations/system-tables/mutations

mutations

このテーブルには、MergeTreeテーブルのミューテーションとその進捗状況に関する情報が含まれています。各ミューテーションコマンドは単一の行で表されます。

カラム:

  • database (String) — ミューテーションが適用されたデータベースの名前。

  • table (String) — ミューテーションが適用されたテーブルの名前。

  • mutation_id (String) — ミューテーションのID。レプリケートされたテーブルの場合、これらのIDはClickHouse Keeperの<table_path_in_clickhouse_keeper>/mutations/ディレクトリ内のznode名に対応します。非レプリケートされたテーブルの場合、IDはテーブルのデータディレクトリ内のファイル名に対応します。

  • command (String) — ミューテーションコマンド文字列(ALTER TABLE [db.]tableの後のクエリ部分)。

  • create_time (DateTime) — ミューテーションコマンドが実行のために送信された日時。

  • block_numbers.partition_id (Array(String)) — レプリケートされたテーブルのミューテーションの場合、配列はパーティションのIDを含みます各パーティションに1つのレコード。非レプリケートされたテーブルのミューテーションの場合、配列は空です。

  • block_numbers.number (Array(Int64)) — レプリケートされたテーブルのミューテーションの場合、配列は各パーティションに1つのレコードを含み、そのミューテーションによって取得されたブロック番号を示しています。この番号より小さい番号を持つブロックを含むパーツのみがパーティションでミューテーションされます。

    非レプリケートされたテーブルでは、すべてのパーティションでブロック番号が単一のシーケンスを形成します。したがって、非レプリケートされたテーブルのミューテーションの場合、カラムはミューテーションによって取得された単一ブロック番号を持つ1つのレコードを含みます。

  • parts_to_do_names (Array(String)) — ミューテーションを完了するためにミューテートする必要のあるデータパーツの名前の配列。

  • parts_to_do (Int64) — ミューテーションを完了するためにミューテートが必要なデータパーツの数。

  • is_done (UInt8) — ミューテーションが完了しているかどうかのフラグ。可能な値:

    • ミューテーションが完了している場合は1
    • ミューテーションがまだ進行中の場合は0

:::note parts_to_do = 0であっても、レプリケートされたテーブルのミューテーションがまだ完了していない可能性があります。それは、新しいデータパーツを作成し、ミューテートが必要な長時間実行されているINSERTクエリのためです。 :::

いくつかのデータパーツのミューテートに問題があった場合、次のカラムに追加情報が含まれます:

  • latest_failed_part (String) — ミューテートできなかった最新のパーツの名前。

  • latest_fail_time (DateTime) — 最新のパーツミューテーションの失敗日時。

  • latest_fail_reason (String) — 最新のパーツミューテーション失敗を引き起こした例外メッセージ。

ミューテーションの監視

system.mutationsテーブルで進捗を追跡するには、次のようなクエリを使用します - これにはsystem.*テーブルの読み取り権限が必要です:

SELECT * FROM clusterAllReplicas('cluster_name', 'db', system.mutations)
WHERE is_done=0 AND table='tmp';

:::tip table='tmp'tmpを、ミューテーションを確認しているテーブルの名前に置き換えてください。 :::

関連情報