本文へ移動

FORWARD DEPLOYED ENGINEER

FDE 基礎読本

Databricks と Claude で身につける、FDE の基礎知識

Databricks学習ガイド

データの取り込み(Auto Loader と COPY INTO)

クラウドストレージに届くファイルを、Auto Loader や COPY INTO で、重複なく効率よく取り込む方法を学びます。

概要

データ基盤づくりの最初の一歩は、外部のファイルをテーブルに取り込むことです。Databricks には、増分で取り込むための仕組みとして Auto Loader と COPY INTO が用意されています。

どちらも「すでに取り込んだファイルは二度取り込まない」ことが要点です。データの量や運用の仕方に応じて使い分けます。

押さえるべきポイント

  1. 一、Auto Loader で新しいファイルだけを取り込む

    Auto Loader は spark.readStream.format("cloudFiles") で使うストリーミングのソースです。処理済みのファイルをチェックポイントで管理し、新しく届いたファイルだけを取り込みます。スキーマの推論や、列の追加などスキーマの変化への追従にも対応しています。

  2. 二、COPY INTO は SQL で手軽に取り込める

    COPY INTO は SQL のコマンドです。読み込み済みのファイルを記録しているため、同じコマンドを再実行しても二重に取り込みません(冪等)。ソースのファイルは削除されません。

  3. 三、availableNow トリガーで増分バッチにする

    ストリーミングのクエリに trigger(availableNow=True) を指定すると、その時点で届いているデータをすべて処理してから停止します。ジョブで定期的に実行すれば、ストリーミングの仕組みのまま、バッチのように運用できます。

  4. 四、まず生データを Bronze に保存する

    取り込んだデータは、加工せずにそのまま Bronze レイヤーに保存しておくのが一般的です。後から変換をやり直したり、問題を調べたりするときに、元のデータに戻れます。

重要な用語

用語意味
Auto Loaderクラウドストレージに届く新しいファイルを、増分で取り込む仕組み(cloudFiles ソース)。
COPY INTOファイルをテーブルに読み込む SQL コマンド。読み込み済みのファイルはスキップされる。
チェックポイントストリーミングの処理がどこまで進んだかを記録する場所。
スキーマ進化列の追加など、データの構造の変化に合わせてテーブルのスキーマを更新すること。
availableNow利用可能なデータをすべて処理したら停止する、ストリーミングのトリガー。

おすすめの教材

いずれも公式の情報です。内容は更新されることがあるため、最新の版を確認してください。

問題で確かめる