メインコンテンツまでスキップ

Community EditionワークスペースをFree Editionに移行する

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricks Free Edition のリリースに伴い、Community Edition (CE) はまもなく廃止されます。Community Edition のワークスペース所有者は、ワークスペース移行ツールを使用してできるだけ早く Free Edition に移行する必要があります。

ワークスペースを移行する

移行ツールを使用すると、Databricks によって既存のログインにリンクされた新しい Free Edition ワークスペースが作成されます。その後、ノートブックとデータは新しい無料版のワークスペースに移行されます。

移行は 1 回しか実行できないため、開始する前に、未使用のノートブックとテーブルを必ずクリーンアップしてください。データ移行に関する制限事項の一覧については、 「制限事項」を参照してください。

ステップ 1: 現在のワークスペースを確認する

移行ツールを使用する前に、現在のワークスペースを確認し、移行する主要なノートブックとデータを特定します。移行するテーブルとノートブックをtmpディレクトリとFilestoreディレクトリから移動します。

ステップ 2: 移行プロセスを開始する

注記

移行ツールを使用するには、ワークスペースの所有者である必要があります。

CE ワークスペースで:

  1. Community Edition ワークスペースの上部にあるバナーで [無料エディションに移動] をクリックします。
  2. ダイアログ ボックスに移行プロセスの説明が表示されます。
  3. [移行] をクリックします。CE ワークスペースがロックされ、ログアウトされます。移行が完了するまで再度ログインしないでください。
  4. 移行が完了すると (通常 2 時間以内)、ログイン リンクが記載された電子メールが届きます。

ステップ 3: 無料版のワークスペースをテストする

ログインすると、Community Edition と Free Edition の両方のワークスペースが表示されます。両方のワークスペースを開いて、すべてが Free Edition ワークスペースに移行されたことを確認します。

  1. ワークスペース > ユーザー > [あなたの電子メール] を開き、すべてのノートブックが存在することを確認します。
  2. カタログ > デフォルト を開き、すべてのテーブルが存在することを確認します。
  3. 重要なノートブックをセルごとに実行します。エラーが表示される場合は、 「一般的な問題」を参照してください。
注記

いくつかのテーブルが小さな部分に分割されていることに気付くかもしれません。これは予想通りです。再度結合する方法については、「テーブルが小さな部分に分割されました」を参照してください。

ステップ 4: CE ワークスペースから不足しているアセットをダウンロードする

転送されなかったアセットがある場合は、 Community Editionワークスペースから手動でダウンロードし、Free Edition ワークスペースに再アップロードできます。

7 日後、Community Edition ワークスペースは完全に削除されます。その日付までにすべてのコンテンツが新しいワークスペースに転送されていることを確認してください。

制限事項

移行によってすべてのリソースが転送されない可能性があります。移行を開始する前に、次の制限事項を確認してください。

  • 無料版には 500 テーブルというハード制限があります。Community Edition ワークスペースに 500 を超えるテーブルがある場合、すべてのテーブルが移行されるわけではありません。
  • アーカイブされたテーブルまたはテーブルの一部については、移行によって移行が試行されますが、クエリ履歴にエラーとして表示される場合があります。3 か月以上アクセスされていないデータは自動的にアーカイブされます。
  • CSV ファイルの移行はベスト エフォートです。区切り文字が誤って使用され、列がグループ化されたり、テーブルの作成に失敗したりする場合があります。
  • サポートされているファイルとデータ タイプのみが移行されます。これらのアセットが必要な場合は、移行を開始する前にワークスペースから手動でダウンロードしてください。次のファイルとデータの種類は移行されません。
    • .zip ファイル、 .mp4ビデオ、システムログ
    • XMLファイル
    • 隠しファイルまたはサポートされていない形式
    • MLflowエクスペリメント
    • tmp以下のもの Filestore
    • 外部に保存されたファイル dbfs:/

よくある問題のトラブルシューティング

クラスターサイズやインスタンスタイプを選択できない

Free Edition はサーバレスコンピュートを使用しているため、クラスターサイズやインスタンスタイプをカスタマイズすることはできません。 サーバーレス コンピュートは、ワークロード要件に基づいて自動的にスケールされます。

ヒント

ソリューション

セルを実行してサーバレス コンピュートを自動的に開始するか、ドロップダウン メニューからコンピュート リソースを選択します。 遅延やエラーが発生した場合は、ワークロードを軽量に保ち、数分後に再試行してください。

ファイルの1つが転送されませんでした

これは、ファイルが非標準形式 ( .mp4.zipなど)、非表示、またはサポートされていない場合に発生します。

ヒント

ソリューション

7 日以内に Community Edition ワークスペースからファイルをダウンロードし、Free Edition ワークスペースに手動でアップロードします。

私のテーブルは小さな部分に分割されました

一部の CE テーブルは、断片的に保存された大きなファイルによってバックアップされていました。移行中、Databricks は各部分を独自のテーブルとしてコピーします。

ヒント

ソリューション

UNION ALLを使用して再結合:

SQL
CREATE OR REPLACE TABLE my_full_table AS
SELECT * FROM my_table_part1
UNION ALL
SELECT * FROM my_table_part2
UNION ALL
SELECT * FROM my_table_part3;

テーブルは転送されましたが、ノートブックでは見つかりません

ノートブックは名前でテーブルを参照している可能性がありますが、移行中にテーブルの名前が変更されました。

無料版では、すべてのテーブルはworkspace.default.<table_name>に作成されます。テーブル名は次のいずれかです。

  • ファイルを含むディレクトリ。したがって、 /my_table/my_table_data_file.parquetmy_tableと呼ばれます。
  • DBFSルートのベースにある場合はファイル名が使用されます。 したがって、 /my_table_data_file.parquetmy_table_data_fileと呼ばれます。
ヒント

ソリューション

  1. カタログ内の基になるテーブルを見つけます。

  2. テーブルのファイル名をコピーします。

  3. ノートブックに戻ります。

  4. Databricks Assistantに、古いテーブルの場所のすべてのインスタンスを新しいテーブルの場所に置き換えるように指示します。

    Text
    Replace all references to 'old_table_name' with 'workspace.default.new_table_name' in this notebook

ノートブックのコードが機能しません

これは通常、次の 2 つのカテゴリに分類されます。

ケース1: RDDを使用している場合

RDD は従来の Spark 抽象化であり、無料エディションではサポートされていません。それらを DataFrames に置き換えます。

ヒント

ソリューション

Databricks AssistantにRDDコードの変換を依頼します。

Text
Convert all RDD operations in this notebook to DataFrame operations

ケース2: ScalaまたはRを使用している場合

サーバレスコンピュートはPythonとSQLのみをサポートします。 ノートブックで Scala または R を使用している場合は、それを Python に変換する必要があります。

ヒント

ソリューション

Databricks Assistantにコードの翻訳を依頼します。

Text
Convert this Scala/R code to Python using PySpark DataFrames

dbutils.fs.mountコマンドが失敗しました

新しい Databricks ワークスペースは、従来の DBFS マウントをサポートしていません。

ヒント

ソリューション

代わりにUnity Catalog外部位置とボリュームを使用してください。 データセットまたは共有ファイルを保存するには、ボリュームを作成します。

SQL
CREATE VOLUME IF NOT EXISTS workspace.default.my_volume;

次に、次を使用してファイルにアクセスします。

Python
# Write data
df.write.mode("overwrite").option("path", "/Volumes/workspace/default/my_volume/my_data").saveAsTable("my_table")

# Read data
df = spark.read.table("my_table")

/dbfs/ 内のファイルを読み書きできません

無料版では、セキュリティ上の理由から、 DBFSルートへの直接アクセスが制限されています。

ヒント

ソリューション

データセットまたは共有ファイルの保存にはUnity Catalogボリュームを使用します。

Python
# Create a volume (run once)
spark.sql("CREATE VOLUME IF NOT EXISTS workspace.default.my_data_volume")

# Write files
dbutils.fs.cp("file:/local/path/data.csv", "/Volumes/workspace/default/my_data_volume/")

# Read files
df = spark.read.csv("/Volumes/workspace/default/my_data_volume/data.csv", header=True, inferSchema=True)