0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricksのレガシーグローバルinitスクリプト移行ノートブック

Last updated at Posted at 2023-04-03

Legacy global init script migration notebook - Databricks [2023/3/30時点]の翻訳(一部加筆)です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

2023/9/1、Databricksはすべてのワークスペースにおいてレガシーグローバルinitスクリプトを無効にします。このタイプのinitスクリプトは2020年に非推奨となっており、2023/9/1以降は利用できません。レガシーグローバルinitスクリプトは、2020年により信頼性のある現行のグローバルinitスクリプトフレームワークで置き換えており、こちらは継続してサポートされます。

可能な限りすぐにレガシーグローバルinitスクリプトを現行のグローバルinitスクリプトに移行することをお勧めします。

ドキュメント(AWS | Azure)に従ううか、以下の手順を参考にして手動でレガシーグローバルinitスクリプトと新しいグローバルinitスクリプトに移行することができます。あるいは、移行プロセスを自動化を支援するノートブックを、Databricksエンジニアリングで作成しています。

本書はGCPワークスペースには適用されません。GCPワークスペースでレガシーグローバルinitスクリプトを使用することはできません。

手動での移行手順

Migrate from legacy to new global init scriptsの翻訳です。

レガシーグローバルinitスクリプトを新たなグローバルinitスクリプトに移行するには:

  1. 既存のレガシーグローバルinitスクリプトをコピーし、UIあるいはREST APIを用いて新たなグローバルinitスクリプトフレームワークに追加します。

    次のステップを完了するまで、これらを無効化しておいてください。

  2. すべてのレガシーグローバルinitスクリプトを無効化します。

    Admin ConsoleでGlobal Init Scriptsタブに移動し、Legacy Global Init Scriptsのトグルをオフにします。

  3. 新たなグローバルinitスクリプトを有効化します。
    Global Init Scriptsタブで、有効化したいinitスクリプトのEnabledトグルを切り替えます。

  4. すべてのクラスターを再起動します。

    • レガシーなスクリプトは、稼働中のクラスターで自動でスケールアップされた新規ノードでは実行されません。これらの新規ノードでは新たなグローバルinitスクリプトも実行されません。新規スクリプトが実行されるように、そして、既存のクラスターがグローバルスクリプトなしに新規ノードを追加しないように、すべてのクラスターを再起動しなくてはなりません。
    • 新たなグローバルinitスクリプトフレームワークに移行し、レガシースクリプトを無効化する際、非冪等性なスクリプトを修正する必要があるかもしれません。

ノートブック実行手順

警告
移行ノートブックを実行するにはDatabricks管理者である必要があります。

前提条件

移行ノートブックを実行する前に、お使いのパーソナルアクセストークンを格納するスコープとシークレットを作成しておく必要があります。

詳細については、Create a Databricks-backed secret scope(AWS | Azure)とCreate a secret in a Databricks-backed scope(AWS | Azure)のドキュメントをご覧ください。

ドライランの実行

ドライランを実行することで、変更を引き起こすことなしにワークスペースで移行ノートブックをテストすることができます。

  1. Migrate legacy global init scripts notebookをダウンロードします。
  2. ワークスペースにノートブックをインポートします。
  3. クラスターを起動します
  4. ノートブックを実行します。
  5. ノートブックを実行するとUIが表示されます。適切なフィールドにScope NameSecret Nameを入力します。
  6. 設定を更新後、2回目のノートブックの実行を行います。

エラーが出なければ、レガシーグローバルinitスクリプトの移行の準備が整ったこととなります。

レガシーグローバルinitスクリプトの移行

システムに変更を行う前は常にドライランを実行すべきです。

  1. Migrate legacy global init scriptsノートブックを実行します。
  2. ノートブックを実行するとUIが表示されます。適切なフィールドにScope NameSecret Nameを入力します。
  3. Dry RunドロップダウンメニューでFalseを選択します。これによって、ノートブックがワークスペースに変更を加えるようになります。
  4. Enable New ScriptsTrueに設定します。これによって、ワークスペースで現行のグローバルinitスクリプトを有効化します。スクリプトを移行したいが有効化したく無い場合にはFalseを選択します。
  5. Remove Old ScriptsTrueに設定します。これによって、レガシーグローバルinitスクリプトを削除します。
  6. Revert ChangesFalseを選択します。特定の理由で変更を取りやめる必要がある場合にのみTrueを選択します。
  7. 設定を更新後、ノートブックを再度実行します。

移行されたスクリプトの検証

  1. Admin Consoleを開きます。
  2. Global init scriptsをクリックします。
  3. すべてのレガシーグローバルinitスクリプトが存在することを確認します。
  4. それぞれのスクリプトのオンオフを切り替えるために、Enabledトグルを切り替えます。
  5. スクリプトの実行順を変更するにはEdit orderingをクリックします。
  6. クラスターを再起動し、スクリプトが期待通り実行されることを確認します。

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?