数据世系连接
使用 Alteryx One 将世系元数据从 Server 传输到外部数据目录。每个工作区都支持 Server 和目录之间的一对一连接。
小心
要启用数据世系功能,必须将管理员角色分配给用于 Server 和 Alteryx One 之间通信的服务主体。当前不支持基于权限受限的管理员角色的自定义角色。
因此,服务主体暂时需要比预期更广泛的权限。此限制仅影响 Alteryx One,对 Server 或其上运行的任何代码均无影响。我们已了解此问题,并计划在未来更新中予以解决。
开始之前
确保 Alteryx One IP 地址已列入白名单。这些 IP 地址可在 Alteryx One 平台入门指南文档页面上查阅。
我们为 Alteryx Server 运行提供的数据世系信息采用 OpenLineage 格式,这是一种用于捕获流程元数据的开放标准。由此可实现与 OpenLineage 事件的主要使用方(包括 Collibra 和 Atlan)的无缝集成,从而支持治理、发现和协作。请注意,Collibra 和 Atlan 并非由 Alteryx 配置或管理。
如需详细了解支持的工具和连接类型,请转至支持的列级世系工具。
数据世系安全性
Server 或云端均不存储任何世系信息。数据仅在传输过程中流动,并通过 TLS 加密进行保护。
从 Alteryx Server 发送到 Lineage Cloud Service 的数据
在 Alteryx Server 上执行工作流时,我们会在工作流级别收集数据世系信息。
执行工作流时,将发生以下事件:
启动:工作流开始执行。
正在运行:工作流进入运行状态。它可能会保持在此状态,或在该状态中持续循环,直到进入结果状态。
结果状态:工作流运行完成后,可转换至以下几种可能的结果之一:
完成:工作流成功完成。
中止:工作流在完成前被有意中断。
失败:工作流遇到错误并失败。
对于每个事件,我们会收集必要的相关元数据,以便 Lineage Cloud Service 创建 OpenLineage 事件。
开始事件在执行开始时发送
{
"eventTime": "2024-11-22T00:00:00Z",
"eventType": "START",
"job": {
"name": "TestWorkflow"
},
"run": {
"runId": "00000000-0000-0000-0000-000000000000"
}
}
正在运行事件在建立输入/输出数据集时发送
{
"eventTime": "2024-11-22T00:01:00Z",
"eventType": "RUNNING",
"run": {
"runId": "00000000-0000-0000-0000-000000000000"
},
"job": {
"name": "TestWorkflow"
},
"inputs": [
{
"name": "input_a.csv",
"namespace": "file"
}
]
}完成事件在执行成功时发送
{
"eventTime": "2024-11-22T00:04:00Z",
"eventType": "COMPLETE",
"run": {
"runId": "00000000-0000-0000-0000-000000000000"
},
"job": {
"name": "TestWorkflow"
}
}失败事件在执行失败时发送
{
"eventTime": "2024-10-21T14:30:00Z",
"eventType": "FAIL",
"run": {
"runId": "00000000-0000-0000-0000-000000000000"
},
"job": {
"name": "TestWorkflow"
}
}
附加元数据
当这些事件触发后,AlteryxService 将整合所有相关事件,并提供附加元数据以最终发送到 Lineage Cloud Service,例如:
job.name:包含工作流名称和服务应用程序 ID 的连接字符串。
示例:
GenerateSalesDetail|01JTKMDMZZPXDD8NY51XKR5A5F所有者:工作流所有者的用户 ID。
工作室:与工作流工作室关联的订阅 ID(仅限手动运行)。
Server URL:带您跳转至 Server UI 中的工作流详细信息页面的 Server URL。
serviceId对应于appInfos.serviceId字段,该字段映射到AS_Applications.id字段(或AS_Queue记录中的AS__application_id)。ServerJob.id:唯一作业标识符。
从 Lineage Cloud Service 发送到 Lineage Consumer 的数据
当 Lineage Cloud Service 从 Alteryx Server 接收元数据后,会将相关格式化的 OpenLineage 事件发送到 Lineage Consumer。
OpenLineage 启动 JSON 示例
{
"eventType": "START",
"eventTime": "2024-12-20T13:39:37.554Z",
"run": {
"runId": "acde070d-8c4c-4f0d-9d8a-162843c10333"
},
"job": {
"namespace": "Alteryx-demo",
"name": "Lineage Connection Workflow|5ea20186a171a51bc4c37155",
},
"producer": "us1.alteryxcloud.com/lineageservice:0.0.1 ",
"schemaUrl": "https://tools.ietf.org/html/rfc6901"
}OpenLineage 完成 JSON 示例
{
"eventType": "COMPLETE",
"eventTime": "2024-12-20T14:00:37.554Z",
"run": {
"runId": "acde070d-8c4c-4f0d-9d8a-162843c10333"
},
"job": {
"namespace": "Alteryx-demo",
"name": "Lineage Connection Workflow|5ea20186a171a51bc4c37155"
},
"inputs": [{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.AYX_COLORADO_STORES_SUMMARIZE"
},
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.yxdb"
}],
"outputs": [
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.yxdb"
},
{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.LAINE_TABLE"
}],
"producer": "us1.alteryxcloud.com/lineageservice:0.0.1 ",
"schemaUrl": "https://tools.ietf.org/html/rfc6901"
}OpenLineage 失败 JSON 示例
{
"eventType": "FAIL",
"eventTime": "2024-12-20T14:00:37.554Z",
"run": {
"runId": "acde070d-8c4c-4f0d-9d8a-162843c10333"
},
"job": {
"namespace": "Alteryx-demo",
"name": "Lineage Connection Workflow|5ea20186a171a51bc4c37155"
},
"inputs": [{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.AYX_COLORADO_STORES_SUMMARIZE"
},
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.yxdb"
}],
"outputs": [
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.yxdb"
},
{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.LAINE_TABLE"
}],
"producer": "us1.alteryxcloud.com/lineageservice:0.0.1 ",
"schemaUrl": "https://tools.ietf.org/html/rfc6901"
}OpenLineage 中止 JSON 示例
{
"eventType": "ABORT",
"eventTime": "2024-12-20T14:00:37.554Z",
"run": {
"runId": "acde070d-8c4c-4f0d-9d8a-162843c10333"
},
"job": {
"namespace": "Alteryx-demo",
"name": "Lineage Connection Workflow|5ea20186a171a51bc4c37155"
},
"inputs": [{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.AYX_COLORADO_STORES_SUMMARIZE"
},
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.csv"
}],
"outputs": [
{
"namespace": "file",
"name": "E:/ProgramData/Alteryx/Service/Staging/State Population Output.csv"
},
{
"namespace": "snowflake://tjb31106",
"name": "AYX_LINEAGE_DB.ELLENS_DATA.LAINE_TABLE"
}],
"producer": "us1.alteryxcloud.com/lineageservice:0.0.1 ",
"schemaUrl": "https://tools.ietf.org/html/rfc6901"
}OpenLineage 完成 JSON 示例
{
"eventType": "COMPLETE",
"eventTime": "2025-10-06T17:46:27.695Z",
"run": {
"runId": "173fc3f9-1501-4749-beae-32b56796596e",
"facets": {
"nominalTime": null,
"parent": null
}
},
"job": {
"namespace": "AlteryxTest",
"name": "ProductSales|68c48138430ae827850e8498",
"facets": {
"documentation": null,
"sourceCodeLocation": {
"_producer": "https://ayx-sandbox.bender.rocks/data-lineage-service/v1/datalineage",
"_schemaURL": "https://openlineage.io/spec/facets/1-0-1/SourceCodeLocationJobFacet.json",
"type": "Alteryx Server",
"url": "http://AYX-LT-5MGCB54/gallery/#/app/app/68c48138430ae827850e8498/?type=service"
},
"sql": null,
"jobType": null,
"ownership": {
"owners": [
{
"name": "68b9acee6065b0e905f38ea3",
"type": "USER"
},
{
"name": "68b9acee6065b0e905f38ea0",
"type": "SUBSCRIPTION"
}
],
"_producer": "https://ayx-sandbox.bender.rocks/data-lineage-service/v1/datalineage",
"_schemaURL": "https://openlineage.io/spec/facets/1-0-1/OwnershipJobFacet.json"
},
"serverJob": {
"id": "68e40070b8565a17ce0ac2e7",
"_producer": "https://ayx-sandbox.bender.rocks/data-lineage-service/v1/datalineage",
"_schemaURL": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/definitions/BaseFacet"
}
}
},
"inputs": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\Products.xlsx",
"facets": {
"documentation": null,
"schema": null,
"dataSource": null,
"description": null,
"lifecycleStateChange": null,
"columnLineage": null,
"symlinks": null
},
"inputFacets": {},
"outputFacets": null
},
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\OrderDetails.xlsx",
"facets": {
"documentation": null,
"schema": null,
"dataSource": null,
"description": null,
"lifecycleStateChange": null,
"columnLineage": null,
"symlinks": null
},
"inputFacets": {},
"outputFacets": null
}
],
"outputs": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\TotalSales.csv",
"facets": {
"documentation": null,
"schema": null,
"dataSource": null,
"description": null,
"lifecycleStateChange": null,
"columnLineage": {
"_producer": "https://ayx-sandbox.bender.rocks/data-lineage-service/v1/datalineage",
"_schemaURL": "https://openlineage.io/spec/facets/1-2-0/ColumnLineageDatasetFacet.json",
"fields": {
"OrderID": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\OrderDetails.xlsx",
"field": "OrderID",
"transformations": [
{
"subtype": "IDENTITY",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"Category": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\Products.xlsx",
"field": "Category",
"transformations": [
{
"subtype": "IDENTITY",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"NewCount": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\OrderDetails.xlsx",
"field": "Quantity",
"transformations": [
{
"subtype": "TRANSFORMATION",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"ProductID": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\Products.xlsx",
"field": "ProductID",
"transformations": [
{
"subtype": "IDENTITY",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"TotalSale": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\OrderDetails.xlsx",
"field": "Quantity",
"transformations": [
{
"subtype": "TRANSFORMATION",
"type": "DIRECT"
}
]
},
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\Products.xlsx",
"field": "UnitPrice",
"transformations": [
{
"subtype": "TRANSFORMATION",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"ProductName": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\Products.xlsx",
"field": "ProductName",
"transformations": [
{
"subtype": "IDENTITY",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
},
"OrderDetailID": {
"inputFields": [
{
"namespace": "file",
"name": "C:\\ProgramData\\Alteryx\\Service\\Staging\\45816_d3034dfd34e946a48485299407c307a0\\_externals\\1\\OrderDetails.xlsx",
"field": "OrderDetailID",
"transformations": [
{
"subtype": "IDENTITY",
"type": "DIRECT"
}
]
}
],
"transformationDescription": null,
"transformationType": null
}
}
},
"symlinks": null
},
"inputFacets": null,
"outputFacets": {}
}
],
"producer": "https://ayx-sandbox.bender.rocks/data-lineage-service/v1/datalineage",
"schemaURL": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunEvent"
}存储在 Lineage Cloud Service 中的数据
我们仅存储用于建立 Lineage Cloud Service 和 Lineage Consumer 之间连接的配置信息。
数据保留期:无限期。
Atlan 配置
OpenLineage 端点:
https://alteryx.atlan.com/v1/lineageOpenLineage 命名空间:
Alteryx-Atlan身份验证方法:
持有者令牌持有者令牌:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMTIzNDU2IiwidXNlcm5hbWUiOiJ0ZXN0X3VzZXIiLCJleHAiOjE3MTQ5MDYwMDB9.SflKxwRJS
Collibra 配置
端点:
http://localhost:8888/debug.test命名空间:
Alteryx_Collibra身份验证方法:
无
设置数据世系连接
要设置数据连接世系,请转至管理控制台 > 数据世系连接。
数据使用者:外部数据目录
设置、编辑或删除数据目录连接。
设置数据目录连接
要从 Server 启用世系元数据传输,请设置数据目录,如 Atlanta 或 Collibra。
在菜单中,转至管理控制台 > 数据世系连接。
在数据使用者下,选择设置外部数据目录。
此时将打开数据目录设置页面。
如果您的数据目录部署在无法从公共互联网访问的专用网络环境中,请在专用网络下选中数据目录位于专用网络复选框。
在 OpenLineage 端点下,输入 Alteryx 用于发送 OpenLineage 事件数据的完整 URL。
在 OpenLineage 命名空间下,输入 OpenLineage 作业命名空间。有关命名空间要求的详细信息,请参阅数据目录的文档。
在身份验证方法下,从下拉列表中选择您的身份验证方法。
选择无或持有者令牌。
如果选择无,则在连接到数据目录时不会传递任何身份验证凭据。仅当您的目录不需要身份验证时才使用此选项。如果目录需要身份验证,选择无将导致连接失败。
如果选择持有者令牌,请在持有者令牌字段中输入在数据目录中创建的令牌。
在数据世系级别下,从下拉列表中选择数据集或列。
数据世系级别定义了您希望世系追踪达到的详细程度(粒度)。此设置仅适用于新的运行。如果世系服务不可用,Server 将使用上次的已知设置,否则默认为数据集级别。服务恢复后,新的运行将遵循您选择的级别。
如需详细了解连接类型,请转至“支持的列级世系工具”中的“支持的连接类型”部分。
如果只想在数据集级别定义世系,请选择数据集。Alteryx 不会发送任何映射信息。
数据集级世系显示整个数据集(如表格、文件或视图)如何在系统间移动和转换。它提供了数据流的高级别概述。
如果要将世系定义为单个列,请选择列。
通过列级世系,我们可以追踪数据集中各个字段或属性的演变过程。它详细说明了每一列的生成、转换或聚合方式。如需了解详情,请转至支持的列级世系工具。
要测试此连接,请选择测试连接。
选择保存。
现在您已设置了数据目录连接。它将显示在数据使用者部分下。
编辑或删除数据目录连接
转至“数据使用者”部分,找到要编辑或删除的数据连接。然后选择查看详细信息以查看数据目录连接详细信息。
要编辑数据目录连接,请选择编辑。
要删除数据目录连接,请选择三点菜单,然后选择删除。
数据源:Server
设置外部数据目录后,您可以将 Alteryx One 连接到 Server 以将世系元数据传输到数据目录。
设置 Server 连接
要将世系元数据发送到您的数据目录,请启用 Server 与 Alteryx One 工作区的连接。
在菜单中,转至管理控制台 > 数据世系连接。
在数据源下,选择设置Server。
此时将打开设置 Server 页面。
输入 Server 名称以帮助在此工作区中识别它。
现在生成 Server 链接有效负载。要执行此操作,请转至创建 Server 链接有效负载并选择生成有效负载。将其复制并粘贴到 Alteryx 系统设置中以完成设置。如需详细了解在何处输入 Server 链接有效负载以及如何在 Server 中进行测试,请转至控制器。
有效负载包含与服务主体关联的客户端 ID 和客户端私密密钥。
选择 Done。
现在您已设置了 Server 连接。
编辑或删除 Server 连接
转至“数据源”部分,找到要编辑或删除的 Server 数据连接。然后选择查看详细信息以查看 Server 连接详细信息。
要编辑数据目录连接,请选择编辑。
要删除数据目录连接,请选择三点菜单,然后选择删除。