転送先 - Databricks
- 18 Jun 2024
- 印刷
- PDF
転送先 - Databricks
- 更新日 18 Jun 2024
- 印刷
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
概要
Databricksへデータを転送する設定のヘルプページです。
制約
利用できないデータ型
- 次の型は Databricks JDBC Driver のサポート対象外のため、転送先テーブルのカラムに存在する場合エラーが発生します。
- 次の型はサポート対象外のため、カラムに値を転送することができません。
BINARY
ARRAY
MAP
STRUCT
設定項目
STEP1 基本設定
項目名 | 必須 | デフォルト値 | 内容 |
---|---|---|---|
Databricks接続情報 | Yes | - | あらかじめ登録してあるDatabricksの接続情報から、今回の転送設定に必要な権限を持つものを選択します。 |
カタログ名 | Yes | - | 転送先のカタログ名を選択します。 |
スキーマ名 | Yes | - | 転送先のスキーマ名を選択します。 |
テーブル | Yes | - | 転送先のテーブル名を選択します。 対象テーブルが転送先のデータベース・スキーマ内に存在しない場合は、自動的に作成されます。 |
転送モード | Yes | 追記(INSERT ) | 転送モードを選択します。 詳しくは、後述の転送モードについてを参照ください。 |
マージキー | No | - | 転送モードでUPSERT (MERGE) を選択したときに入力できます。プライマリーキーが転送先のテーブルに存在しない場合、マージキー(主キー)扱いとする、カラムの名前を入力してください。 マージキーには、値の重複がなく、NULL値も持たないカラムを入力してください。 |
STEP1 詳細設定
項目名 | デフォルト値 | 内容 |
---|---|---|
バッチサイズ (MB) | 50 | バッチサイズを指定します。 |
デフォルトのタイムゾーン | Etc/UTC | デフォルトのタイムゾーンを指定します。 |
STEP2 出力オプション
項目名 | デフォルト値 | 詳細 |
---|---|---|
カラム設定 | - | 一時テーブルを作る際のカラムを指定します。型のデフォルト値は以下のとおりです。boolean : BOOLEAN string :STRING long : BIGINT double : DOUBLE timestamp : TIMESTAMP json : STRING 上記以外を使用したい場合に設定が必要となります。 指定できる型について、詳しくはDatabricks公式ドキュメント - Data typesを参照ください。 (ただし、利用できないデータ型に記載のあるデータ型は除く) |
スキーマに関わる設定が適用される条件
STEP2出力オプションのカラム設定の内容は、テーブルを新規作成する場合にのみ、適用されます。
具体的には、以下の状態でジョブ実行した際に適用されます。
- 転送先に対象となるテーブルが存在しない場合
- 転送モードで全件洗い替え (
REPLACE
)を選んでいる場合- この場合、転送のたびに転送先テーブルのスキーマが更新されるため、カラム設定の内容は都度適用されます。
補足事項
転送モードについて
転送モード | 内容 |
---|---|
追記(INSERT ) | まず一時テーブルを作成し、データを転送します。 すべての一時テーブルの作成が完了したら、対象テーブルにデータを挿入します。 |
追記(INSERT DIRECT ) | 対象テーブルに直接行を挿入します。 転送が途中で失敗した場合、対象テーブルにデータが一部挿入されている可能性があります。 |
全件洗い替え (TRUNCATE INSERT ) | まず一時テーブルを作成し、一時テーブルにデータを転送します。 すべての一時テーブルの作成が完了したら、対象テーブルの中身を削除し、そのあとに対象テーブルにデータを挿入します。 |
全件洗い替え (REPLACE ) | まず一時テーブルを作成し、データを転送します。 一時テーブルの作成が完了したら、対象テーブルを削除し、一時テーブルを対象名に変更します。 転送が途中で失敗した場合、対象テーブルが削除される可能性があります。 |
UPSERT (MERGE) | まず一時テーブルを作成し、データを転送します。 すべての一時テーブルの作成が完了したら、以下の処理を行います。 対象テーブルに対して、一時テーブルのマージキーと値が一致する行は更新され、一致しない行は挿入されます。 |
この記事は役に立ちましたか?