注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

主要な概念

このページでは、Data Connection 全体で使用される主要な概念について説明します。

ソース

ソースは、外部システムへの単一の接続を表します。これには、ターゲットシステムを指定してその場所を特定するために必要な設定(通常は URL)と、認証を成功させるために必要な資格情報が含まれます。ソースには、そのソースで使用する機能の計算を実行する場所を定義する特定のワーカーを設定する必要があります。Agent ワーカーは、 Palantir プラットフォームとターゲットシステム間のネットワークも制御します。

ソースは、特定のコネクター(ソースタイプとも呼ばれます)に基づいて設定されます。Palantir プラットフォームでは幅広いコネクターを利用できます。これらは、組織で一般的に使用されるデータシステムをサポートするように設計されています。選択したコネクターとワーカーによって、利用可能な機能は異なります。

専用のコネクターがないシステムでは、汎用コネクターまたは REST API ソースを、外部トランスフォーム、外部関数、Compute Moduleなどのコードベースの接続オプションと併用できます。

資格情報

資格情報は、特定のシステムにアクセスするために必要なシークレット値です。つまり、資格情報は認証に使用されます。資格情報には、パスワード、トークン、APIキー、その他のシークレット値があります。Palantir プラットフォームでは、すべての資格情報が暗号化され、安全に保存されます。ワーカーによって、シークレットは Data Connection Agent 上にローカルで保存されるか、プラットフォームに直接保存されます。

OpenID Connect、アウトバウンドアプリケーション、クラウド IDを使用する場合など、一部のソースではシークレットを保存せずに認証できます。

ワーカー

ワーカーは機能の計算をどこで実行するかを定義し、ネットワークはターゲットシステムにどのように到達するかを定義します。ワーカーとネットワークを組み合わせる例については、アーキテクチャ図を参照してください。

ソースは Foundry ワーカーで実行されます。Agent ワーカーは、既存の顧客向けに維持されているレガシーオプションです。比較については、Foundry ワーカーと Agent ワーカーを参照してください。すべてのソースタイプで、すべてのワーカーの種類を利用できるわけではありません。

Foundry ワーカー

Foundry ワーカーのソースは、ソースの機能に必要な計算を Foundry 内で実行します。これらのソースは、Foundry のコンテナ化されたスケーラブルなジョブ実行と安定性の向上という利点を活用でき、Agentに伴うメンテナンスの負担がありません。すべてのソースをコード内で使用できます。

ネットワークはエグレスポリシーを通じて設定され、直接接続と Agent プロキシ経由の接続が可能になります。

当初、Foundry ワーカーは直接接続エグレスポリシーのみをサポートしていたため、この種類のワーカーのソースは「直接接続」ソースと呼ばれていました。現在、これらのソースは Agent プロキシポリシーもサポートしているため、混乱を避ける目的で「Foundry ワーカー」ソースに名称が変更されました。

Agent ワーカー

レガシー

Agent ワーカーは、開発ライフサイクルのレガシー段階にあります。既存の Agent ワーカーのソースを Foundry ワーカーに移行することをお勧めします。この推奨の運用上の理由については、Foundry ワーカーと Agent ワーカーを参照してください。

Agent ワーカーのソースは、Agentを介して、顧客が用意したホスト上でソースの機能に必要な計算を実行します。ネットワークは、Agent ホストのファイアウォールとプロキシの設定で手動で設定します。ホストは、接続先のソースシステムにネットワーク経由でアクセスできる必要があります。

ネットワークとエグレスポリシー

ネットワークはターゲットシステムにどのように到達するかを定義し、ワーカーは機能の計算をどこで実行するかを定義します。ワーカーとネットワークを組み合わせる例については、アーキテクチャ図を参照してください。

Foundry ワーカーのソースでは、ネットワークはエグレスポリシーを通じて設定されます。エグレスポリシーは、Foundry から各ターゲットシステムに到達する方法と、許可されるエグレスの宛先を詳細に定義します。

ソースは、次の 2 種類のポリシーをサポートします。

  • 直接接続ポリシー: Foundry から直接アクセスできるシステムに使用します。クラウドでホストされる Foundry インスタンスでは、パブリックインターネットを意味します。プライベートにホストされる Foundry では、Foundry がインストールされているネットワークを意味します。
  • Agent プロキシポリシー: Foundry とは異なるネットワークでホストされる外部システムへのアクセスに使用します。クラウドでホストされる Foundry インスタンスでは、オンプレミスでホストされる外部システムを意味します。Agent の設定が必要です。Agent ホスト自体にも、ターゲットシステムに到達するためのネットワーク設定が必要です。Agent プロキシポリシーは、Palantir の Kubernetes ベースのインフラストラクチャである Rubix 上で実行される Foundry エンロールメントでのみ利用できます。

両方のネットワーク経路が必要なユースケースでは、直接接続ポリシーと Agent プロキシポリシーを同じソースに割り当てることができます。たとえば、インターネット上でホストされるシステムから資格情報を取得し、その資格情報を使用してオンプレミスのシステムで認証する必要がある場合です。

エグレスポリシーについて詳しくはこちら。

Agent ワーカーのソースでは、ネットワークは Agent ホスト上で直接設定します。

Agent

Agent は、組織のネットワーク内にインストールし、Foundry の Data Connection インターフェースから管理する、ダウンロード可能なプログラムです。Agent は、組織のネットワーク内にあるさまざまな外部システムに接続でき、Agent プロキシポリシーと Agent ワーカー接続を利用する接続を実現するために使用されます。

Agent の設定方法について詳しくはこちらをご覧ください。

機能

ソースはさまざまな機能をサポートしており、各機能はソース接続を通じて実行できる処理を表します。Foundry へのデータの取り込み、Foundry からのデータの送信、Foundry の外部に保存されているデータの仮想化、他のシステムへの対話的なリクエストなど、幅広い機能がサポートされています。

利用可能な機能の概要を次のテーブルに示します。特定のコネクターでサポートされる機能の詳細については、そのコネクターのドキュメントページを参照してください。

機能説明
バッチ同期外部ソースからデータセットにデータを同期します。
Iceberg 同期外部ソースから Foundry の Iceberg テーブルにデータを同期します。
ストリーミング同期外部のメッセージキューからストリームにデータを同期します。
変更データキャプチャ(CDC)同期データベースから、CDC メタデータを含むストリームにデータを同期します。
メディア同期外部ソースからメディアセットにデータを同期します。
HyperAutoシステム全体を自動的に同期します。
ファイルエクスポートデータセットから外部システムにデータをファイルとして送信します。
テーブルエクスポートデータセットから外部データベースにスキーマ付きのデータを送信します。
ストリーミングエクスポートストリームから外部のメッセージキューにデータを送信します。
Webhook外部システムに対して、構造化されたリクエストを対話的に送信します。
仮想テーブル外部のデータウェアハウスからデータを登録し、仮想テーブルとして使用します。
仮想メディア外部システムから非構造化メディアをメディアセットとして登録します。
探索他の機能を使用する前に、外部システムのデータとスキーマを対話的に探索します。
コード内で使用コード内でソースを使用して、上記のポイントアンドクリックで設定可能な機能では対応できない処理を拡張またはカスタマイズします。これは Foundry ワーカーのソースでのみ利用できます。

追加の機能も開発中であり、各コネクターのドキュメントでは、サポートする機能の範囲が定期的に更新されています。

各コネクターでサポートされる機能は、Data Connection アプリケーションの新規ソースページにも表示されます。コネクター名と機能の両方で検索できます。以下の例では、「virtual」オプションをサポートするソースの検索結果を示しています。

「virtual」で検索した新規ソースページのスクリーンショット。コネクターカードに利用可能な機能が表示されています。

バッチ同期

バッチ同期は、外部システムからデータを読み取り、Foundry のデータセットに書き込みます。バッチ同期では、読み取るデータと、Foundry 内の出力先データセットを定義します。バッチ同期は、データの差分だけを同期するように設定でき、対応するスキーマがあるデータも、ないデータも同期できます。同期の設定方法はこちら。

バッチ同期はトランザクション方式で処理されます。各同期の実行では、出力データセットの単一のトランザクション内でデータを書き込みます。実行中のいずれかの時点で同期に失敗した場合、トランザクションは中止され、その実行のデータは一切コミットされません。つまり、一部の処理に失敗しても、データが部分的に書き込まれることはありません。出力データセットは、失敗した同期の実行前の状態から変わりません。具体的なエラーは失敗の原因によって異なります。同期の実行タブで、失敗した実行のエラーメッセージと完全なスタックトレースを確認できます。よくある失敗のパターンについては、同期のトラブルシューティングを参照してください。

一般に、バッチ同期には主に 2 種類あります。

  • ファイルバッチ同期: スキーマのないファイルを Foundry データセットに直接同期できます。これらのファイルには、下流のトランスフォームからアクセスできます。たとえば、ファイルベースのトランスフォームを使用できます。ファイルバッチ同期をサポートする代表的なシステムは、ファイルシステムや、S3、ABFS、Google Cloud Storage、SMB、SharePoint Online などの Blob ストレージです。ファイルバッチ同期について詳しくはこちら。
  • テーブルバッチ同期: スキーマ付きのデータを Foundry データセットに同期できます。この場合、同期の定義には、外部システムのスキーマと、Foundry でサポートされるスキーマのオプション間でデータ型を変換する方法も含まれます。テーブルバッチ同期をサポートする代表的なシステムは、データベースや、Microsoft SQL Server、Postgres、SAP、Salesforce、NetSuite などの SaaS プロバイダーです。

Iceberg 同期

Iceberg 同期は、外部ソースからデータを読み取り、標準のデータセットではなく、Foundry の Iceberg テーブルに直接書き込みます。Iceberg 同期は、非インクリメンタルとインクリメンタル(差分連携)の両方の取り込み、および複数の書き込みモードをサポートします。Iceberg 同期は Foundry ワーカーのランタイムでのみサポートされており、一部のコネクターで利用できます。Data Connection から Iceberg テーブルへのデータ同期について詳しくはこちら。

ストリーミング同期

ストリーミング同期は、低遅延のデータフィードを提供するシステムからデータをストリーミングする機能を提供します。データはストリーミングデータセットに配信されます。ストリーミング同期をサポートするシステムの例には、Kafka、Amazon Kinesis、Google Pub/Sub があります。

ストリーミング同期について詳しくはこちら。

変更データキャプチャ同期

変更データキャプチャ(CDC)同期はストリーミング同期と似ていますが、データの配信先であるストリーミングデータセットに、追加の変更履歴メタデータが自動的に伝播されます。この種類の同期は通常、何らかの低遅延レプリケーションをサポートするデータベースに使用されます。変更データキャプチャ同期について詳しくはこちら。

メディア同期

メディア同期を使用すると、メディアデータをメディアセットにインポートできます。メディアセットは、Foundry 全体でメディアデータを取り込み、加工し、利用するためのツールとして、標準のデータセットよりも優れています。PDF、画像、動画、その他のメディアを扱う場合は、データセットではなくメディアセットの使用をお勧めします。メディア同期について詳しくはこちら。

HyperAuto

HyperAuto は、SAP システムのスキーマを動的に探索し、同期、パイプライン、および Foundry 内での対応するオントロジーの作成を自動化できる専用の機能です。HyperAuto は現在、SAP のみをサポートしています。HyperAuto について詳しくはこちら。

ファイルエクスポート

ファイルエクスポートは、ファイルバッチ同期とは逆の処理です。ファイルエクスポートを行うと、Foundry データセット内の実体となるファイルからデータが直接取得され、ターゲットシステムのファイルシステム上の場所にそのまま書き込まれます。ファイルエクスポートについて詳しくはこちら。

テーブルエクスポート

テーブルエクスポートは、テーブルバッチ同期とは逆の処理です。テーブルエクスポートを実行すると、スキーマ付きの Foundry データセットからデータが行としてエクスポートされ、ターゲットシステムのテーブルに書き込まれます。テーブルエクスポートについて詳しくはこちら。

ストリーミングエクスポート

ストリーミングエクスポートは、ストリーミング同期とは逆の処理です。ストリーミングエクスポートを行うと、Foundry ストリームからデータがエクスポートされ、ターゲットシステムの指定されたストリーミングキューまたはトピックにレコードが書き込まれます。ストリーミングエクスポートについて詳しくはこちら。

Webhook

Webhook は、Foundry の外部にあるソースシステムへのリクエストを表します。Webhook リクエストは Data Connection で柔軟に定義でき、外部システムへの幅広い接続を実現できます。Webhook について詳しくはこちら。

仮想テーブル

仮想テーブルは、外部システムのテーブル形式のデータを、Foundry の仮想テーブルリソースに登録する機能を表します。

この機能では、個々の仮想テーブルを登録できるだけでなく、外部システム内のすべてのテーブルを動的に探索し、自動的に登録することもできます。

仮想テーブルについて詳しくはこちら。

仮想メディア

仮想メディアはメディア同期と同様に機能し、外部システムのメディアをメディアセットで使用できますが、データは Foundry にコピーされません。代わりに、外部システム内のメディアファイルを、特定のメディアセットに仮想メディアアイテムとして登録できます。

仮想メディアについて詳しくはこちら。

探索

対話的な探索機能を使用すると、同期、エクスポート、その他の外部システムとやり取りする機能を実行する前に、そのシステムに含まれるデータを確認できます。

探索は、接続が意図したとおりに動作していることや、正しい権限と資格情報を使用して接続していることを確認するためによく使用されます。

コード内で使用

コードから接続を使用する機能は、開発者が Foundry から他のシステムへの接続を拡張およびカスタマイズできるようにすることを目的としています。Palantir の基本原則は、専用のコネクターとポイントアンドクリックの設定オプションを使用してプラットフォーム上で実行できることは、すべてカスタムコードの記述でも実現できるようにすることです。開発者はいつでもコードベースの接続に切り替え、外部接続を行うワークフローの機能やパフォーマンスを、より細かく制御できる必要があります。

どのコネクターもコード内で使用できます。ほとんどの場合、コードから接続する際は、REST API ソースまたは汎用コネクターの使用をお勧めします。

Agent ワーカーの接続はコード内で使用できません。また、クラウド ID、アウトバウンドアプリケーション、OIDC など、一部の種類の資格情報は現在コードから使用できません。

コード内で使用するオプション説明
外部トランスフォーム外部トランスフォームを使用すると、Python で記述したトランスフォームが外部システムと通信できます。

外部トランスフォームは、ファイルバッチ同期、ファイルエクスポート、テーブルバッチ同期、テーブルエクスポート、メディア同期のコードベースの代替手段です。外部トランスフォームは、仮想メディアセットや仮想テーブルへのデータ登録にも使用できます。
外部関数(Webhook)TypeScript で記述した外部関数は、ソースのインポートをサポートし、そのソースに定義された既存の Webhook を呼び出すことができます。これにより、既存の Webhook 呼び出しを、カスタムの TypeScript ロジックとエラー処理でラップできます。
外部関数(直接)外部関数では、TypeScript の fetch と Python の requests を使用して、外部システムを直接呼び出せるようになりました。外部関数は、Webhook のコードベースの代替手段です。
Compute ModuleCompute Module を使用すると、長時間実行される計算や、任意の言語による接続の記述が可能になります。

Compute Module は、ストリーミング同期、ストリーミングエクスポート、変更データキャプチャ同期、Webhook のコードベースの代替手段として使用できます。
外部モデル外部モデルは現在、ソースのインポートをサポートしていません。代わりに、ネットワークエグレスポリシーを直接使用する必要があります。
Code WorkspacesCode Workspaces は現在、ソースのインポートをサポートしていません。代わりに、ネットワークエグレスポリシーを直接使用する必要があります。
Code WorkbookCode Workbook は現在、外部接続をサポートしていません。

その他の概念

Data Connection には、特定のワークフローに関連するさまざまな概念も含まれています。一部の概念は以前使用されていたもので、現在はサンセット段階にありますが、参考情報としてここに残しています。

同期

以前は、同期という用語は、Foundry にデータを取り込むことを指す一般的な表現として使用されていました。現在、同期は上記のより具体的な機能に分かれています。バッチ同期、ストリーミング同期、変更データキャプチャ同期、メディア同期など、各機能の詳細を参照できます。

タスク [サンセット]

サンセット

タスクは、開発ライフサイクルのサンセット段階にあり、将来廃止されます。引き続き完全なサポートが提供されます。ワークフローをコードベースの接続オプションに移行することをお勧めします。

コネクターの実装に使用されるプラグインフレームワークでは、タスクと呼ばれるカスタム拡張機能を使用できます。タスクは機能の単位を表し、YAML を指定して設定し、Data Connection プラグインの一部として Java で実装されます。Palantir は新しいタスクの開発を終了しており、公式にサポートされるすべての機能は、タスクを使用しない方式に移行しています。

直接接続

Foundry 内で実行される接続は、当初、直接接続のみをサポートしており、「直接接続」と呼ばれていました。これらの接続は現在、Foundry ワーカーの概念に組み込まれています。