APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Automating Unity Catalog Migration with UCX: Building Robust Python Applications on Databricks (UCXを使用してUnity Catalogの移行を自動化する Databricks上で堅牢なPythonアプリケーションを構築する)

セッションの要約

※ 本セッションに関する以下の記事は、本セッションの一部分のみの内容です。

本セッションは、Databricksでの安全かつ自動化されたテスト導入に焦点を当て、特にGitHubとAzureの統合を用いた設定方法を解説します。自動化テストは、コードの無障害動作を確認し、効率を向上させ、バグの早期発見を可能にします。GitHubとAzureの連携により、定期的な資格情報の更新と安全な管理が可能です。統合テスト結果はプルリクエストにコメントされ、一晩でコンパイルされます。これにより、手動での再テストが不要になり、品質向上に寄与します。さらに、高度なテスト技術として、環境変数の使用、静的および動的フィクスチャ、Watchdogによるカオステストが紹介され、マルチクラウド環境でのテスト効率と効果が向上します。

Databricksにおけるセキュアで自動化されたテストの導入

本セッションは、Databricksでの安全で自動化されたテストの導入に焦点を当てています。技術の進歩に伴い、自動化テストの必要性はこれまで以上に高まっています。GitHubとAzureの統合を使用して設定する方法を探求します。

自動化テストの必要性

自動化テストは、コードが無障害で動作することを確認する現代の開発プロセスの中心的な部分を形成しています。それはアプリを保護するツールとして機能しながら、同時に効率を改善します。バグを特定し、再現性を確保し、リファクタリング中に既存の機能を保護するという明確な利点により、その使用は不可欠です。

GithubとAzureを使用した自動化テストの設定

GitHubとAzureを使用して安全で効率的な自動化テスト手順を確立する方法を見てみましょう。まず、このアプローチは、資格情報を保存せずに30日ごとに資格情報を更新することでセキュリティを確保します。これにより、定期的なアップデートと安全な資格情報管理が可能になります。この設定は、GitHubとAzureの強力な連携によって実現可能です。

統合テストが完了するたびに、結果はプルリクエストへのコメントとして追加されます。これらの結果は一晩でコンパイルされ、週に一度収集されます。

自動化テストの利点

そのような設定により、テストの自動化が可能になります。一度の設定で定期的な実行が可能となり、手動での再テストやクロスバリデーションの必要性を排除します。また、エラーの可能性を減らし、早期のバグ検出による品質改善に寄与します。

GitHubとAzureを使用した安全な自動化テストの導入は、開発プロセスの品質と効率を向上させます。操作への慣れはチーム全体の生産性を向上させ、最終的には製品の品質を向上させます。この新しい方法により、開発における品質と速度の両方を達成することが可能になります。

この記事を使用して、事前に準備されたセクションを確認し修正してください。

高度なテスト技術によるマルチクラウド統合

このセッションでは、各プルリクエストで全てのインテグレーションテストを実行し、結果を分析することで、夜間に発生する可能性のあるテスト失敗に対応します。テストフレームワークには「pytest」が使用され、実行効率を高めるための「pytestフィクスチャ」について説明します。

環境変数とpytestフィクスチャの効果的な使用

テストプロセスでは、「環境変数から取得またはスキップ ('fetch or skip from environment variables')」という考え方を導入しています。これによりテストがデバッグモードで実行されるかどうかを判断し、デバッグモードであれば、環境変数を特定のファイルから読み込むことが可能になります。この機能は、異なるクラウド環境でUCXをテストするために使用されます。テストコードを変更することなく、クラウド環境を自由に切り替えることができます。

マルチクラウドテストのための静的フィクスチャと動的フィクスチャ

テストには「静的フィクスチャ」と「動的フィクスチャ」の2種類が使用されます。静的フィクスチャは、Terraformによって作成され、環境変数を通じてインテグレーションテストに渡されます。動的フィクスチャは、pytestによって作成され、クリーンアップが必要になります。これにより、テスト結果の一貫性を保証しながら、テストプロセスの効率を向上させることが可能になります。

Watchdogの使用とカオステスト

テストプロセス中に問題が発生した場合、Watchdogというプロジェクトが使用されます。Watchdogは、Terraformによって生成、管理されていないすべての要素を削除します。このアプローチには、カオステストの要素も含まれ、このツールはテストプロセスをより堅牢にし、外部要因によるエラーを検出する助けとなります。

これらの方法を組み合わせることで、マルチクラウド環境での統合テストの効率と効果を向上させることができます。現在のテクノロジー開発環境の多様性を反映し、堅牢なテスト手法が重要であることを念頭に置きながら、継続的な改善と最適化を進めていきます。


Databricks Data + AI Summit(DAIS)2024の会場からセッション内容や様子をお伝えする特設サイトをご用意しました!DAIS2024期間中は毎日更新予定ですので、ぜひご覧ください。

www.ap-com.co.jp

私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。

www.ap-com.co.jp