データ形式のオプション
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エンジンと相互運用します。
-
- オープン共有
- オープン共有プロトコルを使用して、共有テーブルとデータを読み取ります。
列指向フォーマット
分析的な読み取りパフォーマンスと圧縮に最適化されたバイナリ列指向フォーマット。
テキストベースの形式
柔軟または進化するスキーマを持つ、交換、構成、および記録のための人間にとってわかりやすい形式。
バイナリ形式および特殊な形式
バイナリシリアル化フォーマットおよびDatabricks固有のデータソース。
-
- AVRO
- Avro ファイルの読み取りと書き込み、およびストリーミングでの Avro エンコードされたペイロードの処理を行います。
-
- MLflowエクスペリメント
- カスタム
mlflow-experimentキーワードを使用して、MLflow エクスペリメントのランデータをロードします。
非構造化データ
ドキュメント、画像、音声、その他の非構造化ファイルを保存および処理するための形式と型。
-
- 非構造化データの操作
- 文書、画像、音声などの非構造化データを保存、管理、処理します。
-
- バイナリ
- 画像やその他の非構造化データを含むファイルを、生のバイナリレコードとして読み取ります。
-
- 画像
- Machine Learningワークロード用にイメージデータをロードします。Databricks では、イメージを
binaryデータとしてロードすることをお勧めします。
-
- ファイル
BINARYまたはSTRINGを使用する代わりに、非構造化ファイルへの管理された参照を保存します。
-
- ファイルを FILE タイプとして取り込む
- SQL、テーブル値関数、およびAuto Loaderを使用して、非構造化ファイルを
FILE参照としてテーブルに取り込みます。
-
- UDFを使用してファイルを処理する
- ファイルのバイトを読み取り、画像や動画のメタデータを抽出し、UDFを使用して派生ファイルを生成します。
-
- FILE 関数のクイックスタート
- Databricks SQL および Databricks Runtime における
FILEタイプとその関数の使用を開始します。
半構造化データ
レイクハウスでネストされたデータおよび半構造化データを操作するためのパターンと関数。
-
- 半構造化データのモデル化
- 半構造化データを保存するには、Variant、JSON 文字列、struct、map から選択します。
-
- バリアント
- 読み取りと書き込みを最適化するために、
VARIANTタイプを使用して半構造化データを保存します。
-
- 複雑なデータ型を変換する
- Apache Spark で構造体、配列、マップを操作する。
-
- 高次関数
- 組み込みの高次関数を使用して、配列とマップを変換します。