SYSTEM$CLASSIFY_SCHEMA

指定されたスキーマ内のテーブルをステージ分類します。オプションで、各テーブルのサンプルする行数を指定し、指定のスキーマに格納されたテーブルの各列に、推奨データ分類 システムタグ を割り当てます。

ストアドプロシージャの実行が完了したら、 データ分類を使用する に示すように、 SQL または Snowsight を使用してテーブルの分類を終了する必要があります。

構文

CALL SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <arg> )
Copy

引数

object_name

分類されるテーブルを含んでいるスキーマの名前。データベースとスキーマが現在のセッションで使用されていない場合は、名前を完全修飾する必要があります。

名前は、データベースに保存されているとおりに正確に指定する必要があります。名前に特殊文字、大文字小文字の区別、または空白スペースが含まれている場合は、名前を最初に二重引用符で囲み、次に一重引用符で囲む必要があります。

arg

分類プロセスがどのように動作するかを決定するための引数を指定します。次のいずれかを使用します。

NULL

Snowflakeは、指定されたオブジェクトの行数に基づいてデフォルトの構成を使用します。指定されたオブジェクトにあるどの列にもシステムタグは設定されません。

{}

空のリスト。これは機能的には NULL を指定するのと同様です。

{'sample_count': integer}

指定したオブジェクトにあるサンプルする行数を指定します。 1 から 10000 (各値を含む)までの任意の数。

{'auto_tag': true}

分類プロセスが完了したときに、指定されたオブジェクトの列に推奨分類システムタグを設定します。

この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。

{'sample_count': integer, 'auto_tag': true}

サンプルする行数を指定しながら指定されたオブジェクトを分類し、分類処理が完了したら指定されたオブジェクトの各列に推奨システムタグを設定します。

この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。

{'use_all_custom_classifiers': true}

Snowflakeはすべてのカスタム分類インスタンスを評価し、分類結果に基づいてカスタム分類インスタンスに関連付けられたタグを推奨します。

このオプションは、ストアドプロシージャを呼び出す使用中のロール(現在のロール、呼び出し元の権限)にアクセス可能なカスタム分類子を使用します。詳細については、 Understanding Caller's Rights and Owner's Rights Stored Procedures をご参照ください。

{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}

列に設定する推奨タグのソースとして評価する、カスタム分類インスタンスを指定します。

リストに複数のインスタンスを指定し、各インスタンスをコンマで区切ることができます。

戻り値

ストアドプロシージャは、以下の形式で JSON オブジェクトを返します。例:

{
  "failed": [
    {
      "message": "Insufficient privileges.",
      "table_name": "t4"
    }
  ],
  "succeeded": [
    {
      "table_name": "t1"
    },
    {
      "table_name": "t2"
    },
    {
      "table_name": "t3"
    }
  ]
}
Copy

条件:

failed

テーブルの分類がスケジュールされなかった理由を示すメッセージを指定します。

succeeded

データ分類のためにステージされた各テーブルを指定します。

使用上の注意

  • 指定されたスキーマ名には、最大1000個のテーブルオブジェクトを含めることができます。スキーマに1000個を超えるテーブルオブジェクトが含まれている場合、Snowflakeはエラーメッセージを返します。

  • グローバルに定義されたストアドプロシージャは、呼び出し元の権限を利用します。詳細については、 Understanding Caller's Rights and Owner's Rights Stored Procedures をご参照ください。

  • システムタグの代替値を適用する場合は、 ALTER TABLE ... MODIFY COLUMN ...SET TAG ステートメントを使用してタグ値を更新します。

  • 列から分類システムタグを設定解除するには、 ALTER TABLE ... MODIFY COLUMN ... UNSET TAG ステートメントを使用します。

スキーマ内のテーブルの分類をステージします。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', null);
Copy

スキーマ内のテーブルの分類をステージし、サンプルする行数を指定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000});
Copy

スキーマ内のテーブルの分類をステージし、列にシステムタグを設定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'auto_tag': true});
Copy

スキーマ内のテーブルの分類をステージし、サンプルする行数を指定し、テーブルの各列に推奨システムタグを設定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Copy