1
0

More than 1 year has passed since last update.

Deltaのカラムマッピング

Last updated at Posted at 2022-04-07

Delta column mapping | Databricks on AWS [2021/12/22時点]の翻訳です。

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

プレビュー
本機能はパブリックプレビューです。

Delta Lakeでは、Deltaテーブルのカラムと対応する対応するParquetのカラムで違う名前を使用することができるカラムマッピングをサポートしています。カラムマッピングを用いることで、背後のParquetファイルを書き換えることなしに、Deltaテーブルに対するRENAME COLUMNのようなDeltaスキーマ進化オペレーションが可能となります。スペースのようにParquetで許可されていない文字列を用いてDeltaテーブルのカラムに名前をつけることができ、ユーザーは上述した文字列の制約のためにカラムの名前を変更することなしに、Deltaに直接CSVやJSONデータを取り込むことが可能となります。

要件

  • Databricksランタイム10.2以降
  • カラムマッピングにおいては、readerバージョン2、writerバージョン5のDeltaテーブルバージョンが必要となります。必要とされるテーブルバージョンのDeltaテーブルに対しては、delta.columnMappingModenameに設定することで、カラムマッピングを有効化することができます。以下のALTER TABLEコマンドを実行することで、テーブルバージョンをアップグレードし、カラムマッピングを有効にすることができます。
SQL
ALTER TABLE <table_name> SET TBLPROPERTIES (
  'delta.minReaderVersion' = '2',
  'delta.minWriterVersion' = '5',
  'delta.columnMapping.mode' = 'name'
)

注意
テーブルにこれらのプロパティを設定すると、このDeltaテーブルはDatabricksランタイム10.2以降でしか読み書きできなくなります。

カラム名でサポートされている文字列

Deltaテーブルでカラムマッピングが有効化されると、テーブルのカラム名に,;{}()\n\t=を含めることができるようになります。

カラム名の変更

Deltaテーブルでカラムマッピングが有効化されている際はカラム名を変更することができます。

SQL
ALTER TABLE <table_name> RENAME COLUMN old_col_name TO new_col_name

詳細はカラム名の変更をご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

1
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
1
0