Partilhar via


Copiar e transformar dados no Microsoft Fabric Warehouse usando o Azure Data Factory ou o Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como usar a Atividade de Cópia para copiar dados de e para o Microsoft Fabric Warehouse. Para saber mais, leia o artigo introdutório do Azure Data Factory ou do Azure Synapse Analytics.

Capacidades suportadas

Este conector do Microsoft Fabric Warehouse é suportado para os seguintes recursos:

Capacidades suportadas IR Ponto final privado gerido
Atividade de cópia (origem/coletor) (1) (2)
Mapeando o fluxo de dados (origem/coletor) (1)
Atividade de Pesquisa (1) (2)
Atividade GetMetadata (1) (2)
Atividade de script (1) (2)
Atividade de procedimento armazenado (1) (2)

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Começar agora

Para executar a atividade Copiar com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado do Microsoft Fabric Warehouse usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado do Microsoft Fabric Warehouse na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e, em seguida, selecione Novo:

  2. Procure por Armazém e selecione o conector.

    Captura de tela mostrando o conector selecionado do Microsoft Fabric Warehouse.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado do Microsoft Fabric Warehouse.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas do Microsoft Fabric Warehouse.

Propriedades do serviço vinculado

O conector do Microsoft Fabric Warehouse suporta os seguintes tipos de autenticação. Consulte as seções correspondentes para obter detalhes:

Autenticação do principal de serviço

Para usar a autenticação da entidade de serviço, siga estas etapas.

  1. Registre um aplicativo na plataforma Microsoft Identity e adicione um segredo do cliente. Depois, anote esses valores, que você usa para definir o serviço vinculado:

    • ID do aplicativo (cliente), que é o ID da entidade de serviço no serviço vinculado.
    • Valor secreto do cliente, que é a chave principal do serviço no serviço vinculado.
    • ID de Inquilino do
  2. Conceda à entidade de serviço pelo menos a função de Colaborador no espaço de trabalho do Microsoft Fabric. Siga estes passos:

    1. Vá para o espaço de trabalho do Microsoft Fabric, selecione Gerenciar acesso na barra superior. Em seguida, selecione Adicionar pessoas ou grupos.

      A captura de tela mostra a seleção do espaço de trabalho Malha Gerenciar acesso.

       A captura de tela mostra o painel de acesso Gerenciar espaço de trabalho de malha.

    2. No painel Adicionar pessoas , insira o nome da entidade de serviço e selecione a entidade de serviço na lista suspensa.

    3. Especifique a função como Colaborador ou superior (Administrador, Membro) e selecione Adicionar.

      A captura de tela mostra a adição da função de espaço de trabalho Malha.

    4. A entidade de serviço é exibida no painel Gerenciar acesso .

Estas propriedades são suportadas para o serviço vinculado:

Property Descrição Obrigatório
tipo A propriedade type deve ser definida como Warehouse. Sim
endpoint O ponto de extremidade do servidor do Microsoft Fabric Warehouse. Sim
workspaceId A ID do espaço de trabalho do Microsoft Fabric. Sim
artifactId A ID do objeto Microsoft Fabric Warehouse. Sim
tenant Especifique as informações do locatário (nome de domínio ou ID do locatário) sob as quais seu aplicativo reside. Recupere-o passando o mouse no canto superior direito do portal do Azure. Sim
servicePrincipalId Especifique o ID do cliente do aplicativo. Sim
servicePrincipalCredentialType O tipo de credencial a ser usado para autenticação da entidade de serviço. Os valores permitidos são ServicePrincipalKey e ServicePrincipalCert. Sim
servicePrincipalCredential A credencial da entidade de serviço.
Ao usar ServicePrincipalKey como o tipo de credencial, especifique o valor de segredo do cliente do aplicativo. Marque este campo como SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure.
Ao usar ServicePrincipalCert como credencial, faça referência a um certificado no Cofre da Chave do Azure e verifique se o tipo de conteúdo do certificado é PKCS #12.
Sim
ConecteVia O tempo de execução de integração a ser usado para se conectar ao armazenamento de dados. Você pode usar o tempo de execução de integração do Azure ou um tempo de execução de integração auto-hospedado se seu armazenamento de dados estiver em uma rede privada. Se não for especificado, o tempo de execução de integração padrão do Azure será usado. Não

Exemplo: usando a autenticação de chave da entidade de serviço

Você também pode armazenar a chave principal do serviço no Cofre de Chaves do Azure.

{
    "name": "MicrosoftFabricWarehouseLinkedService",
    "properties": {
        "type": "Warehouse",
        "typeProperties": {
            "endpoint": "<Microsoft Fabric Warehouse server endpoint>",
            "workspaceId": "<Microsoft Fabric workspace ID>",
            "artifactId": "<Microsoft Fabric Warehouse object ID>",
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            }   
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo Conjuntos de dados.

As seguintes propriedades são suportadas para o conjunto de dados do Microsoft Fabric Warehouse:

Property Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como WarehouseTable. Sim
esquema Nome do esquema. Não para a fonte, Sim para o lavatório
tabela Nome da tabela/vista. Não para a fonte, Sim para o lavatório

Exemplo de propriedades de conjunto de dados

{
    "name": "FabricWarehouseTableDataset",
    "properties": {
        "type": "WarehouseTable",
        "linkedServiceName": {
            "referenceName": "<Microsoft Fabric Warehouse linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring >
        ],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        }
    }
}

Propriedades da atividade Copy

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte Copiar configurações de atividade e Pipelines e atividades. Esta seção fornece uma lista de propriedades suportadas pela origem e pelo coletor do Microsoft Fabric Warehouse.

Microsoft Fabric Warehouse como origem

Gorjeta

Para carregar dados do Microsoft Fabric Warehouse de forma eficiente usando o particionamento de dados, saiba mais em Cópia paralela do Microsoft Fabric Warehouse.

Para copiar dados do Microsoft Fabric Warehouse, defina a propriedade type na fonte Copy Activity como WarehouseSource. As seguintes propriedades são suportadas na seção Copiar fonte de atividade:

Property Descrição Obrigatório
tipo A propriedade type da fonte Copy Activity deve ser definida como WarehouseSource. Sim
sqlReaderQuery Use a consulta SQL personalizada para ler dados. Exemplo: select * from MyTable. Não
sqlReaderStoredProcedureName O nome do procedimento armazenado que lê dados da tabela de origem. A última instrução SQL deve ser uma instrução SELECT no procedimento armazenado. Não
storedProcedureParameters Parâmetros para o procedimento armazenado.
Os valores permitidos são pares de nome ou valor. Os nomes e o invólucro dos parâmetros devem corresponder aos nomes e invólucros dos parâmetros do procedimento armazenado.
Não
queryTimeout Especifica o tempo limite para a execução do comando de consulta. O padrão é 120 minutos. Não
Nível de isolamento Especifica o comportamento de bloqueio de transação para a fonte SQL. O valor permitido é Snapshot. Se não for especificado, o nível de isolamento padrão do banco de dados será usado. Para obter mais informações, consulte system.data.isolationlevel. Não
partitionOptions Especifica as opções de particionamento de dados usadas para carregar dados do Microsoft Fabric Warehouse.
Os valores permitidos são: Nenhum (padrão) e DynamicRange.
Quando uma opção de partição é habilitada (ou seja, não None), o grau de paralelismo para carregar simultaneamente dados de um Microsoft Fabric Warehouse é controlado pela parallelCopies configuração na atividade de cópia.
Não
partitionSettings Especifique o grupo de configurações para particionamento de dados.
Aplique quando a opção de partição não Nonefor .
Não
Em partitionSettings:
partitionColumnName Especifique o nome da coluna de origem no número inteiro ou no tipo data/data/hora (int, smallint, bigint, datedatetime2, ) que será usado pelo particionamento de intervalo para cópia paralela. Se não for especificado, o índice ou a chave primária da tabela é detetado automaticamente e usado como a coluna de partição.
Aplique quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?DfDynamicRangePartitionCondition a cláusula WHERE. Para obter um exemplo, consulte a seção Cópia paralela do Microsoft Fabric Warehouse .
Não
partiçãoUpperBound O valor máximo da coluna de partição para divisão do intervalo de partições. Esse valor é usado para decidir a passada da partição, não para filtrar as linhas na tabela. Todas as linhas na tabela ou no resultado da consulta serão particionadas e copiadas. Se não for especificado, a atividade de cópia detetará automaticamente o valor.
Aplique quando a opção de partição for DynamicRange. Para obter um exemplo, consulte a seção Cópia paralela do Microsoft Fabric Warehouse .
Não
partiçãoLowerBound O valor mínimo da coluna de partição para divisão do intervalo de partições. Esse valor é usado para decidir a passada da partição, não para filtrar as linhas na tabela. Todas as linhas na tabela ou no resultado da consulta serão particionadas e copiadas. Se não for especificado, a atividade de cópia detetará automaticamente o valor.
Aplique quando a opção de partição for DynamicRange. Para obter um exemplo, consulte a seção Cópia paralela do Microsoft Fabric Warehouse .
Não

Nota

Ao usar o procedimento armazenado na origem para recuperar dados, observe se o procedimento armazenado foi projetado como retornando esquema diferente quando um valor de parâmetro diferente é passado, você pode encontrar falha ou ver um resultado inesperado ao importar esquema da interface do usuário ou ao copiar dados para o Microsoft Fabric Warehouse com criação automática de tabela.

Exemplo: usando a consulta SQL

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Exemplo: usando procedimento armazenado

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
                "storedProcedureParameters": {
                    "stringData": { "value": "str3" },
                    "identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Exemplo de procedimento armazenado:

CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
    @stringData varchar(20),
    @identifier int
)
AS
SET NOCOUNT ON;
BEGIN
    select *
    from dbo.UnitTestSrcTable
    where dbo.UnitTestSrcTable.stringData != stringData
    and dbo.UnitTestSrcTable.identifier != identifier
END
GO

Microsoft Fabric Warehouse como um tipo de pia

Suporte a pipelines do Azure Data Factory e Synapse Use a instrução COPY para carregar dados no Microsoft Fabric Warehouse.

Para copiar dados para o Microsoft Fabric Warehouse, defina o tipo de coletor em Copiar atividade como WarehouseSink. As seguintes propriedades são suportadas na seção Copiar coletor de atividade:

Property Descrição Obrigatório
tipo A propriedade type do coletor Copy Activity deve ser definida como WarehouseSink. Sim
allowCopyCommand Indica se a instrução COPY deve ser usada para carregar dados no Microsoft Fabric Warehouse.

Consulte a seção Usar instrução COPY para carregar dados no Microsoft Fabric Warehouse para obter restrições e detalhes.

O valor permitido é True.
Sim
copyCommandSettings Um grupo de propriedades que podem ser especificadas quando allowCopyCommand a propriedade é definida como TRUE. Não
writeBatchTimeout Esta propriedade especifica o tempo de espera para que a operação de inserção, upsert e procedimento armazenado seja concluída antes que ela atinja o tempo limite.

Os valores permitidos são para o período de tempo. Um exemplo é "00:30:00" por 30 minutos. Se nenhum valor for especificado, o tempo limite será padronizado como "00:30:00"
Não
pré-CopyScript Especifique uma consulta SQL para que a Atividade de Cópia seja executada antes de gravar dados no Microsoft Fabric Warehouse em cada execução. Use essa propriedade para limpar os dados pré-carregados. Não
tableOption Especifica se a tabela de coletor deve ser criada automaticamente se não existir com base no esquema de origem. Os valores permitidos são: none (padrão), autoCreate. Não
disableMetricsCollection O serviço coleta métricas para otimização de desempenho de cópia e recomendações, que introduzem acesso adicional ao banco de dados mestre. Se você estiver preocupado com esse comportamento, especifique true para desativá-lo. Não (o padrão é false)

Exemplo: Coletor do Microsoft Fabric Warehouse

"activities":[
    {
        "name": "CopyToMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "tableOption": "autoCreate",
                "disableMetricsCollection": false
            }
        }
    }
]

Cópia paralela do Microsoft Fabric Warehouse

O conector do Microsoft Fabric Warehouse na atividade de cópia fornece particionamento de dados interno para copiar dados em paralelo. Você pode encontrar opções de particionamento de dados na guia Origem da atividade de cópia.

Captura de ecrã das opções de partição

Quando você habilita a cópia particionada, a atividade de cópia executa consultas paralelas na origem do Microsoft Fabric Warehouse para carregar dados por partições. O grau paralelo é controlado pela parallelCopies configuração na atividade de cópia. Por exemplo, se você definir parallelCopies como quatro, o serviço gerará e executará simultaneamente quatro consultas com base na opção e nas configurações de partição especificadas, e cada consulta recuperará uma parte dos dados do Microsoft Fabric Warehouse.

Sugere-se que habilite a cópia paralela com particionamento de dados, especialmente quando você carrega uma grande quantidade de dados do Microsoft Fabric Warehouse. A seguir estão sugeridas configurações para diferentes cenários. Ao copiar dados para o armazenamento de dados baseado em arquivo, é recomendável gravar em uma pasta como vários arquivos (especifique apenas o nome da pasta), caso em que o desempenho é melhor do que gravar em um único arquivo.

Cenário Configurações sugeridas
Carga completa a partir de uma tabela grande, enquanto com uma coluna inteira ou datetime para particionamento de dados. Opções de partição: Partição de intervalo dinâmico.
Coluna de partição (opcional): especifique a coluna usada para particionar dados. Se não for especificado, o índice ou a coluna de chave primária será usado.
Limite superior da partição e limite inferior da partição (opcional): Especifique se deseja determinar o passo da partição. Isso não é para filtrar as linhas na tabela, e todas as linhas na tabela serão particionadas e copiadas. Se não for especificado, a atividade de cópia detetará automaticamente os valores.

Por exemplo, se a coluna de partição "ID" tiver valores que variam de 1 a 100 e você definir o limite inferior como 20 e o limite superior como 80, com cópia paralela como 4, o serviço recuperará dados por 4 partições - IDs no intervalo <=20, [21, 50], [51, 80] e >=81, respectivamente.
Carregue uma grande quantidade de dados usando uma consulta personalizada, enquanto com uma coluna inteira ou data/data/hora para particionamento de dados. Opções de partição: Partição de intervalo dinâmico.
Consulta: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Coluna de partição: especifique a coluna usada para particionar dados.
Limite superior da partição e limite inferior da partição (opcional): Especifique se deseja determinar o passo da partição. Isso não serve para filtrar as linhas na tabela, e todas as linhas no resultado da consulta serão particionadas e copiadas. Se não for especificado, a atividade de cópia detetará automaticamente o valor.

Por exemplo, se a coluna de partição "ID" tiver valores que variam de 1 a 100 e você definir o limite inferior como 20 e o limite superior como 80, com cópia paralela como 4, o serviço recuperará dados por 4 partições - IDs no intervalo <=20, [21, 50], [51, 80] e >=81, respectivamente.

Aqui estão mais consultas de exemplo para diferentes cenários:
1. Consulte toda a tabela:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Consulta a partir de uma tabela com seleção de colunas e filtros adicionais de cláusula where:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Consulta com subconsultas:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Consulta com partição em subconsulta:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Práticas recomendadas para carregar dados com a opção de partição:

  • Escolha uma coluna distinta como coluna de partição (como chave primária ou chave exclusiva) para evitar distorção de dados.
  • Se você usar o Tempo de Execução de Integração do Azure para copiar dados, poderá definir "Unidades de Integração de Dados (DIU)" (>4) maiores para utilizar mais recursos de computação. Verifique os cenários aplicáveis lá.
  • "Grau de paralelismo de cópia" controlar os números de partição, definir este número muito grande às vezes prejudica o desempenho, recomendo definir este número como (DIU ou número de nós IR auto-hospedados) * (2 a 4).
  • Observe que o Microsoft Fabric Warehouse pode executar um máximo de 32 consultas por momento, definir "Grau de paralelismo de cópia" muito grande pode causar um problema de limitação do Warehouse.

Exemplo: consulta com partição de intervalo dinâmico

"source": {
    "type": "WarehouseSource",
    "query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Use a instrução COPY para carregar dados no Microsoft Fabric Warehouse

Usar a instrução COPY é uma maneira simples e flexível de carregar dados no Microsoft Fabric Warehouse com alta taxa de transferência. Para saber mais detalhes, verifique Dados de carregamento em massa usando a instrução COPY

  • Se os dados de origem estiverem no Blob do Azure ou no Azure Data Lake Storage Gen2 e o formato for compatível com a instrução COPY, você poderá usar a atividade de cópia para invocar diretamente a instrução COPY para permitir que o Microsoft Fabric Warehouse extraia os dados da origem. Para obter detalhes, consulte Cópia direta usando a instrução COPY.
  • Se o armazenamento de dados de origem e o formato não forem originalmente suportados pela instrução COPY, use o recurso Cópia em etapas usando a instrução COPY. O recurso de cópia em estágios também oferece uma melhor taxa de transferência. Ele converte automaticamente os dados em formato compatível com a instrução COPY, armazena os dados no armazenamento de Blob do Azure e, em seguida, chama a instrução COPY para carregar dados no Microsoft Fabric Warehouse.

Gorjeta

Ao usar a instrução COPY com o Azure Integration Runtime, as Unidades de Integração de Dados (DIU) efetivas são sempre 2. Ajustar a DIU não afeta o desempenho.

Cópia direta usando a instrução COPY

A instrução COPY do Microsoft Fabric Warehouse suporta diretamente o Azure Blob, o Azure Data Lake Storage Gen1 e o Azure Data Lake Storage Gen2. Se os dados de origem atenderem aos critérios descritos nesta seção, use a instrução COPY para copiar diretamente do armazenamento de dados de origem para o Microsoft Fabric Warehouse. Caso contrário, use Cópia em etapas usando a instrução COPY. O serviço verifica as configurações e falha na execução da atividade de cópia se os critérios não forem atendidos.

  • O serviço vinculado de origem e o formato estão com os seguintes tipos e métodos de autenticação:

    Tipo de armazenamento de dados de origem suportado Formato suportado Tipo de autenticação de origem suportado
    Azure Blob Texto delimitado Autenticação de chave de conta, autenticação de assinatura de acesso compartilhado
      Parquet Autenticação de chave de conta, autenticação de assinatura de acesso compartilhado
    Azure Data Lake Storage Gen2 (Armazenamento do Azure Data Lake Gen2) Texto delimitado
    Parquet
    Autenticação de chave de conta, autenticação de assinatura de acesso compartilhado
  • As configurações de formato são as seguintes:

    • Para Parquet: compression pode ser sem compressão, Snappy ou GZip.
    • Para o texto delimitado:
      • rowDelimiter é explicitamente definido como caractere único ou "\r\n", o valor padrão não é suportado.
      • nullValue é deixado como padrão ou definido como string vazia ("").
      • encodingName é deixado como padrão ou definido como utf-8 ou utf-16.
      • escapeChar deve ser igual a quoteChar, e não está vazio.
      • skipLineCount é deixado como padrão ou definido como 0.
      • compression pode ser sem compressão ou GZip.
  • Se a origem for uma pasta, recursive a atividade de cópia deve ser definida como true e wildcardFilename precisa ser * ou *.*.

  • wildcardFolderPath, wildcardFilename (exceto *ou *.*), modifiedDateTimeStart, , modifiedDateTimeEndprefix, e enablePartitionDiscovery additionalColumns não são especificados.

As seguintes configurações de instrução COPY são suportadas em allowCopyCommand atividade de cópia:

Property Descrição Obrigatório
defaultValues Especifica os valores padrão para cada coluna de destino no Microsoft Fabric Warehouse. Os valores padrão na propriedade substituem a restrição DEFAULT definida no data warehouse, e a coluna de identidade não pode ter um valor padrão. Não
opções adicionais Opções adicionais que serão passadas para uma instrução COPY do Microsoft Fabric Warehouse diretamente na cláusula "Com" na instrução COPY. Cote o valor conforme necessário para alinhar com os requisitos da instrução COPY. Não
"activities":[
    {
        "name": "CopyFromAzureBlobToMicrosoftFabricWarehouseViaCOPY",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "ParquetDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ParquetSource",
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "copyCommandSettings": {
                    "defaultValues": [
                        {
                            "columnName": "col_string",
                            "defaultValue": "DefaultStringValue"
                        }
                    ],
                    "additionalOptions": {
                        "MAXERRORS": "10000",
                        "DATEFORMAT": "'ymd'"
                    }
                }
            },
            "enableSkipIncompatibleRow": true
        }
    }
]

Cópia em etapas usando a instrução COPY

Quando os dados de origem não forem nativamente compatíveis com a instrução COPY, habilite a cópia de dados por meio de um Blob do Azure de preparo provisório ou do Azure Data Lake Storage Gen2 (não pode ser o Armazenamento Premium do Azure). Nesse caso, o serviço converte automaticamente os dados para atender aos requisitos de formato de dados da instrução COPY. Em seguida, ele invoca a instrução COPY para carregar dados no Microsoft Fabric Warehouse. Finalmente, ele limpa seus dados temporários do armazenamento. Consulte Cópia em etapas para obter detalhes sobre como copiar dados por meio de um preparo.

Para usar esse recurso, crie um serviço vinculado do Armazenamento de Blobs do Azure ou um serviço vinculado do Azure Data Lake Storage Gen2 com chave de conta ou autenticação de identidade gerenciada pelo sistema que se refere à conta de armazenamento do Azure como o armazenamento provisório.

Importante

  • Ao usar a autenticação de identidade gerenciada para seu serviço vinculado de preparo, aprenda as configurações necessárias para o Blob do Azure e o Azure Data Lake Storage Gen2 , respectivamente.
  • Se o seu Armazenamento do Azure de preparo estiver configurado com o ponto de extremidade do serviço VNet, você deverá usar a autenticação de identidade gerenciada com "permitir serviço confiável da Microsoft" habilitado na conta de armazenamento, consulte Impacto do uso de Pontos de Extremidade de Serviço VNet com o armazenamento do Azure.

Importante

Se o Armazenamento do Azure de preparo estiver configurado com o Ponto de Extremidade Privado Gerenciado e tiver o firewall de armazenamento habilitado, você deverá usar a autenticação de identidade gerenciada e conceder permissões de Leitor de Dados de Blob de Armazenamento ao SQL Server Synapse para garantir que ele possa acessar os arquivos em estágios durante o carregamento da instrução COPY.

"activities":[
    {
        "name": "CopyFromSQLServerToMicrosoftFabricWarehouseViaCOPYstatement",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "SQLServerDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true
            },
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingStorage",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
]

Mapeando propriedades de fluxo de dados

Ao transformar dados em mapeamento de fluxo de dados, você pode ler e gravar em tabelas do Microsoft Fabric Warehouse. Para obter mais informações, consulte a transformação de origem e a transformação de coletor no mapeamento de fluxos de dados.

Microsoft Fabric Warehouse como origem

As configurações específicas do Microsoft Fabric Warehouse estão disponíveis na guia Opções de origem da transformação de origem.

Nome Descrição Obrigatório Valores Permitidos Propriedade do script de fluxo de dados
Entrada Selecione se você aponta sua fonte para uma tabela (equivalente a Selecionar * do nome da tabela) ou insira uma consulta SQL personalizada ou recupere dados de um Procedimento Armazenado. Consulta: Se você selecionar Consulta no campo de entrada, insira uma consulta SQL para sua fonte. Essa configuração substitui qualquer tabela escolhida no conjunto de dados. As cláusulas Order By não são suportadas aqui, mas você pode definir uma instrução SELECT FROM completa. Você também pode usar funções de tabela definidas pelo usuário. select * from udfGetData() é um UDF em SQL que retorna uma tabela. Essa consulta produzirá uma tabela de origem que você pode usar em seu fluxo de dados. Usar consultas também é uma ótima maneira de reduzir linhas para testes ou pesquisas. Exemplo de SQL: Select * from MyTable where customerId > 1000 and customerId < 2000 Sim Tabela ou consulta ou procedimento armazenado Formato: 'Tabela'
Tamanho do lote Insira um tamanho de lote para fragmentar dados grandes em leituras. Em fluxos de dados, essa configuração será usada para definir o cache colunar do Spark. Este é um campo de opção, que usará os padrões do Spark se for deixado em branco. Não Valores numéricos Tamanho do lote: 1234
Nível de isolamento O padrão para fontes SQL no mapeamento do fluxo de dados é ler sem confirmação. Você pode alterar o nível de isolamento aqui para um destes valores:• Ler comprometido • Ler não confirmado • Leitura repetível • Serializável • Nenhum (ignorar nível de isolamento) Sim • Leitura confirmada • Leitura não confirmada • Leitura repetível • Serializável • Nenhuma (ignorar o nível de isolamento) Nível de isolamento

Nota

Não há suporte para leitura via preparo. O suporte CDC para a origem do Microsoft Fabric Warehouse não está disponível no momento.

Microsoft Fabric Warehouse como a pia

As configurações específicas do Microsoft Fabric Warehouse estão disponíveis na guia Configurações da transformação do coletor.

Nome Descrição Obrigatório Valores Permitidos Propriedade do script de fluxo de dados
Método de atualização Determina quais operações são permitidas no destino do banco de dados. O padrão é permitir apenas inserções. Para atualizar, atualizar ou excluir linhas, uma transformação de linha de alteração é necessária para marcar linhas para essas ações. Para atualizações, upserts e exclusões, uma coluna ou colunas de chave devem ser definidas para determinar qual linha alterar. Sim verdadeiro ou falso inserível deletable upsertable atualizável
Ação da tabela Determina se todas as linhas da tabela de destino devem ser recriadas ou removidas antes de escrever.• Nenhuma: nenhuma ação será executada na tabela. • Recriar: A tabela será descartada e recriada. Necessário se criar uma nova tabela dinamicamente.• Truncate: Todas as linhas da tabela de destino serão removidas. Não Nenhum ou recriar ou truncar recriar: true truncate: true
Ativar o teste O armazenamento de preparo é configurado na atividade Executar fluxo de dados. Ao usar a autenticação de identidade gerenciada para seu serviço vinculado de armazenamento, aprenda as configurações necessárias para o Blob do Azure e o Azure Data Lake Storage Gen2 , respectivamente. Se o seu Armazenamento do Azure estiver configurado com o ponto de extremidade do serviço VNet, você deverá usar a autenticação de identidade gerenciada com "permitir serviço confiável da Microsoft" habilitado na conta de armazenamento, consulte Impacto do uso de Pontos de Extremidade de Serviço VNet com o armazenamento do Azure. Não verdadeiro ou falso encenado: verdadeiro
Tamanho do lote Controla quantas linhas estão sendo escritas em cada bucket. Lotes maiores melhoram a compactação e a otimização da memória, mas correm o risco de exceções de falta de memória ao armazenar dados em cache. Não Valores numéricos Tamanho do lote: 1234
Usar esquema de coletor Por padrão, uma tabela temporária será criada sob o esquema de coletor como preparação. Como alternativa, você pode desmarcar a opção Usar esquema de coletor e, em vez disso, em Selecionar esquema de banco de dados do usuário, especificar um nome de esquema sob o qual o Data Factory criará uma tabela de preparo para carregar dados upstream e limpá-los automaticamente após a conclusão. Verifique se você tem permissão para criar tabela no banco de dados e alterar permissão no esquema. Não verdadeiro ou falso stagingSchemaName
Scripts pré e pós SQL Insira scripts SQL de várias linhas que serão executados antes (pré-processamento) e depois que os dados (pós-processamento) forem gravados no banco de dados do Sink Não Scripts SQL preSQLs:['set IDENTITY_INSERT mytable ON'] postSQLs:['set IDENTITY_INSERT mytable OFF'],

Processamento da linha de erro

Por padrão, uma execução de fluxo de dados falhará no primeiro erro que receber. Você pode optar por Continuar no erro que permite que o fluxo de dados seja concluído mesmo que linhas individuais tenham erros. O serviço fornece diferentes opções para você lidar com essas linhas de erro.

Confirmação de transação: escolha se seus dados são gravados em uma única transação ou em lotes. Uma única transação proporcionará um melhor desempenho e nenhum dado gravado será visível para outras pessoas até que a transação seja concluída. As transações em lote têm pior desempenho, mas podem funcionar para grandes conjuntos de dados.

Dados rejeitados de saída: se habilitado, você pode gerar as linhas de erro em um arquivo csv no Armazenamento de Blobs do Azure ou em uma conta do Azure Data Lake Storage Gen2 de sua escolha. Isso gravará as linhas de erro com três colunas adicionais: a operação SQL como INSERT ou UPDATE, o código de erro de fluxo de dados e a mensagem de erro na linha.

Relatar erro bem-sucedido: Se habilitado, o fluxo de dados será marcado como um sucesso, mesmo se forem encontradas linhas de erro.

Nota

Para o Serviço Vinculado de Armazém do Microsoft Fabric, o tipo de autenticação suportado para a Entidade de Serviço é 'Chave'; A autenticação de 'certificado' não é suportada.

Propriedades da atividade de pesquisa

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Propriedades de atividade GetMetadata

Para saber detalhes sobre as propriedades, verifique a atividade GetMetadata

Mapeamento de tipo de dados para o Microsoft Fabric Warehouse

Quando você copia dados do Microsoft Fabric Warehouse, os mapeamentos a seguir são usados de tipos de dados do Microsoft Fabric Warehouse para tipos de dados provisórios dentro do serviço internamente. Para saber como a atividade de cópia mapeia o esquema de origem e o tipo de dados para o coletor, consulte Mapeamentos de esquema e tipo de dados.

Tipo de dados do Microsoft Fabric Warehouse Tipo de dados provisórios do Data Factory
bigint Int64
binário Byte[]
bit Boolean
char String, Char[]
data DateTime
datetime2 DateTime
Decimal Decimal
Atributo FILESTREAM (varbinary(max)) Byte[]
Float Duplo
número inteiro Int32
numérico Decimal
real Única
smallint Int16
hora TimeSpan
uniqueidentifier GUID
Varbinary Byte[]
varchar String, Char[]

Próximos passos

Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.