Integrar e sincronizar produtos de dados do SAP Business Data Cloud com o Cortex Framework usando o catálogo de ambiente de execução do Lakehouse.
Este documento descreve como conectar o Cortex Framework ao SAP Business Data Cloud usando a integração do catálogo de ambiente de execução do Lakehouse.
Ao combinar Google Cloud o SAP Delta Sharing com a conexão de federação do catálogo de ambiente de execução do BigQuery Lakehouse, o Cortex Framework pode consultar qualquer produto de dados gerenciado no SAP BDC diretamente no BigQuery sem sobrecarga de cópia e referenciá-los em produtos de dados analíticos personalizados downstream. Os principais componentes dessa integração são:
- Consultas federadas: os produtos de dados publicados no SAP BDC são expostos usando endpoints seguros do Delta Sharing. O BigQuery federa consultas a esses endpoints usando a Google Cloud conexão do catálogo de ambiente de execução do Lakehouse.
- Registro do catálogo: no Cortex Framework, você registra o catálogo do SAP BDC usando um módulo do tipo
delta_shareemdata.modules.catalogsemconfig/config.yaml. - Vinculações de produtos de dados do Google Cloud Cortex Framework: os produtos de dados personalizados downstream referenciam tabelas de catálogo do BDC vinculando as dependências de entrada aos IDs de compartilhamento e tabela do Delta Sharing no formato
{catalog_id}.{share_id}.{table_name}.
Pré-requisitos do SAP BDC
Antes de configurar a conexão no Cortex Framework, conclua as etapas a seguir no Google Cloud SAP:
- Configurar Google Cloud o catálogo de ambiente de execução do Lakehouse: configure a conexão do catálogo de ambiente de execução do BigQuery Lakehouse no seu Google Cloud projeto usando Google Cloud o Delta Sharing para o SAP Business Data Cloud.
- Recuperar IDs de compartilhamento: localize e liste os valores
shareIddo Delta Sharing (por exemplo,customer_v1_he2_100_p8123ousalesorder_v1_he2_100_p8124) publicados pelo locatário conectado do SAP BDC.
Exemplo de configuração
O exemplo de configuração a seguir registra um catálogo do SAP BDC e usa os compartilhamentos dele para calcular um produto de dados de performance de vendas personalizado:
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
data:
bigQueryLocation: europe-west3
namespaces:
- name: cortex
path: ../src/data_modules/cortex
- name: cortex_samples
path: ../src/data_modules/cortex_samples
datasets:
- id: sap_bdc_data_products
projectId: YOUR_TARGET_PROJECT_ID
datasetId: sap_bdc_data_products
modules:
# 1. Register the SAP BDC Lakehouse runtime catalog connection (using lakehouse_delta_share type)
catalogs:
- id: sap_bdc_catalog
type: lakehouse_delta_share
enabled: true
bindsNamespaces: [sap_bdc]
connectionSettings:
catalogId: sap_bdc_catalog
projectId: YOUR_CATALOG_PROJECT_ID
location: europe-west3
shares:
- shareId: customer_v1_he2_100_p8123
- shareId: salesorder_v1_he2_100_p8124
# 2. Reference the catalog shares in downstream products
products:
- moduleId: sap_bdc_sales_performance
modulePath: cortex_samples.sap_bdc.products.sales_performance
dependencyBindings:
# Bind logical dependencies directly to the catalog shares and tables
sapBdcCustomer: sap_bdc_catalog.customer_v1_he2_100_p8123.customer
sapBdcSalesOrder: sap_bdc_catalog.salesorder_v1_he2_100_p8124.salesorder
dataTargetId: sap_bdc_data_products
Para referência de parâmetros, consulte a seção Configuração de implantação para o tipo de módulo do catálogo de dados.
Quando um produto de dados personalizado depende de tabelas de catálogo de ambiente de execução do Lakehouse, configure as dependências de entrada em config/config.yaml usando a sintaxe do caminho do catálogo:
dependencyBindings:
{logical_input_name}: {catalog_id}.{share_id}.{table_name}
Em que:
{catalog_id}corresponde à propriedadeiddo catálogo emdata.modules.catalogs.{share_id}corresponde a uma das stringsshareIddo catálogo declaradas.{table_name}corresponde ao nome da tabela física exposta nesse compartilhamento.
Vinculação de dependência do Dataform downstream
Durante a compilação (cortex-build), o Cortex Framework lê os metadados do catálogo e traduz automaticamente as vinculações de dependência em nomes de tabelas federadas do BigQuery totalmente qualificados.
Nas definições de produtos de dados personalizados (por exemplo, arquivos .js ou .sqlx), referencie as fontes conformadas do SAP BDC:
// Example JS definition referencing SAP BDC inputs
const moduleConfig = config.product[moduleContext.moduleId];
const customerSource = moduleConfig.sources.sapBdcCustomer;
const salesOrderSource = moduleConfig.sources.sapBdcSalesOrder;
publish("custom_sales_performance", {
type: "table",
}).query(
(ctx) => `
SELECT
cust.customer_id,
orders.sales_order_id,
orders.amount
FROM ${ctx.ref(customerSource.datasetId, customerSource.tableName)} AS cust
JOIN ${ctx.ref(salesOrderSource.datasetId, salesOrderSource.tableName)} AS orders
ON cust.customer_id = orders.customer_id
`
);