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レイクハウスにデータをロードする

Last updated at Posted at 2023-01-16

Load data into the Databricks Lakehouse | Databricks on AWS [2023/1/13時点]の翻訳です。

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

Databricksでは、Delta Lakeを基盤としたレイクハウスにデータをロードする方法を多数取り揃えています。クラウドオブジェクトストレージからのインクリメンタルなデータ取り込みにはAuto Loaderを使うことをお勧めします。データ追加UIでは、クイックにローカルファイルをアップロードしたり、外部データソースに接続するための数多くの選択肢を提供しています。

初めてのETLワークロードを実行する

DatabricksでAuto Loaderをまだ使ったことがないのであれば、チュートリアルからスタートしてください。Databricksで初めてのETLワークロードを実行するをご覧ください。

Auto Loader

Auto Loaderは、追加のセットアップなしにクラウドストレージにデータファイルが新たに到着すると、インクリメンタルかつ効率的に処理を行います。Auto Loaderは、cloudFilesという構造かストリーミングソースを提供しています。

Delta Live TablesとAuto LoaderによるETLの自動化

Auto LoaderとDelta Live Tablesを用いることで、スケーラブル、インクリメンタルなデータ取り込みのインフラストラクチャのデプロイメントをシンプルにすることができます。Delta Live Tablesではノートブックのような標準的なインタラクティブな処理の実行ではなく、プロダクションに使えるインフラストラクチャのデプロイメントにフォーカスしています。

ローカルデータファイルのアップロードや外部データソースへの接続

テーブルを作成するためにローカルのデータファイルのアップロードや外部ソースからのデータ取り込みをセキュアに行うことができます。Databricksのデータ追加UIを用いたデータのロードをご覧ください。

パートナーインテグレーション

Databricksのパートナーインテグレーションによって、Databricksにデータをロードすることができます。これらのインテグレーションによって、Databricksに様々なソースからローコード、スケーラブルにデータを取り込むことができます。Databricksにおけるインテグレーションをご覧ください。

COPY INTO

COPY INTOを用いることで、SQLユーザーは冪等性を持ち、インクリメンタルにクラウドオブジェクトストレージからDelta Lakeテーブルにデータをロードすることができます。これは、Databricks SQL、ノートブック、Databricksジョブで使用することができます。

Deltaへの変換

Databricksでは、Parquet、IcebergテーブルをDelta Lakeに変換し、レイクハウスのすべての機能を解放する単一のコマンドを提供しています。Delta Lakeへの変換をご覧ください。

いつCOPY INTOを使い、いつAuto Loaderを使うのか

以下にAuto LoaderとCOPY INTOを選択する際に検討すべきいくつかの事柄を示します:

  • 数千規模のファイルを取り込もうとしているのであればCOPY INTOを使うことができます。一定期間で数百万以上のファイルを予想しているのであれば、Auto Loaderを使ってください。Auto Loaderは、COPY INTOと比較してファイルを検知するオペレーションの総数が少なくて済み、処理を複数のバッチに分割することができ、Auto Loaderは低コストで規模に対して効率的であることを意味します。
  • データスキーマが頻繁に進化するのであれば、Auto Loaderはスキーマ推定、進化に関するより良いプリミティブを提供しています。Auto Loaderにおけるスキーマ推定とスキーマ進化の設定をご覧ください。
  • 再度アップロードされたファイルのサブセットのロードにおいては、COPY INTOの方が管理が若干簡単です。Auto Loaderを用いる場合、ファイルのサブセットのSELECTを再処理することがより困難となります。しかし、Auto Loaderストリームを同時に実行しながらも、ファイルのサブセットを再ロードするためにCOPY INTOを使うことができます。

Auto LoaderとCOPY INTOの概要とデモンストレーションについては、以下のYouTube動画をご覧ください(2分)。

データをロードするためにデータタブを使う

Data Science & Engineeringのワークスペースのデータタブを用いることで、テーブルを作成するためにローカルにある小規模のファイルをロードすることができます。Explore and create tables in DBFSをご覧ください。

外部ソースからデータをロードするためにApache Sparkを使う

Apache Sparkを用いて様々なデータソースに接続することができます。選択肢の一覧と接続のサンプルに関しては、Databricksにおける外部データの取り扱いをご覧ください。

データ取り込みの際にキャプチャされたファイルメタデータを確認する

Apache Sparkはデータロードの際にソースファイルに関するデータを自動でキャプチャします。ファイルメタデータカラムを用いてこのデータにアクセスすることができます。

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?