Databricks上のテーブル列にコメントを入れる

これはなに?

Databricks上に作成したテーブルの列にコメントを入れる方法を調べたので備忘録。

コメントを入れる方法

ALTER TABLE コマンドを使うことでテーブルのメタデータにコメントを入れることができます。

構文

ALTER TABLE table_identifier CHANGE [COLUMN] col_name col_name data_type [COMMENT col_comment] [FIRST|AFTER colA_name]

ALTER TABLE-Azure Databricks | Microsoft Docs

検証

参考までに、実際にDatabricks上で試してみました。

1.検証用のテーブル作成

適当に検証用のテーブルをDatabricks上で作成します。

import pandas as pd
import numpy as np

# サンプルDFの作成
df = pd.DataFrame(np.arange(20).reshape(4, 5), columns=['col_0', 'col_1', 'col_2', 'col_3', 'col_4'])
date = ['2020-01-01','2020-01-15','2020-02-01','2020-02-15']
df.insert(0, 'date', date)
df['date'] = pd.to_datetime(df['date'])
df

# テーブルの作成
spark_df = spark.createDataFrame(df)
spark_df.write.saveAsTable("default.test_table00")

テーブルのメタデータとデータは以下のような感じです。
f:id:ykoomaru:20201118223220p:plain

f:id:ykoomaru:20201118222606p:plain

メタデータを参照すると値が全てNullになっていますね。

2.コメントの挿入&確認

先程作成したテーブルの列にコメントをALTER TABLE コマンドで入れます。

%sql
ALTER TABLE default.test_table00 CHANGE col_0 col_0 bigint COMMENT 'test comment'

メタデータを確認するとNullだったコメント欄にコマンドで指定した文言が入っているのが確認できます。

f:id:ykoomaru:20201118223230p:plain

最後に

Databricksを利用すると様々なデータをDatabricks上で扱うことになると思います。その際、各列にどんなデータが入っているのかわかりにくくなるため、列にコメントを入れておくと他の人が見てもわかりやすくなりますね。データカタログ的なものを外部で持つと陳腐化してしまうので、Databricks上で作れるのはすごく良い機能だと思いました。

Databricksの機能紹介は以下の記事を参照ください。
www.cloudnotes.tech