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

データ形式のオプション

Databricksには、Apache Sparkがネイティブでサポートするすべてのデータ形式に対する組み込みのキーワードバインディングがあります。Databricksはデータの読み取りと書き込みおよびテーブルのdefaultプロトコルとしてDelta Lakeを使用しますが、Apache SparkはParquetを使用します。以下のセクションでは、Databricksで各データ形式をクエリーする際に利用可能なオプションと構成について説明します。

ほとんどの形式は、compression オプションによる書き込み圧縮をサポートしています。各形式でサポートされている値については、DataFrameWriter オプションを参照してください。Databricksは多くの形式で事前圧縮されたファイルを直接読み取ることもでき、必要に応じてDatabricks上で 圧縮ファイルを解凍 することも可能です。

Apache Spark データソースの詳細については、「汎用の読み込み/保存関数 」および「 汎用ファイル ソース オプション」を参照してください。

オープンテーブルフォーマット

ACIDトランザクション、スキーマ進化、およびエンジン間での相互運用性をサポートするテーブル形式。

    • Delta Lake
    • The default format for reading and writing data and tables on Databricks.
    • Iceberg
    • Icebergテーブルの読み取りと書き込みを行い、外部のIcebergエンジンと相互運用します。
    • オープン共有
    • オープン共有プロトコルを使用して、共有テーブルとデータを読み取ります。

列指向フォーマット

分析的な読み取りパフォーマンスと圧縮に最適化されたバイナリ列指向フォーマット。

    • PARQUET
    • The columnar format Apache Spark uses by default, with efficient compression and encoding.
    • ORC
    • 組み込みの圧縮機能と軽量インデックスのサポートを備えた列指向フォーマット。

テキストベースの形式

柔軟または進化するスキーマを持つ、交換、構成、および記録のための人間にとってわかりやすい形式。

    • JSON
    • 複数行レコードやスキーマ推論のオプションを含め、JSON ファイルの読み書きを行います。
    • CSV
    • ヘッダー、区切り文字、不正なレコードのオプションを使用して、区切りテキストファイルの読み取りと書き込みを行います。
    • XML
    • 行タグとスキーマを指定して、XMLファイルを読み書きします。
    • TEXT
    • プレーンテキストファイルを1行ずつ、または1ファイルずつ読み書きします。

バイナリ形式および特殊な形式

バイナリシリアル化フォーマットおよびDatabricks固有のデータソース。

    • AVRO
    • Avro ファイルの読み取りと書き込み、およびストリーミングでの Avro エンコードされたペイロードの処理を行います。
    • MLflowエクスペリメント
    • カスタム mlflow-experiment キーワードを使用して、MLflow エクスペリメントのランデータをロードします。

非構造化データ

ドキュメント、画像、音声、その他の非構造化ファイルを保存および処理するための形式と型。

    • バイナリ
    • 画像やその他の非構造化データを含むファイルを、生のバイナリレコードとして読み取ります。
    • 画像
    • Machine Learningワークロード用にイメージデータをロードします。Databricks では、イメージを binary データとしてロードすることをお勧めします。
    • ファイル
    • BINARY または STRING を使用する代わりに、非構造化ファイルへの管理された参照を保存します。

半構造化データ

レイクハウスでネストされたデータおよび半構造化データを操作するためのパターンと関数。

    • バリアント
    • 読み取りと書き込みを最適化するために、VARIANT タイプを使用して半構造化データを保存します。
    • 高次関数
    • 組み込みの高次関数を使用して、配列とマップを変換します。