DatabricksワークフローはDatabricksデータインテリジェンスプラットフォームの土台であり、世界中の数千の組織の重要なデータとAIのワークロードを動かすオーケストレーションエンジンとして機能します。これを認識して、Databricksは現代のデータエンジニアリングとAIプロジェクトの進化するニーズを満たすために、ワークフローの進化に投資を続けています。
この夏、私たちはこれまでで最大のData + AI Summitを開催し、Databricksワークフローにいくつかの画期的な機能と強化を発表しました。Data + AI Summitで発表された最近のアップデートには、新たなデータ駆動型トリガー、AI支援のワークフロー作成、強化されたSQL統合などが含まれており、これらはすべて信頼性、スケーラビリティ、使いやすさの向上を目指しています。また、自動管理のためのIaC(インフラストラクチャ・アズ・コード)ツールであるPyDABsやTerraform、そしてワークフローのサーバーレスコンピューティングの一般提供を導入し、シームレスでスケーラブルなオーケストレーションを確保しました。さらに先を見ると、2024年には、制御フローオプションの拡大、高度なトリガーメカニズム、そしてワークフローの進化をLakeFlow Jobsへと進化させ、新たな統合LakeFlowソリューションの一部とするなど、さらなる進歩が見込まれます。
このブログでは、これらの発表を再訪し、ワークフローの次のステップを探り、これらの機能を今日から活用する方法をご案内します。
Databricksワークフローの最新の改善点
過去1年間でDatabricksワークフローは大きく変わり、オーケストレーション能力を向上させるために70以上の新機能が導入されました。以下に主なハイライトをいくつか紹介します:
データ駆動型トリガー:必要なときの精度
- テーブルとファイルの到着トリガー:伝統的な時間ベースのスケジューリングだけでは、データの新鮮さを保ちながら不必要な実行を減らすことはできません。データ駆動型のトリガーにより、新しいデータが利用可能になった正確なタイミングでジョブが開始されます。テーブルが更新されたか(プレビュー中)または新しいファイルが到着したか(一般提供)を確認し、必要なときにコンピューティングとワークロードを起動します。これにより、必要なときだけリソースを消費し、コスト、パフォーマンス、データの新鮮さを最適化します。特にファイル到着トリガーについては、ワークフローが監視できるファイルの数についての以前の制限も解消しました。
- 定期的なトリガー:定期的なトリガーを使用すると、cronスケジュールを気にすることなく、週次や日次などの定期的な間隔でジョブを実行することができます。
AI支援のワークフロー作成:すべてのステップでのインテリジェンス
- AIによるcron構文生成:ジョブのスケジューリングは、特に複雑なcron構文が関与するとき、困難に感じることがあります。Databricks Assistantは、プレーンな言語入力に基づいて正しいcron構文を提案することで、このプロセスを簡素化し、すべてのレベルのユーザーにアクセス可能にします。
- デバッグ用の統合AIアシスタント:Databricks Assistantは現在、Workflows内で直接使用することが できます(プレビュー)。ジョブ実行中にエラーが発生した際にオンラインでヘルプを提供します。ノートブックの失敗やタスクの設定ミスなどの問題に遭遇した場合、Databricks Assistantは具体的で実行可能なアドバイスを提供し、問題の迅速な特定と修正を支援します。
スケールでのワークフロー管理
- ジョブあたり1,000タスク:データワークフローが複雑化するにつれて、スケールするオーケストレーションが必要となります。Databricksワークフローは現在、1つのジョブ内で最大1,000タスクをサポートし、最も複雑なデータパイプラインのオーケストレーションを可能にします。
- お気に入りのジョブとタグでフィルタリング:ワークフロー管理を効率化するために、ユーザーは現在、お気に入りとジョブに適用されたタグでジョブをフィルタリングすることができます。これにより、例えば「Financial analysts」とタグ付けされたチームのジョブなど、必要なジョブをすぐに見つけることが容易になります。
- タスク値の選択が簡単に:UIにはタスク値の自動補完が強化され、手動での入力エラーなしにタスク間で情報を渡すことが容易になりました。
- 説明:説明はワークフローの文書化を向上させ、チームがジョブを迅速に理解し、デバッグできるようにします。
- 改善されたクラスターのデフォルト設定:インタラクティブな開発からスケジュール実行への移行時の互換性を高め、コストを削減するために、ジョブクラスターのデフォルト設定を改善しました。
運用効率:パフォーマンスとコストの最適化
- コストとパフォーマンスの最適化:ワークフロー内の新しいタイムラインビューとクエリインサイトは、ジョブのパフォーマンスに関する詳細な情報を提供し、ボトルネックを特定し、スピードとコスト効率の両方でワークフローを最適化することができます。
- コスト追跡:ワークフローのコスト影響を理解することは、予算管理とリソース利用の最適化にとって重要です。ワークフローのシステムテーブルの導入により、各ジョブに関連するコストを時間経過で追跡し、トレンドを分析し、コスト節約の機会を特定することができるようになりました。また、システムテーブルの上にダッシュボードを構築し、ワークスペースにインポートして簡単にカスタマイズできます。それらは、「先月最もコストがかかったジョブは何ですか?」「どのチームが予算を超過する見込みですか?」などの質問に答えるのに役立ちます。また、それらに対して予算とアラートを設定することもできます。
強化されたSQL統合:SQLユーザーにより多くのパワー
- SQLのタスク値:SQLの専門家は、一つのSQLタスクの結果を後続のタスクで活用することができるようになりました。この機能により、一つのクエリの出力が次のロジックに直接影響を与える動的で適応的なワークフローが可能になり、複雑なデータ変換を効率化します。
- 複数のSQLステートメントのサポート:単一のタスク内で複数のSQLステートメントをサポートすることで、DatabricksワークフローはSQL駆動型のパイプラインを構築する際の柔軟性を大幅に向上させます。この統合により、コンテキストやツールを切り替えることなく、より洗練されたデータ処理が可能になります。
ワークフローとノートブック向けのサーバーレスコンピュート
- ワークフローのためのサーバーレスコンピューティング:ノートブック、ワークフロー、Delta Live Tablesのためのサーバーレスコンピューティングの一般提供を発表できたことを大変嬉しく思います。この提供は、ほとんどのDatabricksリージョンに展開され、パフォーマンスに焦点を当てた高速起動、スケーリング、インフラフリーの管理の利点をあなたのワークフローにもたらしました。サーバーレスコンピューティングは複雑な設定の必要性を排除し、クラシッククラスタよりも管理がはるかに簡単です。
Databricksワークフローの次は何?
2024年も、Databricksワークフローにとって大きな進歩が見込まれる年となるでしょう。これ から登場するエキサイティングな機能と強化点の一部をちょっと覗いてみましょう:
ワークフロー管理の効率化
Databricksワークフローへの今後の強化は、複雑なワークフローの管理における明確さと効率性の向上に焦点を当てています。これらの変更は、新しい方法を導入してジョブタスクを構造化、自動化、再利用することで、ユーザーが洗練されたデータパイプラインを組織化し実行するのを容易にすることを目指しています。全体的な目的は、複雑なデータプロセスのオーケストレーションを簡素化し、ユーザーがスケールするにつれてワークフローをより効果的に管理できるようにすることです。
サーバーレスコンピューティングの強化
サーバーレス計算から簡単に利益を得られるワークロードを特定するのが容易になる互換性チェックを導入する予定です。また、Databricks Assistantの力を活用して、ユーザーがサーバーレスコンピューティングに移行するのを支援します。
Lakeflow: データエンジニアリングのための統一された、インテリジェントなソリューション
サミットでは、LakeFlow Connect(取り込み)、Pipelines(変換)、Jobs(オーケストレーション)からなる統一されたデータエンジニアリングソリューションであるLakeFlowも紹介しました。上記で議論したオーケストレーションの改善すべてが、ワークフローをLakeFlowジョブ、LakeFlowのオーケストレーション部分に進化させるにつれて、この新しいソリューションの一部となります。
最新のワークフロー機能を今すぐ試してみてください!
これらの強力な新機能をDatabricksワークフローで体験していただくことを楽しみにしています。利用を開始するには以下の手順を踏みます。