Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APPLIES TO:
Azure Data Factory
Azure Synapse Analytics
Dica
Data Factory no Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA interna e novos recursos. Se você não estiver familiarizado com a integração de dados, comece com Fabric Data Factory. As cargas de trabalho existentes do ADF podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
O sistema de metadados Common Data Model (CDM) possibilita que os dados e seu significado sejam facilmente compartilhados entre aplicativos e processos de negócios. Para saber mais, confira a visão geral Common Data Model.
Em pipelines do Azure Data Factory e do Synapse, os usuários podem transformar dados de entidades cdm em model.json e formulário de manifesto armazenados em Azure Data Lake Store Gen2 (ADLS Gen2) usando fluxos de dados de mapeamento. Você também pode coletar dados no formato CDM usando referências de entidade CDM que param os dados no formato CSV ou parquet em pastas particionadas.
Propriedades do fluxo de dados de mapeamento
O Common Data Model está disponível como um conjunto de dados inline em fluxos de dados de mapeamento como uma origem e um coletor.
Observação
Ao escrever entidades CDM, você deve ter uma definição de entidade CDM (esquema de metadados) existente já definida para usar como referência. O coletor de fluxo de dados do lê esse arquivo de entidade CDM e importa o esquema no coletor para o mapeamento de campos.
Observação
Ao usar o CDM com o CDC (Change Data Capture) em Fluxos de Dados, as atualizações são detectadas usando uma abordagem CDC baseada em arquivo orientada por carimbos de data/hora modificados pela última vez.
Propriedades da fonte
A tabela abaixo lista as propriedades com suporte de uma origem CDM. Você pode editar essas propriedades na guia Opções de origem.
| Nome | Descrição | Obrigatório | Valores permitidos | Propriedade do script de fluxo de dados |
|---|---|---|---|---|
| Formatar | O formato deve ser cdm |
sim | cdm |
format |
| Formato de metadados | Onde a referência de entidade para os dados está localizada. Se estiver usando o CDM versão 1.0, escolha manifesto. Se estiver usando uma versão do CDM anterior a 1.0, escolha model.json. | Sim |
'manifest' ou 'model' |
manifestType |
| Local raiz: contêiner | Nome do contêiner da pasta CDM | sim | String | fileSystem |
| Local raiz: caminho da pasta | Local da pasta raiz da pasta CDM | sim | String | folderPath |
| Arquivo de manifesto: caminho da entidade | Caminho da pasta da entidade na pasta raiz | não | String | entityPath |
| Arquivo de manifesto: nome do manifesto | Nome do arquivo de manifesto. O valor padrão é “default”. | Não | String | manifestName |
| Filtrar pela última modificação | Escolher filtrar arquivos com base na última alteração | não | Timestamp | modifiedAfter modifiedBefore |
| Serviço vinculado ao esquema | O serviço vinculado em que o corpus está localizado | sim, se estiver usando o manifesto |
'adlsgen2' ou 'github' |
corpusStore |
| Contêiner de referência de entidade | O corpus do contêiner está em | sim, se estiver usando manifesto e corpus ADLS Gen2 | String | adlsgen2_fileSystem |
| Repositório de referência de entidade | GitHub nome do repositório | Sim, se estiver usando manifesto e corpus em GitHub | String | github_repository |
| Ramificação de referência de entidade | branch do repositório GitHub | Sim, se estiver usando manifesto e corpus em GitHub | String | github_branch |
| Pasta corpus | o local raiz do corpus | sim, se estiver usando o manifesto | String | corpusPath |
| Entidade corpus | Caminho para referência de entidade | sim | String | entidade |
| Permitir nenhum arquivo encontrado | Se for true, um erro não será gerado caso nenhum arquivo seja encontrado | não |
true ou false |
ignoreNoFilesFound |
Ao selecionar "referência de entidade" nas transformações de origem e de coletor, você pode selecionar dentre essas três opções para o local da referência de sua entidade:
- Local usa a entidade definida no arquivo de manifesto que já está sendo usada pelo serviço
- Personalizado pedirá que você aponte para um arquivo de manifesto de entidade diferente do arquivo de manifesto que o serviço está usando
- O Standard usará uma referência de entidade da biblioteca padrão de entidades cdm mantidas em
GitHub.
Configurações do coletor
- Aponte para o arquivo de referência de entidade CDM que contém a definição da entidade que você deseja escrever.
- Defina o caminho da partição e o formato dos arquivos de saída que você deseja que o serviço use para escrever as entidades.
- Defina o local do arquivo de saída, assim como o local e o nome do arquivo de manifesto.
Importar esquema
O CDM só está disponível como um conjunto de dados embutido e, por padrão, não tem um esquema associado. Para obter metadados de coluna, clique no botão Importar esquema na guia Projeção. Isso permitirá que você referencie os nomes de coluna e os tipos de dados especificados pelo corpus. Para importar o esquema, uma sessão de depuração de fluxo de dados deve estar ativa e você deve ter um arquivo de definição de entidade CDM existente para o qual apontar.
Ao mapear colunas de fluxo de dados para propriedades de entidade na transformação do coletor, clique na guia "mapeamento" e selecione "importar esquema". O serviço lê a referência de entidade para a qual você apontou nas opções de coletor, permitindo que você mapeie para o esquema CDM de destino.
Observação
Ao usar model.json tipo de origem originário de fluxos de dados do Power BI ou do Power Platform, você pode encontrar erros de "o caminho do corpus é nulo ou vazio" da transformação de origem. Isso provavelmente ocorre devido a problemas de formatação do caminho de local da partição no arquivo model.json. Para corrigir isso, siga estas etapas:
- Abra o arquivo model.json em um editor de texto
- Encontre a propriedade partitions.Location
- Altere "blob.core.windows.net" para "dfs.core.windows.net"
- Corrija qualquer codificação "%2F" na URL para "/"
- Se estiver usando fluxos de dados do ADF, caracteres especiais no caminho do arquivo de partição deverão ser substituídos por valores alfanuméricos ou alternar para fluxos de dados Azure Synapse
Exemplo de script de fluxo de dados de origem do CDM
source(output(
ProductSizeId as integer,
ProductColor as integer,
CustomerId as string,
Note as string,
LastModifiedDate as timestamp
),
allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
manifestType: 'manifest',
manifestName: 'ProductManifest',
entityPath: 'Product',
corpusPath: 'Products',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
folderPath: 'ProductData',
fileSystem: 'data') ~> CDMSource
Propriedades do coletor
A tabela abaixo lista as propriedades com suporte de um coletor do CDM. Você pode editar essas propriedades na guia Configurações.
| Nome | Descrição | Obrigatório | Valores permitidos | Propriedade do script de fluxo de dados |
|---|---|---|---|---|
| Formatar | O formato deve ser cdm |
sim | cdm |
format |
| Local raiz: contêiner | Nome do contêiner da pasta CDM | sim | String | fileSystem |
| Local raiz: caminho da pasta | Local da pasta raiz da pasta CDM | sim | String | folderPath |
| Arquivo de manifesto: caminho da entidade | Caminho da pasta da entidade na pasta raiz | não | String | entityPath |
| Arquivo de manifesto: nome do manifesto | Nome do arquivo de manifesto. O valor padrão é “default”. | Não | String | manifestName |
| Serviço vinculado ao esquema | O serviço vinculado em que o corpus está localizado | sim |
'adlsgen2' ou 'github' |
corpusStore |
| Contêiner de referência de entidade | O corpus do contêiner está em | sim, se corpus em ADLS Gen2 | String | adlsgen2_fileSystem |
| Repositório de referência de entidade | GitHub nome do repositório | Sim, se corpus em GitHub | String | github_repository |
| Ramificação de referência de entidade | branch do repositório GitHub | Sim, se corpus em GitHub | String | github_branch |
| Pasta corpus | o local raiz do corpus | sim | String | corpusPath |
| Entidade corpus | Caminho para referência de entidade | sim | String | entidade |
| Caminho da partição | Local onde a partição será gravada | não | String | partitionPath |
| Limpe a pasta | Se a pasta de destino for limpa antes da gravação | não |
true ou false |
truncar |
| Tipo de formato | Escolha especificar o formato parquet | não |
parquet se especificado |
subformatação |
| Delimitador de coluna | Se estiver escrevendo em DelimitedText, como delimitar colunas | sim, se estiver escrevendo em DelimitedText | String | columnDelimiter |
| Primeira linha como cabeçalho | Se estiver usando DelimitedText, se os nomes das colunas serão adicionados como um cabeçalho | não |
true ou false |
columnNamesAsHeader |
Exemplo de script de fluxo de dados do sink do CDM
O script de fluxo de dados associado é:
CDMSource sink(allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
entityPath: 'ProductSize',
manifestName: 'ProductSizeManifest',
corpusPath: 'Products',
partitionPath: 'adf',
folderPath: 'ProductSizeData',
fileSystem: 'cdm',
subformat: 'parquet',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
truncate: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> CDMSink
Conteúdo relacionado
Crie uma transformação de origem no fluxo de dados de mapeamento.