注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
本页描述了贯穿数据连接的核心概念。
一个源代表单个连接,包括指定目标系统所需的任何配置和成功认证所需的凭证。根据Palantir平台与目标系统之间的网络,源必须配置特定的运行时。运行时还定义了与源一起使用的任何功能的运行位置。
源是基于特定连接器(也称为源类型)设置的。在Palantir平台中,提供了广泛的连接器,旨在支持组织中最常见的数据系统。根据选择的连接器和运行时,可能会提供不同的功能。
对于没有专用连接器的系统,可以使用通用连接器或REST API源,与代码连接选项如外部变换、外部函数和计算模块一起使用。
凭证是访问特定系统所需的秘密值;即凭证用于认证。凭证可以是密码、词元、API密钥或其他秘密值。在Palantir平台中,所有凭证都经过加密并安全存储。根据运行时,秘密可能会本地存储在数据连接代理上,或直接存储在平台中。
某些源能够在不存储任何秘密的情况下进行认证,例如使用OpenID连接、出站应用程序或云身份时。
源必须配置运行时。运行时定义网络配置以及功能的执行位置。
Palantir允许您使用三种不同的运行时连接到您的系统。通常情况下,如果您要连接的系统可以接受从您的Foundry实例托管的网络的入站连接,您应使用直接连接运行时。如果这不可行,并且您使用的源类型支持代理代理,这是首选的基于代理的选项。如果其他运行时都不可用,您应使用代理工作者。
并非所有源类型都支持所有运行时。
运行时选项 | 网络 | 功能执行 |
---|---|---|
直接连接 [推荐] | 目标系统必须允许来自Palantir的直接入站流量;对于标准Foundry实例,这通常意味着允许来自控制面板或数据连接应用程序中可查看的标准出口IP地址的入站流量。 | 功能在Foundry中执行。 |
代理代理 | 安装在您的基础设施上的代理用于反向代理无法通过直接连接访问的系统的流量。 | 功能在Foundry中执行。 |
代理工作者 | 安装在您的基础设施上的代理用于运行与目标系统交互的任务,并单独从Foundry推送或拉取数据。 | 功能在客户提供的Linux主机上执行。 |
直接连接使用户能够连接到可通过互联网访问的数据源,而无需设置代理。如果数据源可通过互联网访问,这是首选的源连接方法;它避免了设置和维护代理的操作开销,并提供高正常运行时间和性能。了解如何设置直接连接。
当使用在本地托管的Foundry实例进行直接连接时,目标系统必须能够从运行您的Foundry实例的网络访问。如果不是这种情况,您必须使用基于代理的运行时选项之一。
代理是Palantir提供的一种软件,运行在您的网络中的主机上。代理连接到您的源系统,并且还可以与Foundry通信。要使用代理代理和代理工作者运行时,需要一个代理。使用同一个代理作为代理代理或代理工作者是由使用代理的特定源决定的。
通过本教程了解更多关于如何设置代理的信息。
代理代理运行时用于连接到无法通过互联网访问的数据源。代理充当反向网络代理,将起源于Foundry的网络流量转发到代理部署的网络中,并将流量回传到Foundry。这允许Foundry中的功能几乎与使用直接连接时完全相同,但不需要您允许来自Foundry的IP地址的入站网络流量。
为了实现高可用性,可以配置多个代理,具有不重叠的维护窗口,以确保始终有一个活动代理来代理连接到通过代理代理可访问的目标系统。了解如何设置代理代理运行时。
代理工作者运行时用于连接到无法通过互联网访问的数据源。只有在所需的连接器不支持代理代理运行时时,才应使用代理工作者。代理工作者运行时与一个或多个代理相关联,这些代理以加密格式在本地存储源配置和凭证,并在代理本身上运行源功能。了解如何设置具有代理工作者运行时的源。
源可能支持多种功能,每个功能代表一些可以在源连接上运行的功能。支持的功能范围广泛,包括将数据引入Foundry、从Foundry推送数据、虚拟化存储在Foundry外部的数据以及向其他系统发出交互请求。
以下表中包含了可用功能的摘要。有关特定连接器支持的功能的更多信息,请参阅该连接器的文档页面。
功能 | 描述 |
---|---|
批量同步 | 从外部源同步数据到数据集。 |
流同步 | 从外部消息队列同步数据到流。 |
变更数据捕获(CDC)同步 | 从数据库同步数据到具有CDC元数据的流。 |
媒体同步 | 从外部源同步数据到媒体集。 |
HyperAuto | 自动同步整个系统。 |
文件导出 | 将数据作为文件从数据集推送到外部系统。 |
表导出 | 将带有架构的数据从数据集推送到外部数据库。 |
流导出 | 将数据从流推送到外部消息队列。 |
Webhooks | 交互式地向外部系统发出结构化请求。 |
虚拟表 | 注册来自外部数据仓库的数据以用作虚拟表。 |
虚拟媒体 | 将来自外部系统的非结构化媒体注册为媒体集。 |
探索 | 在使用其他功能之前交互式地探索外部系统的数据和架构。 |
在代码中使用 | 在代码中使用源以扩展或自定义未涵盖的任何功能。 |
正在开发其他功能,并且功能覆盖范围会在特定连接器的文档中定期更新。
特定连接器支持的功能也显示在数据连接应用程序的新源页面上。可以按连接器名称和功能进行搜索。下面的示例显示了搜索支持“虚拟”选项的源的结果。
批量同步从外部系统读取数据并将其写入Foundry的数据集。批量同步定义应该读取哪些数据以及在Foundry中输出到哪个数据集。批量同步可以配置为增量同步数据,并允许同步带有或不带有相应架构的数据。了解如何设置同步。
通常,批量同步有两种主要类型:
流同步提供从提供低延迟数据馈送的系统流式传输数据的能力。数据被传送到流数据集。支持流同步的一些系统示例包括Kafka、Amazon Kinesis和Google Pub/Sub。
变更数据捕获(CDC)同步类似于流同步,具有自动传播到数据传送流数据集的附加变更日志元数据。这种类型的同步通常用于支持某种形式低延迟复制的数据库。了解更多关于变更数据捕获同步的信息。
媒体同步允许将媒体数据导入到媒体集。媒体集提供比标准数据集更好的工具,用于在Foundry中摄取、变换和消费媒体数据。处理PDF、图像、视频和其他媒体时,我们建议使用媒体集而非数据集。了解更多关于媒体同步的信息。
HyperAuto是一种专门的功能,可以动态发现您的SAP系统的架构,并自动化同步、管道和在Foundry中创建相应的Ontology。HyperAuto目前仅支持SAP。了解更多关于HyperAuto的信息。
文件导出是文件批量同步的反向操作。在进行文件导出时,数据直接从Foundry数据集的底层文件中提取,并按原样写入目标系统的文件系统位置。了解更多关于文件导出的信息。
表导出是表批量同步的反向操作。在执行表导出时,数据以带有架构的Foundry数据集的行形式导出,然后写入目标系统中的表。了解更多关于表导出的信息。
流导出是流同步的反向操作。在进行流导出时,数据从Foundry流中导出,并记录到目标系统中指定的流队列或主题。了解更多关于流导出的信息。
Webhooks表示对Foundry外部源系统的请求。Webhook请求可以在数据连接中灵活定义,以实现广泛的与外部系统的连接。了解更多关于webhooks的信息。
虚拟表表示将外部系统中的表格数据注册到Foundry中的虚拟表资源的能力。
除了注册单个虚拟表外,此功能还允许动态发现和自动注册外部系统中找到的所有表。
虚拟媒体的工作方式类似于媒体同步,允许来自外部系统的媒体在媒体集中使用,但不将数据复制到Foundry中。相反,外部系统中包含的媒体文件可以作为特定媒体集中的虚拟媒体项注册。
交互式探索功能允许您在执行同步、导出或与该系统交互的其他功能之前查看外部系统中包含的数据。
探索最常用于检查连接是否按预期工作,以及是否使用正确的权限和凭证进行连接。
在代码中使用连接的能力旨在允许开发人员扩展和自定义从Foundry到其他系统的连接。Palantir的一般原则是,平台中使用专用连接器和点选配置选项的任何功能也应能通过编写自定义代码实现。在任何时候,开发人员都应该能够切换到基于代码的连接,以便更细致地控制执行外部连接的工作流的功能或性能。
任何连接器都可以在代码中使用;在大多数情况下,我们建议在代码中连接时使用REST API源或通用连接器。
在代码中使用选项 | 描述 |
---|---|
外部变换 | 外部变换允许用Python编写的变换与外部系统通信。 外部变换是文件批量同步、文件导出、表批量同步、表导出和媒体同步的基于代码的替代方案。外部变换还可以用于将数据注册到虚拟媒体集和虚拟表中。 |
外部函数 (webhooks) | 外部函数用TypeScript编写,支持导入源以调用在该源上定义的现有webhooks。这允许将现有的webhook调用包装在自定义的typescript逻辑和出错处理中。 |
外部函数 (直接) | 外部函数现在允许使用TypeScript的fetch 和Python的requests 直接调用外部系统。外部函数是webhooks的基于代码的替代方案。直接外部调用的外部函数尚未普遍可用。 |
计算模块 | 计算模块允许使用任意语言进行长时间运行的计算和编写连接。 计算模块可以作为流同步、流导出、变更数据捕获同步和webhooks的基于代码的替代方案。 在计算模块中使用源尚未普遍可用。 |
外部模型 | 外部模型目前不支持导入源。相反,您必须直接使用网络出口策略。 |
代码工作区 | 代码工作区目前不支持导入源。相反,您必须直接使用网络出口策略。 |
代码工作簿 | 代码工作簿目前不支持外部连接。 |
并非所有源配置都允许使用在代码中使用功能。不支持代理工作者连接,并且某些凭证类型如云身份、出站应用程序和OIDC目前可能无法从代码中使用。
数据连接还包括各种特定于特定工作流的其他概念。有些概念曾经使用过,现在已过时,但在此保留以供参考。
历史上,术语同步通常用于指代将数据引入Foundry。同步现在被分为上面列出的更具体的功能。每个功能都有更多详细信息,例如批量同步、流同步、变更数据捕获同步、媒体同步等。
用于实现连接器的插件框架允许自定义扩展称为任务。任务表示通过提供YAML配置并在Java中作为数据连接插件的一部分实现的功能单元。Palantir已停止开发新任务,所有官方支持的功能已迁移不再使用任务。
根据产品生命周期,任务目前被视为已过时
。任务最终将完全弃用,我们强烈建议在任何可能需要任务的地方使用基于代码的连接选项。