転送先 - Databricks

Prev Next

概要

Databricksへデータを転送する設定のDocsです。

利用可能なクラウド環境

転送元・転送先Databricksは、以下のいずれのクラウド環境においても利用可能です。

TROCCOは、データ転送時の一時ファイルストレージとしてUnity Catalog Volumeを利用しているため、各クラウドサービス固有のストレージサービスやインターフェイスに依存しません。

制約

利用できないデータ型

設定項目

STEP1 基本設定

項目名 必須 デフォルト値 内容
Databricks接続情報 Yes - あらかじめ登録してあるDatabricksの接続情報から、今回の転送設定に必要な権限を持つものを選択します。
カタログ Yes - 転送先のカタログ名を選択します。
スキーマ Yes - 転送先のスキーマ名を選択します。
テーブル Yes - 転送先のテーブル名を選択します。
対象テーブルが転送先のデータベース・スキーマ内に存在しない場合は、自動的に作成されます。
転送モード Yes 追記(INSERT) 転送モードを選択します。
詳しくは、後述の転送モードについてを参照ください。
マージキー No - 転送モードでUPSERT (MERGE)を選択したときに入力できます。
プライマリーキーが転送先のテーブルに存在しない場合、マージキー(主キー)扱いとする、カラムの名前を入力してください。
マージキーには、値の重複がなく、NULL値も持たないカラムを入力してください。

STEP1 詳細設定

項目名 デフォルト値 内容
バッチサイズ (MB) 50 バッチサイズを指定します。
デフォルトのタイムゾーン Etc/UTC デフォルトのタイムゾーンを指定します。
エスケープ設定 無効 データ内の改行・タブ・二重引用符を保持するを有効にすると、転送データを二重引用符で囲んでDatabricksに受け渡します。
改行・タブ・二重引用符・バックスラッシュを含むデータを転送する場合は、有効にしてください。
詳しくは、後述のエスケープ設定についてを参照ください。

補足事項

エスケープ設定について

データ内の改行・タブ・二重引用符を保持するが無効の場合、転送データの値によっては以下の問題が発生します。

  • 二重引用符を含む値によって、カラムがずれる
  • 改行・タブが、文字列\n・\tのまま保存される
  • バックスラッシュが二重になる

本設定を有効にすると、上記の問題を回避できます。
ただし、有効にする場合は以下の点にご注意ください。

  • 空文字はNULLに変換されず、空文字のまま転送されます。空文字をNULLとして扱いたい場合は、無効のままにしてください。
  • 1ファイルを分割して読み込めなくなるため、転送時間が伸びる場合があります。

転送モードについて

転送モード 内容
追記(INSERT) まず一時テーブルを作成し、データを転送します。
すべての一時テーブルの作成が完了したら、対象テーブルにデータを挿入します。
追記(INSERT DIRECT) 対象テーブルに直接行を挿入します。
転送が途中で失敗した場合、対象テーブルにデータが一部挿入されている可能性があります。
全件洗い替え (TRUNCATE INSERT) まず一時テーブルを作成し、一時テーブルにデータを転送します。
すべての一時テーブルの作成が完了したら、対象テーブルの中身を削除し、そのあとに対象テーブルにデータを挿入します。
全件洗い替え (REPLACE) まず一時テーブルを作成し、データを転送します。
一時テーブルの作成が完了したら、対象テーブルを削除し、一時テーブルを対象名に変更します。
転送が途中で失敗した場合、対象テーブルが削除される可能性があります。
UPSERT (MERGE) まず一時テーブルを作成し、データを転送します。
すべての一時テーブルの作成が完了したら、以下の処理を行います。
対象テーブルに対して、一時テーブルのマージキーと値が一致する行は更新され、一致しない行は挿入されます。