Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 処理済みデータをテーブルに書き込む | データ操作
Databricks基礎:初心者ガイド

処理済みデータをテーブルに書き込む

メニューを表示するにはスワイプしてください

Note
定義

データの書き込みは、クラスターの一時メモリからCatalogの永続ストレージへDataFrameを移動するプロセス。saveAsTable()メソッドを使用することで、クリーンアップおよび集約済みの結果が保存され、他のユーザーやツールからもアクセス可能となる。

これまでの作業はすべて「インメモリ」で実行されている。今クラスターの電源を切ると、変換済みのDataFrameは消失する。作業内容を永続化するには、データをLakehouseに書き戻す必要がある。Databricksでは、DataFrameをDelta Tableとして保存するのが標準的な方法。

saveAsTable() の構文

作業内容を保存するには、DataFrameにwriteメソッドをチェーンする。最も直接的な方法は次の通り。

# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
  • write: DataFrameの書き込みインターフェースへのアクセス
  • mode("overwrite"): 同名のテーブルが既に存在する場合の動作を指定。"overwrite" は既存データを新しいデータで置き換える。他のオプションとして "append"(既存テーブルの末尾に新しい行を追加)がある。
  • saveAsTable: データを保存する三部構成名(catalog.schema.table)を指定。

Delta Lake:デフォルトフォーマット

saveAsTable を使用すると、Databricksはデータを自動的にDeltaフォーマットで保存する。セクション1で説明した通り、Delta Lakeは信頼性を提供する。"write"操作の途中でクラスターがクラッシュしても、テーブルが破損しないことを保証する。また、"Time Travel" 機能により、誤操作時にテーブルの過去バージョンを参照できる。

カタログでの書き込みの確認

コマンドの実行が完了したら、データが正しく格納されているかを確認:

  • 左側サイドバーの Catalog タブに移動;
  • main カタログと default スキーマにドリルダウン;
  • 新しいテーブル名(例: regional_summary)を探す;
  • テーブルをクリックすると、スキーマ、サンプルデータ、作成日時や作成者などのメタデータを確認可能。

保存済みテーブルの読み込み

テーブルがカタログに登録されると、権限のあるユーザーはノートブックなしでアクセス可能。SQLクエリを実行するか、spark.table() を使って自身の環境にロードできる:

# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")

ベストプラクティス:クリーンアップ

最終結果を永続テーブルに保存した後は、クラスターを終了するか、少なくとも「状態のクリア」を行うことがプロフェッショナルな習慣です。データはすでにカタログに安全に保存されているため、一時的なDataFrameをクラスターのRAMに保持しておく必要はありません。

1. 既存のテーブルをDataFrameの新しいデータで置き換えたい場合、どの「mode」を使用すべきですか?

2. saveAsTable() を使用してDataFrameを保存する主な利点は何ですか?

question mark

既存のテーブルをDataFrameの新しいデータで置き換えたい場合、どの「mode」を使用すべきですか?

正しい答えを選んでください

question mark

saveAsTable() を使用してDataFrameを保存する主な利点は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  8

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  8
some-alt