Convert to Delta Lake | Databricks on AWS [2022/11/15時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
SQLコマンドCONVERT TO DELTA
は、ParquetやIcebergテーブルのDelta Lakeテーブルへの変換処理を実行します。ParquetやIcebergテーブルのDelta Lakeへのインクリメンタルな変換に関しては、ParquetやIcebergからDelta Lakeへのインクリメンタルなクローンをご覧ください。
Unity Catalogでは、Unity Catalogで管理される外部ロケーションに格納されているParquetやIcebergテーブルのCONVERT TO DELTA
コマンドをサポートしています。
Databricksレイクハウスのすべての機能を解放するために、既存のParquetデータファイルをUnity Catalogの外部テーブルとして設定し、Delta Lakeに変換することができます。
技術的なドキュメントに関しては、CONVERT TO DELTAをご覧ください。
外部ロケーションにあるParquetやIcebergファイルのディレクトリを変換する
注意
Icebergテーブルの変換はパブリックプレビューです。
Icebergテーブルの変換はDatabricksランタイム10.4以降でサポートされています。
Icebergメタストアテーブルの変換はサポートされていません。
ストレージロケーションに対する書き込み権限を持っているのであれば、ParquetデータファイルのディレクトリをDelta Lakeテーブルに変換することができます。Unity Catalogによるアクセス設定に関しては、Unity Catalogにおける外部ロケーションとストレージ認証情報の管理をご覧ください。
CONVERT TO DELTA parquet.`s3://my-bucket/parquet-data`;
CONVERT TO DELTA iceberg.`s3://my-bucket/iceberg-data`;
Unity Catalogの外部テーブルとして変換済みテーブルをロードするには、外部ロケーションに対するCREATE TABLES
が必要となります。
注意
Databricksランタイム11.2以降では、CONVERT TO DELTA
は自動でメタストアに登録されるテーブルのパーティショニング情報を推定するので、手動でパーティションを指定する必要はありません。
マネージドテーブル、外部テーブルをUnity CatalogのDelta Lakeに変換する
Unity Catalogでは、外部テーブルで多くのフォーマットをサポートしていますが、マネージドテーブルではDelta Lakeのみをサポートしています。マネージドのParquetテーブルを直接Unity CatalogのマネージドDelta Lakeテーブルに変換するには、テーブルをUnity Catalogにアップグレードするをご覧ください。
外部ParquetテーブルをUnity Catalogにアップグレードするには、外部テーブルをUnity Catalogにアップグレードするをご覧ください。
外部ParquetテーブルをUnity Catalogに登録すると、それを外部Delta Lakeテーブルに変換することができます。Parquetテーブルがパーティショニングされている場合には、パーティショニング情報を指定しなくてはならないことに注意してください。
CONVERT TO DELTA catalog_name.database_name.table_name;
CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);