自動リキッドクラスタリングがパブリックプレビューを開始したため機能を調べてみた

## はじめに

NTTデータ デジタルサクセスソリューション事業部の[@nttd-hirao](https://qiita.com/nttd-hirao)です。
Databricksのエバンジェリスト認定資格であるDatabricks Championとしても活動しています。
今回は2025/3/5にDatabricksで[自動リキッドクラスタリングがパブリックプレビューを開始](https://www.databricks.com/blog/announcing-automatic-liquid-clustering)したため、リキッドクラスタリングの機能を振り返りつつ、その概要と使い方を共有します。

## 自動リキッドクラスタリングとは

リキッドクラスタリング（Liquid Clustering）とは、テーブルのPartition分割やZORDERの代わりに使用できる、データレイアウトの決定を簡素化し、クエリのパフォーマンスを最適化する機能です。
Databricksではすべての新しいDeltaテーブルに対してリキッドクラスタリングを適用することを推奨しています。
テーブルに対して最大4つまでクラスタリングキーを指定できるため、その制約に問題がなければリキッドクラスタリング、そうでなければPrtition分割＋ZORDERを選択することになるかと思います。
また、最適なパフォーマンスを得るために、OPTIMIZEにより定期的にクラスタリングをトリガーする必要があります。
Databricksでは多くの更新、挿入が発生しているテーブルであれば1~2時間毎にOPTIMIZEジョブをスケジュールすることを推奨しています。
恩恵を受けるシナリオの例として[以下](https://docs.databricks.com/aws/ja/delta/clustering)があるとしています。

> - カーディナリティの高い列によってフィルタリングされることが多いテーブル
> - データの分散に大きな偏りがあるテーブル
> - 急速に増大し、メンテナンスとチューニングが必要となるテーブル
> - 並列書き込み要件のあるテーブル
> - 時間の経過と共に変化するアクセスパターンを持つテーブル
> - 一般的なパーティションキーでは、パーティションが多すぎたり少なすぎたりするテーブル

自動リキッドクラスタリングはその名の通り、リキッドクラスタリングを自動で行ってくれる機能で、Databricksがデータエンジニアの代わりに自動でクラスタリングキーを選択してクエリのパフォーマンスを最適化してくれます。
自動リキッドクラスタリングがどのような仕組みでデータレイアウトを最適化してくれるかは[こちら](https://www.databricks.com/blog/announcing-automatic-liquid-clustering)に記載されているため、興味のある方はご確認下さい。

## 自動リキッドクラスタリングの使い方

自動リキッドクラスタリングを利用するためには、まずAccountConsoleのSettings>Feature enablementからPredictive Optimizationを有効にします（デフォルトで有効になっているはずです）。
因みに、[Predictive Optimization（予測最適化）](https://docs.databricks.com/aws/ja/optimizations/predictive-optimization)を有効にすることで、Unity Catalogマネージドテーブルのメンテナンス操作を手動で管理する必要がなくなり、前述のOPTIMIZEやVACUUM、ANALYZEといった操作をDatabricksが自動的に実行してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4006895/1a929e9b-57d8-48aa-a96f-8d3377f6776d.png)

使い方は簡単で、Deltaテーブル作成時に`CLUSTER BY AUTO`と指定するだけです。

```SQL
CREATE OR REPLACE TABLE table_name CLUSTER BY AUTO;
```

既存のテーブルに対しては以下のように自動リキッドクラスタリングを有効にできます。既存テーブルに既に手動でキーが指定されていても問題ありません。

```SQL
ALTER TABLE table_name CLUSTER BY AUTO;
```

また、自動リキッドクラスタリングが有効になっているテーブルを変更して、手動でキーを指定することも可能です。

## まとめ

今回は2025/3/5にDatabricksで自動リキッドクラスタリングがパブリックプレビューを開始したため、リキッドクラスタリングの機能を振り返りつつ、その機能と使い方をまとめました。
自動リキッドクラスタリングを利用すれば適切なデータレイアウトを自動で維持してくれるため、データエンジニアの負担が下がります。それに加えて、クエリのパフォーマンスが最適化されるため、時間短縮、コスト削減にも繋がるため今後積極的に使っていきたいと感じました。

## 仲間募集

NTTデータ ソリューション事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>
クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer
</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>
データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist
</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>
DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata-career.jposting.net/u/job.phtml?job_code=804
</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。
https://nttdata-career.jposting.net/u/job.phtml?job_code=898
</details>

## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>
～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://www.nttdata.com/jp/ja/lineup/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。
</div></details>

<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>
～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://www.nttdata.com/jp/ja/lineup/tdf_am/
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。
</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>
データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://www.nttdata.com/jp/ja/lineup/informatica/
</div></details>

<details><summary>NTTデータとTableauについて </summary><div>
ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。
これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://www.nttdata.com/jp/ja/lineup/tableau/
</div></details>


<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。
Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。
導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。
https://www.nttdata.com/jp/ja/lineup/alteryx/
</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。
NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。
https://www.nttdata.com/jp/ja/lineup/datarobot/
</div></details>

<details><summary>NTTデータとDatabricksについて </summary><div>
NTTデータでは、Databricks Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Databricks」の導入・構築、および活用支援を開始しています。
NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Databricksは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。
https://www.nttdata.com/jp/ja/lineup/databricks/
</div></details>