カスタム メタデータを使用してテーブルを強化する

Databricks では、テーブル内のテーブルと列のコメントを常に作成することをお勧めします。 これらのコメントは AI を使用して生成できます。 「AI が生成したコメントを Unity Catalog オブジェクトに追加する」を参照してください。

Unity カタログには、データにタグを付ける機能もあります。 「Unity Catalog のセキュリティ保護可能なオブジェクトにタグを適用する」をご覧ください。

トランザクション ログのフィールド内のテーブルに対する個々のコミットのメッセージをログに記録します。

ユーザー定義のコミット メタデータを設定する

DataFrameWriter オプション userMetadataを使用して、コミットのメタデータとしてユーザー定義文字列を指定します。 このオプションは、 append や overwriteなど、任意の書き込みモードで使用できます。 このユーザー定義メタデータは、DESCRIBE HISTORY 操作で読み取りが可能です。 詳細については、 テーブル履歴スキーマおよび運用メトリクスをご覧ください。

SQL

デルタ テーブルの場合:

SET spark.databricks.delta.commitInfo.userMetadata=overwrite-comment
INSERT OVERWRITE target_table SELECT * FROM data_source

Iceberg テーブルの場合:

SET spark.databricks.iceberg.commitInfo.userMetadata=overwrite-comment
INSERT OVERWRITE target_table SELECT * FROM data_source

Python

df.write \
  .mode("overwrite") \
  .option("userMetadata", "overwrite-comment") \
  .saveAsTable("target_table")

df.write \
  .mode("append") \
  .option("userMetadata", "append-comment") \
  .saveAsTable("target_table")

userMetadata は、 overwrite や appendなど、任意の書き込みモードで動作します。

Scala

df.write
  .mode("overwrite")
  .option("userMetadata", "overwrite-comment")
  .saveAsTable("target_table")

df.write
  .mode("append")
  .option("userMetadata", "append-comment")
  .saveAsTable("target_table")

userMetadata は、 overwrite や appendなど、任意の書き込みモードで動作します。

コンピューティングの種類に関する注意事項

クラシック コンピューティングでは、SparkSession 構成キー spark.databricks.delta.commitInfo.userMetadata (Delta) または spark.databricks.iceberg.commitInfo.userMetadata (Iceberg) を使用して、ユーザー定義のコミット メタデータを指定することもできます。 DataFrameWriter オプション userMetadata と SparkSession 構成の両方が指定されている場合は、DataFrameWriter オプションが優先されます。

サーバーレス コンピューティングでは、DataFrameWriter オプション userMetadata 直接使用します。 コミット メタデータの SparkSession 構成キーは、サーバーレス コンピューティングではサポートされていません。