Databricks Connector Setup

Version 24.2.9039


Databricks Connector Setup


The Databricks connector allows you to integrate Databricks into your data flow by pushing or pulling data from Databricks. Follow the steps below to connect CData Arc to Databricks.

Establish a Connection

To allow Arc to use data from Databricks, you must first establish a connection to Databricks. There are two ways to establish this connection:

  • Add a Databricks connector to your flow. Then, in the settings pane, click Create next to the Connection drop-down list.
  • Open the Arc Settings page, then open the Connections tab. Click Add, select Databricks, and click Next.

Note:

  • The login process is only required the first time the connection is created.
  • Connections to Databricks can be re-used across multiple Databricks connectors.

Enter Connection Settings

After opening a new connection dialogue, follow these steps:

  1. Enter the connection information:
    • Name — The static name of the connection.
    • Type — This is always set to Databricks.
    • Auth Scheme — The authentication scheme to use for the connection. Options are Personal Access Token and Azure Service Principal.
  2. Create the connection according to your selected Auth scheme:
    • Personal Access Token — Enter the following information:
      • Server — The host name or IP address of the server hosting Databricks.
      • HTTP PathTo be written
      • Access Token — Your Databricks access token.
    • Azure Service Principal — Enter the following information:
      • Server — The host name or IP address of the server hosting Databricks.
      • HTTP PathTo be written
      • AzureTenantId — The tenant Id of your Microsoft Azure Active Directory.
      • AzureClientId — The application (client) Id of your Microsoft Azure Active Directory application.
      • Azure Client Secret — The application (client) secret of your Microsoft Azure Active Directory application.
      • Azure Subscription Id — The subscription Id of your Microsoft Azure Databricks Service Workspace.
      • Azure Resource Group — The resource group name of your Microsoft Azure Databricks Service workspace.
      • Azure Workspace — The name of your Microsoft Azure Databricks Service Workspace.
  3. If necessary, click Advanced to open the drop-down menu of advanced connection settings. These settings should not be needed in most cases.

  4. Click Test Connection to ensure that Arc can connect to Databricks with the provided information. If an error occurs, check all fields and try again.

  5. Click Add Connection to finalize the connection.

  6. In the Connection drop-down list of the connector configuration pane, select the newly-created connection.

  7. Click Save Changes.

Note:また、高度な設定タブには、データソース固有の認証および設定オプションがあります。このドキュメントではすべてが説明されているわけではありませんが、各データソースに関する詳細情報はCData Web サイトの製品ドキュメントページで見つけることができます。

アクションを選択する

Databricks への接続を確立したら、Databricks コネクタが実行するアクションを選択する必要があります。以下のテーブルは、各アクションの概要とそれがArc フローのどこに属するかを示しています。

アクション 説明 フローにおけるポジション
Upsert Databricks データを挿入または更新します。デフォルトでは、Databricks にすでにレコードが存在する場合は、入力から提供された値を使用してDatabricks の既存のデータに対して更新が実行されます。 End
Lookup Databricks から値を取得し、それらの値をフロー内の既存のArc メッセージに挿入します。
ルックアップクエリは、コネクタがDatabricks から取得する値を決定します。これは、Databricks テーブルに対するSQL クエリとしてフォーマットする必要があります。
Middle
Lookup Stored Procedure コネクタに入力されたデータをストアドプロシージャの入力として扱い、結果をフロー内の既存のArc メッセージに挿入します。
Lookup をテストモーダルにあるサンプルデータを表示ボタンをクリックすると、選択したストアドプロシージャにサンプル入力を提供し、結果をプレビューできます。
Middle
Select Databricks からデータを取得し、それをArc に取り込みます。
フィルタパネルを使用して、Select にフィルタを追加できます。これらのフィルタは、SQL の WHERE 句と同じように機能します。
Beginning
Execute Stored Procedures コネクタに入力されたデータをストアドプロシージャの入力として扱い、結果をフローに渡します。
Execute Stored Procedure をテストモーダルにあるサンプルデータを表示ボタンをクリックすると、選択したストアドプロシージャにサンプル入力を提供し、結果をプレビューできます。
Middle

オートメーションタブ

オートメーション設定

コネクタによるファイルの自動処理に関する設定。

  • 送信 コネクタにインプットされたファイルを自動的に送信するかどうか。
  • 再試行間隔(分) 送信に失敗した場合に再試行するまでの分数。
  • 最大試行回数 コネクタがファイルを処理する最大回数。成功したかどうかは、サーバーの応答が成功したかどうかで判断されます。0に設定すると、コネクタは無期限にファイルを再試行します。
  • 受信 コネクタが自動的にデータソースにクエリを実行するかどうか。
  • 受信間隔 自動的にクエリを試行する間隔。
  • 毎時何分 時間単位のスケジュールの分オフセット。上記の受信間隔の設定が Hourly に設定されている場合にのみ適用されます。例えば、この値を5 に設定すると、自動的に1:05、2:05、3:05 のようにダウンロードを行います。
  • 試行が行われる時刻。上記の受信間隔の設定が DailyWeekly、または Monthly に設定されている場合にのみ適用されます。
  • 曜日/日付 試行が行われる日。上記の受信間隔の設定が Weekly または Monthly に設定されている場合にのみ適用されます。
  • ダウンロードを試行するまでの待機時間。上記の受信間隔の設定が Minute に設定されている場合にのみ適用されます。
  • Cron 式 いつ試行するかを決定するcron 式を表す5つの欄の文字列。上記の受信間隔の設定が Advanced に設定されている場合にのみ適用されます。

パフォーマンス

コネクタへのリソースの割り当てに関する設定。

  • 最大ワーカー数 このコネクタでファイルを処理するためにスレッドプールで消費されるワーカースレッドの最大数。設定された場合、これは設定 > オートメーションページのデフォルト設定をオーバーライドします。
  • 最大ファイル数 コネクタに割り当てられた各スレッドが送信するファイルの最大数。設定された場合、これは設定 > オートメーションページのデフォルト設定をオーバーライドします。

アラートタブ

アラートとサービスレベル(SLA)の設定に関連する設定。

コネクタのE メール設定

サービスレベル(SLA)を実行する前に、通知用のE メールアラートを設定する必要があります。アラートを設定をクリックすると、新しいブラウザウィンドウで設定ページが開き、システム全体のアラートを設定することができます。詳しくは、アラートを参照してください。

サービスレベル(SLA)の設定

サービスレベルでは、フロー内のコネクタが送受信すると予想される処理量を設定し、その量が満たされると予想される時間枠を設定できます。CData Arc は、サービスレベルが満たされていない場合にユーザーに警告するE メールを送信し、SLA を At Risk(危険) としてマークします。これは、サービスレベルがすぐに満たされない場合に Violated(違反) としてマークされることを意味します。これにより、ユーザーはサービスレベルが満たされていない理由を特定し、適切な措置を講じることができます。At Risk の期間内にサービスレベルが満たされなかった場合、SLA はViolated としてマークされ、ユーザーに再度通知されます。

サービスレベルを定義するには、予想処理量の条件を追加をクリックします。

  • コネクタに個別の送信アクションと受信アクションがある場合は、ラジオボタンを使用してSLA に関連する方向を指定します。
  • 検知基準(最小)を、処理が予想されるトランザクションの最小値(量)に設定し、フィールドを使用して期間を指定します。
  • デフォルトでは、SLA は毎日有効です。これを変更するには、毎日のチェックをOFF にし、希望する曜日のチェックをON にします。
  • 期間終了前にステータスを’At Risk’ に設定するタイミングを使用して、SLA がAt Risk としてマークされるようにします。
  • デフォルトでは、通知はSLA が違反のステータスになるまで送信されません。これを変更するには、‘At Risk’ 通知を送信のチェックをON にします。

次の例は、月曜日から金曜日まで毎日1000ファイルを受信すると予想されるコネクタに対して構成されたSLA を示しています。1000ファイルが受信されていない場合、期間終了の1時間前にAt Risk 通知が送信されます。

高度な設定タブ

高度な設定タブの設定の多くは操作しているデータソースから動的にロードされるため、このドキュメントではカバーしていません。各データソースに関する詳細情報はCData Web サイトの製品ドキュメントページで見つけることができます。

以下で説明するオプションは、すべてのデータソースで利用可能です。

メッセージ

  • Sent フォルダに保存 チェックすると、コネクタで処理されたファイルをコネクタのSent フォルダにコピーします。
  • Sent フォルダのスキーム 選択された時間間隔に従ってSent フォルダ内のメッセージをグループ化するようコネクタに指示します。例えば、Weekly オプションを選択すると、コネクタは毎週新しいサブフォルダを作成してその週のすべてのメッセージをそのフォルダに格納します。ブランクに設定すると、コネクタはすべてのメッセージをSent フォルダに直接保存します。多くのメッセージを処理するコネクタの場合、サブフォルダを使用するとメッセージが整理されてパフォーマンスが向上します。

高度な設定

高度な設定 は、さまざまなデータソースに接続するために、任意のデータベースドライバー(Database、CData、API コネクタなど)に依存するコネクタの一般的な設定です。

  • 自動切り捨て 有効にすると、コネクタは制限値を超える文字列またはバイナリカラム値を自動的に切り捨てます。
  • コマンドタイムアウト コマンド実行のタイムアウト時間(秒)。
  • 最後に挿入されたId をクエリ 最後に挿入されたレコードの自動更新後のId を取得するために実行するクエリを指定します。
  • ログレベル コネクタが生成するログの詳細度。サポートを依頼する際は、Debug に設定してください。
  • ローカルファイルスキーム コネクタがアウトプットするメッセージにファイル名を割り当てるスキーム。ファイル名にマクロを動的に使用して、識別子やタイムスタンプなどの情報を含めることができます。詳しくは、マクロ を参照してください。
  • メッセージをログ ON にすると、コネクタはLogs ディレクトリ内のメッセージ用にログと共にメッセージのコピーを保存します。この設定を無効にすると、インプットまたはアウトプットタブからファイルのコピーをダウンロードできなくなる可能性があります。
  • 最大失敗レコード数 挿入中に失敗しても処理の続行を許可するレコードの最大数。デフォルト値の0の場合、どんなエラーでも入力メッセージはError とマークされ、未実行のトランザクションは取り消されます。値が-1 の場合、すべてのエラーは無視され、コネクタはその後のレコードの挿入を試行し続けます。値が正の場合、コネクタは閾値に達するまでレコードの挿入を試行し続けます。
  • アウトプットファイル形式 アウトプットデータを表示する形式。デフォルト値(XML)の場合、コネクタは処理した各レコードについてXML ファイルを出力します。オプションとして、最大レコード数の値に応じて単一のデータ構造に複数のレコードをまとめることができます。CSV、TSV オプションでは各データ形式でデータを出力します。このオプションは子テーブルといった複雑なテーブル構造には利用できません。
  • 処理変更間隔の単位 Select アクションにのみ適用されます。設定タブのSelect の設定セクションにある高度な設定部分で、「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、プロセス変更間隔設定の解釈方法を制御します(例えば、Hours、Days、Weeks)。この設定、および次の2つの設定の詳細については、Only Process New or Changed Records を参照してください。
  • プロセス変更間隔 設定タブのSelect の設定セクションで「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、Arc が最初の試行で処理を試みる履歴データの量を制御します。例えば、デフォルトの180(Days)を使用した場合、Arc は、過去180日以内に作成または変更されたデータのみの処理を試みることを意味します。
  • プロセス変更開始日 設定タブのSelect の設定セクションで「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、取得するデータの開始日を制御します。
  • 履歴をリセット新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、保存されたキャッシュをリセットします。
  • バッチインプットサイズ バッチがデータソースによってサポートされている場合、バッチ1回のクエリの最大数。
  • バッチサイズ バッチグループ内のバッチメッセージの最大数。
  • 最大レコード数 1つのアウトプットメッセージに含める最大のレコード数。すべてのアウトプットレコードを1つのファイルに入れるには-1を使用し、設定済みのアウトプットファイル形式に基づいてコネクタが決定できるようにするには0を使用します。デフォルトでは、XML は1ファイルにつき1レコードを出力し、フラットファイル形式はすべてのレコードを1ファイルに含めます。
  • トランザクションサイズ トランザクション1回のクエリの最大数。
  • 処理の遅延 インプットフォルダに置かれたファイルの処理を遅延させる時間(秒)。これは旧式の設定です。代替として、ローカルファイルシステムの管理にはFile コネクタの使用がベストプラクティスです。
  • ログサブフォルダのスキーム 選択された時間間隔に従ってLogs フォルダ内のファイルをグループ化するようコネクタに指示します。例えば、Weekly オプションを選択すると、コネクタは毎週新しいサブフォルダを作成してその週のすべてのログをそのフォルダに格納します。ブランクに設定すると、コネクタはすべてのログをLogs フォルダに直接保存します。多くのトランザクションを処理するコネクタの場合、サブフォルダを使用するとログが整理されてパフォーマンスが向上します。

その他

その他の設定 は特定のユースケースのための設定です。

  • その他の設定 セミコロン区切りのリスト(例:setting1=value1;setting2=value2)で非表示のコネクタ設定を行うことができます。通常のコネクタのユースケースや機能では、これらの設定を使用する必要はありません。

マクロ

ファイルの命名規則にマクロを使用することで、組織の効率とデータの文脈的理解を高めることができます。マクロをファイル名に組み込むことで、識別子、タイムスタンプ、ヘッダー情報などの関連情報を動的に含めることができ、各ファイルに有益なコンテキストを付与できます。これにより、組織にとって重要な詳細をファイル名に反映させることができます。

CData Arc はこれらのマクロをサポートしており、すべて次の構文を使用します:%Macro%

Macro 説明
ConnectorID コネクタのConnectorID を返します。
Ext コネクタが処理中のファイルの拡張子を返します。
Filename コネクタが処理中のファイルのファイル名(拡張子を含む)を返します。
FilenameNoExt コネクタが処理中のファイルのファイル名(拡張子なし)を返します。
MessageId コネクタがアウトプットするメッセージのMessageId を返します。
RegexFilename:pattern コネクタで処理中のファイルのファイル名にRegEx パターンを適用します。
Header:headername コネクタが処理中のメッセージのヘッダー(headername)の値を返します。
LongDate システムの現在の日時を長い形式(例:Wednesday, January 24, 2024)で返します。
ShortDate システムの現在の日時をyyyy-MM-dd 形式(例:2024-01-24)で返します。
DateFormat:format システムの現在の日時を指定されたフォーマット(format)で返します。使用可能な日付フォーマットについては、サンプル日付フォーマット を参照してください。
Vault:vaultitem 指定されたvault 項目の値を返します。

%Ext% や%ShortDate% などの引数を必要としないマクロもありますが、引数を必要とするマクロもあります。引数を渡すマクロはすべて次の構文を用います:%Macro:argument%

以下は、引数を渡すマクロの例です。

  • %Header:headername%:headername はメッセージのヘッダー名です。
  • %Header:mycustomheader% は、インプットメッセージで設定されたmycustomheader ヘッダーの値を返します。
  • %Header:ponum% は、インプットメッセージで設定されたponum ヘッダーの値に対応します。
  • %RegexFilename:pattern%:pattern は正規表現パターンです。例えば、%RegexFilename:^([\w][A-Za-z]+)% はファイル名の最初の単語と照合し、大文字と小文字を区別せずに結果を返します(test_file.xmltest に変換されます)。
  • %Vault:vaultitem%:vaultitem は、vault のアイテム名です。例えば、%Vault:companyname% はVault に保存されているcompanyname アイテムの値を返します。
  • %DateFormat:format%:format は使用可能な日付フォーマットです(詳細はサンプル日付フォーマット を参照してください)。例えば、%DateFormat:yyyy-MM-dd-HH-mm-ss-fff% はファイルの日付とタイムスタンプを返します。

以下の例に示すように、より詳細なマクロを作成することもできます。

  • 複数のマクロを1つのファイル名にまとめる:%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
  • マクロの外側にテキストを含める:MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
  • マクロ内にテキストを含める:%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%