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.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise 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.
Funcionalidades com suporte
Este conector do Microsoft Fabric Warehouse tem suporte para os seguintes recursos:
| Funcionalidades com suporte | IR | Ponto de extremidade privado gerenciado |
|---|---|---|
| Atividade de cópia (origem/coletor) | (1) (2) | ✓ |
| Fluxo de dados de mapeamento (origem/coletor) | ① | ✓ |
| Atividade de pesquisa | (1) (2) | ✓ |
| Atividade GetMetadata | (1) (2) | ✓ |
| Atividade de Script | (1) (2) | ✓ |
| Stored procedure activity (Atividade de procedimento armazenado) | (1) (2) | ✓ |
① Tempo de execução de integração do Azure ② Tempo de execução de integração auto-hospedado
Introdução
Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:
- Ferramenta Copiar Dados
- Portal do Azure
- SDK do .NET
- SDK do Python
- PowerShell do Azure
- REST API
- Modelo do Azure Resource Manager
Propriedades do serviço vinculado
O conector do Microsoft Fabric Warehouse dá suporte aos seguintes tipos de autenticação. Consulte as seções correspondentes para obter detalhes:
- Autenticação de entidade de serviço
- Autenticação de identidade gerenciada atribuída pelo sistema
- Autenticação de identidade gerenciada atribuída pelo usuário
Autenticação de entidade de serviço
Para usar a autenticação de entidade de serviço, siga estas etapas.
Registrar um aplicativo com a plataforma Microsoft Identity e adicionar um de segredo do cliente. Em seguida, anote estes valores; ele são usados para definir o serviço vinculado:
- ID do aplicativo (cliente), que é a ID da entidade de serviço no serviço vinculado.
- Valor do segredo do cliente, que é a chave da entidade de serviço no serviço vinculado.
- ID do locatário
Conceda à entidade de serviço, pelo menos, a função Colaborador no workspace do Microsoft Fabric. Siga as etapas em Conceder permissões no workspace do Microsoft Fabric.
Estas propriedades têm suporte para o serviço vinculado:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type deve ser definida como Warehouse. | Sim |
| ponto de extremidade | O ponto de extremidade do servidor do Microsoft Fabric Warehouse. | Sim |
| workspaceId | A ID do workspace do Microsoft Fabric. | Sim |
| artifactId (identificador do artefato) | A ID de objeto do Microsoft Fabric Warehouse. | Sim |
| locatário | Especifique as informações de locatário (domínio nome ou ID do Locatário) em que o aplicativo reside. Recupere-as passando o mouse no canto superior direito do Portal do Azure. | Sim |
| servicePrincipalId | Especifique a ID do cliente do aplicativo. | Sim |
| Tipo de Credencial do Service Principal | O tipo de credencial a ser usada 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 do segredo do cliente do aplicativo. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Quando usar ServicePrincipalCert como credencial, faça referência a um certificado no Azure Key Vault e verifique se o tipo de conteúdo do certificado é PKCS nº 12. |
Sim |
| connectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados. Você pode usar o Azure Integration Runtime ou um runtime de integração auto-hospedada se o seu armazenamento de dados estiver em uma rede privada. Se não especificado, o Azure Integration Runtime padrão será usado. | Não |
Exemplo: usar a autenticação de chave de entidade de serviço
Você também pode armazenar a chave de entidade de serviço no Azure Key Vault.
{
"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"
}
}
}
Autenticação de identidade gerenciada atribuída pelo sistema
Um pipeline do data factory ou do Synapse pode ser associado a uma identidade gerenciada atribuída pelo sistema para recursos do Azure, que representa esse recurso para autenticação em outros serviços do Azure. Você pode usar diretamente essa identidade gerenciada atribuída pelo sistema para autenticação do Microsoft Fabric Warehouse, que é semelhante ao uso de sua própria entidade de serviço. Ela permite que esse recurso designado acesse e copie dados de ou para o Microsoft Fabric Warehouse. Para saber mais sobre as identidades gerenciadas para recursos do Azure, confira Identidades gerenciadas para recursos do Azure.
Para usar identidades gerenciadas para autenticação de recursos do Azure, siga estas etapas:
Recuperar identidade gerenciada atribuída pelo sistema copiando o valor da ID de objeto de identidade gerenciada atribuída pelo sistema gerado com o workspace do Factory ou do Synapse.
Conceda à identidade gerenciada atribuída pelo sistema pelo menos a função Colaborador no workspace do Microsoft Fabric. Siga as etapas em Conceder permissões no workspace do Microsoft Fabric
Essas propriedades têm suporte para um serviço vinculado do Microsoft Fabric Warehouse:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type deve ser definida como Warehouse. | Sim |
| ponto de extremidade | O ponto de extremidade do servidor do Microsoft Fabric Warehouse. | Sim |
| workspaceId | A ID do workspace do Microsoft Fabric. | Sim |
| artifactId (identificador do artefato) | A ID de objeto do Microsoft Fabric Warehouse. | Sim |
| connectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados. Você pode usar o Azure Integration Runtime ou um runtime de integração auto-hospedada se o seu armazenamento de dados estiver em uma rede privada. Se não especificado, o Azure Integration Runtime padrão será usado. | Não |
Example:
{
"name": "MicrosoftFabricWarehouseLinkedService",
"properties": {
"type": "Warehouse",
"typeProperties": {
"endpoint": "<Microsoft Fabric Warehouse server endpoint>",
"workspaceId": "<Microsoft Fabric workspace ID>",
"artifactId": "<Microsoft Fabric Warehouse object ID>",
"authenticationType": "SystemAssignedManagedIdentity"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Observação
Não há suporte para esse tipo de autenticação no runtime de integração auto-hospedada.
Autenticação de identidade gerenciada atribuída pelo usuário
Um data factory pode ser atribuído com uma ou várias identidades gerenciadas atribuídas pelo usuário. Você pode usar essa identidade gerenciada atribuída pelo usuário para a autenticação do Microsoft Fabric Warehouse, que permite acessar e copiar dados de ou para o Microsoft Fabric Warehouse. Para saber mais sobre as identidades gerenciadas para recursos do Azure, confira Identidades gerenciadas para recursos do Azure.
Para usar a autenticação de identidade gerenciada atribuída pelo usuário, siga estas etapas:
Crie uma ou várias identidades gerenciadas atribuídas pelo usuário.
Conceda à identidade gerenciada atribuída pelo usuário pelo menos a função Colaborador no workspace do Microsoft Fabric. Siga as etapas em Conceder permissões no workspace do Microsoft Fabric.
Atribua uma ou várias identidades gerenciadas atribuídas pelo usuário ao data factory e crie credenciais para cada identidade gerenciada atribuída pelo usuário.
Essas propriedades têm suporte para um serviço vinculado do Microsoft Fabric Warehouse:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type deve ser definida como Warehouse. | Sim |
| ponto de extremidade | O ponto de extremidade do servidor do Microsoft Fabric Warehouse. | Sim |
| workspaceId | A ID do workspace do Microsoft Fabric. | Sim |
| artifactId (identificador do artefato) | A ID de objeto do Microsoft Fabric Warehouse. | Sim |
| credenciais | Especifique a identidade gerenciada atribuída pelo usuário como o objeto da credencial. | Sim |
| connectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados. Use o Azure Integration Runtime ou o runtime de integração auto-hospedada (se o seu armazenamento de dados estiver em uma rede privada). Se essa propriedade não for especificada, o serviço usará o Azure Integration Runtime padrão. | Não |
Example:
{
"name": "MicrosoftFabricWarehouseLinkedService",
"properties": {
"type": "Warehouse",
"typeProperties": {
"endpoint": "<Microsoft Fabric Warehouse server endpoint>",
"workspaceId": "<Microsoft Fabric workspace ID>",
"artifactId": "<Microsoft Fabric Warehouse object ID>",
"authenticationType": "UserAssignedManagedIdentity",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Conceder permissões no workspace do Microsoft Fabric
Você precisa conceder à entidade de serviço/identidade gerenciada atribuída pelo sistema/identidade gerenciada atribuída pelo usuário pelo menos a função Colaborador no workspace do Microsoft Fabric. Siga estas etapas:
Acesse o workspace do Microsoft Fabric e selecione Gerenciar acesso na barra superior. Em seguida, selecione Adicionar pessoas ou grupos.
No painel Adicionar pessoas, insira sua entidade de serviço/identidade gerenciada atribuída pelo sistema/nome da identidade gerenciada atribuída pelo usuário e selecione-a na lista suspensa.
Especifique a função como Colaborador ou superior (administrador, membro) e escolha Adicionar.
Sua entidade de serviço/identidade gerenciada atribuída pelo sistema/gerenciada atribuída pelo usuário é exibida no painel Gerenciar acesso.
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.
Navegue até a guia Gerenciar no workspace do Azure Data Factory ou do Synapse e selecione Serviços Vinculados. Depois, selecione Novo:
Pesquise por Warehouse e selecione o conector.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Propriedades do conjunto de dados
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados.
As propriedades a seguir têm suporte para o conjunto de dados do Microsoft Fabric Warehouse:
| Propriedade | 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 fonte, Sim para o coletor |
| tabela | Nome da tabela/exibição. | Não para fonte, Sim para o coletor |
Exemplo de propriedades do 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 de cópia
Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, confira Copiar configurações de atividade e Pipelines e atividades. Esta seção fornece uma lista de propriedades compatíveis com a origem e o coletor do Microsoft Fabric Warehouse.
Microsoft Fabric Warehouse como a origem
Dica
Para carregar dados do Microsoft Fabric Warehouse com eficiência usando o particionamento de dados, saiba mais na seção Cópia paralela do Microsoft Fabric Warehouse.
Para copiar dados do Microsoft Fabric Warehouse, defina a propriedade type na origem da Atividade de Cópia como WarehouseSource. As seguintes propriedades são suportadas na seção source da atividade de cópia:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type da origem da Atividade de Cópia deve ser definida como WarehouseSource. | Sim |
| sqlReaderQuery | Utiliza a consulta SQL personalizada para ler os 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. Valores permitidos são pares de nome ou valor. Nomes e uso de maiúsculas e minúsculas de parâmetros devem corresponder aos nomes e o uso de maiúsculas e minúsculas 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 origem do 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, confira system.data.isolationlevel. | Não |
| opçõesDePartição | Especifica as opções de particionamento de dados usadas para carregar dados do Microsoft Fabric Warehouse. Os valores permitidos são: None (padrão) e DynamicRange. Quando uma opção de partição é habilitada (ou seja, não None), o grau de paralelismo para carregar dados simultaneamente de um Microsoft Fabric Warehouse é controlado pela configuração parallelCopies na atividade de cópia. |
Não |
| ConfiguraçõesDePartição | Especifique o grupo de configurações para o particionamento de dados. Aplique quando a opção de partição não for None. |
Não |
Em partitionSettings: |
||
| nomeDaColunaDePartição | Especifique o nome da coluna de origem no tipo inteiro ou data/datetime (int, smallint, bigint, date, datetime2) 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 será detectada automaticamente e usada como coluna de partição.Aplicar quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?DfDynamicRangePartitionCondition na cláusula WHERE. Para obter um exemplo, consulte a seção cópia paralela do Microsoft Fabric Warehouse. |
Não |
| limite superior da partição | O valor máximo da coluna de partição para divisão do intervalo de partição. Esse valor é usado para decidir o stride da partição, e não para filtrar as linhas na tabela. Todas as linhas da tabela ou do resultado da consulta serão particionadas e copiadas. Se não for especificado, a atividade Copy detectará o valor automaticamente. Aplicar 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 |
| partitionLowerBound | O valor mínimo da coluna de partição para divisão do intervalo de partição. Esse valor é usado para decidir o stride da partição, e não para filtrar as linhas na tabela. Todas as linhas da tabela ou do resultado da consulta serão particionadas e copiadas. Se não for especificado, a atividade Copy detectará o valor automaticamente. Aplicar 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 |
Observação
Ao usar o procedimento armazenado na origem para recuperar dados, observe que se o procedimento armazenado for projetado como retornando esquemas diferentes quando um valor de parâmetro diferente for passado, você poderá encontrar uma falha ou ver um resultado inesperado ao importar o esquema da interface do usuário ou ao copiar dados para o Microsoft Fabric Warehouse com a criação de tabela automática.
Exemplo: usar 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: usar 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>"
}
}
}
]
Procedimento armazenado de exemplo:
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 coletor
Os pipelines do Azure Data Factory e do Synapse dão suporte ao Uso da instrução COPY para carregar dados no Microsoft Fabric Warehouse.
Para copiar dados para o Microsoft Fabric Warehouse, defina o tipo de coletor em Atividade de Cópia para WarehouseSink. As seguintes propriedades são suportadas na seção Copy Activity sink:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type do coletor de Atividade de Cópia deve ser definida como WarehouseSink. | Sim |
| allowCopyCommand | Indica se a instrução COPY deve ser usada para carregar dados no Microsoft Fabric Warehouse. Consulte Usar a instrução COPY para carregar dados na seção Microsoft Fabric Warehouse para obter restrições e detalhes. O valor permitido é True. |
Sim |
| copyCommandSettings | Um grupo de propriedades que pode ser especificado quando a propriedade allowCopyCommand está definida como TRUE. |
Não |
| writeBatchTimeout | Essa propriedade especifica o tempo de espera para que a operação de inserção, upsert e procedimento armazenado seja concluída antes de atingir o tempo limite. Os valores permitidos são para o timespan. Um exemplo é "00:30:00" por 30 minutos. Se nenhum valor for especificado, o tempo limite padrão será "00:30:00" |
Não |
| preCopyScript | Especifique uma consulta SQL para a Atividade de Cópia a ser executada antes de gravar dados no Microsoft Fabric Warehouse em cada execução. Use essa propriedade para limpar os dados pré-carregados. | Não |
| Opções da Tabela | Especifica se a tabela do coletor deve ser criada automaticamente caso ela não exista com base no esquema de origem. Os valores permitidos são none (padrão) e 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.
Quando você habilita a cópia particionada, a atividade de cópia executa consultas paralelas em sua fonte do Microsoft Fabric Warehouse para carregar dados por partições. O grau paralelo é controlado pela configuração do parallelCopies 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 de partição e nas configurações especificadas, e cada consulta recuperará uma parte dos dados do Microsoft Fabric Warehouse.
Você é sugerido para habilitar a cópia paralela com o particionamento de dados, especialmente quando você carrega uma grande quantidade de dados do Microsoft Fabric Warehouse. Veja a seguir as configurações sugeridas para cenários diferentes. Ao copiar dados para o armazenamento de dados baseado em arquivo, recomendamos gravá-los em uma pasta como vários arquivos (apenas especifique o nome da pasta) para ter um desempenho melhor do que gravar em um arquivo.
| Cenário | Configurações sugeridas |
|---|---|
| Carga completa da tabela grande, enquanto com uma coluna de número inteiro 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 especificada, a coluna de chave primária ou de índice será usada. Limite superior da partição e limite inferior da partição (opcional): especifique se deseja determinar o stride 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 Copy detectará os valores automaticamente. Por exemplo, se a “ID” da coluna de partição tiver valores no intervalo de 1 a 100 e você definir o limite inferior como 20 e o limite superior como 80, com a cópia paralela definida como 4, o serviço recuperará dados por 4 IDs de partição no intervalo <=20, [21, 50], [51, 80], e >=81, respectivamente. |
| Carregue uma grande quantidade de dados usando uma consulta personalizada, enquanto com uma coluna inteiro ou data/datetime 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 stride da partição. Isso não é 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 Copy detectará o valor automaticamente. Por exemplo, se a “ID” da coluna de partição tiver valores no intervalo de 1 a 100 e você definir o limite inferior como 20 e o limite superior como 80, com a cópia paralela definida como 4, o serviço recuperará dados por 4 IDs de partição no intervalo <=20, [21, 50], [51, 80], e >=81, respectivamente. Veja mais exemplos de consultas para diferentes cenários: 1. Consultar a tabela inteira: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition2. Consultar em uma tabela com seleção de coluna e filtros de cláusula where adicionais: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>3. Consultar com subconsultas: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>4. Consultar com partição na subconsulta: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Melhores práticas para carregar dados com a opção de partição:
- Escolha a coluna distinta como coluna de partição (como chave primária ou chave exclusiva) para evitar a distorção de dados.
- Se você usa o Azure Integration Runtime para copiar dados, pode definir "DIUs (unidades de integração de dados)" maiores (>4) para utilizar mais recursos de computação. Verifique os cenários aplicáveis.
- O "grau de paralelismo de cópia" controla os números de partições. Às vezes, definir um número muito grande afeta o desempenho; é recomendável definir esse número como (DIU ou número de nós de IR auto-hospedados) * (2 a 4).
- Observe que o Microsoft Fabric Warehouse pode executar no máximo 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 a partição do 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>"
}
}
Usar 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, confira 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 efetue pull dos dados da origem. Para obter mais detalhes, confira Cópia direta usando a instrução COPY.
- Se o armazenamento e o formato de dados de origem não forem originalmente suportados pela instrução COPY, use o recurso Cópia preparada usando a instrução COPY. O recurso de cópia em etapas também proporciona 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 Blobs do Azure e, em seguida, chama a instrução COPY para carregar dados no Microsoft Fabric Warehouse.
Dica
Ao usar a instrução COPY com o Azure Integration Runtime, as DIUs (unidades de integração de dados) 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 dá suporte diretamente ao Blob do Azure, ao Azure Data Lake Storage Gen1 e ao 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 preparada 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 acompanham os seguintes tipos e métodos de autenticação:
Tipo de armazenamento de dados de origem compatíveis Formato compatível Tipos de autenticação de origem compatíveis Blob do Azure Texto delimitado Autenticação de chave de conta, autenticação de assinatura de acesso compartilhado Parquete Autenticação de chave de conta, autenticação de assinatura de acesso compartilhado Azure Data Lake Storage Gen2 Texto delimitado
ParqueteAutenticação de chave de conta, autenticação de assinatura de acesso compartilhado As configurações de formato têm as seguintes particularidades:
- Para Parquet:
compressionpode ser sem compactação, Snappy ouGZip. - Para Texto delimitado:
-
rowDelimiteré definido explicitamente como caractere único ou "\r\n", o valor padrão não é compatível. -
nullValueé deixado como padrão ou definido como cadeia de caracteres vazia (""). -
encodingNameé deixado como padrão ou definido como utf-8 ou utf-16. -
escapeCharprecisa ser o mesmo quequoteChare não está vazio. -
skipLineCounté deixado como padrão ou definido como 0. -
compressionpode ser nenhuma compactação ouGZip.
-
- Para Parquet:
Se sua fonte for uma pasta,
recursivena atividade de cópia precisará ser definida como true ewildcardFilenameprecisará ser*ou*.*.wildcardFolderPath,wildcardFilename(além de*ou*.*),modifiedDateTimeStart,modifiedDateTimeEnd,prefix,enablePartitionDiscoveryeadditionalColumnsnão são especificados.
As seguintes configurações da instrução COPY são compatíveis em allowCopyCommand na atividade de cópia:
| Propriedade | 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 "With" na instrução COPY. Coloque o valor entre aspas 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 preparada usando a instrução COPY
Quando os dados de origem não são nativamente compatíveis com a instrução COPY, habilite a cópia de dados por meio de uma instância provisória do Blob do Azure 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. Por fim, ele limpa os dados temporários do armazenamento. Confira Cópia de preparo para obter detalhes sobre a cópia de dados por meio do 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 Assinatura de acesso compartilhado, autenticação anônima ou de chave de conta que se refere à conta de armazenamento do Azure como armazenamento provisório.
Importante
- Ao usar a autenticação de identidade gerenciada para o serviço vinculado de preparo, conheça as configurações necessárias para o Blob do Azure e o Azure Data Lake Storage Gen2 respectivamente.
- Se o Armazenamento do Azure de preparo estiver configurado com o ponto de extremidade de serviço de VNet, você precisará usar a autenticação de identidade gerenciada com a opção "permitir serviço confiável da Microsoft" habilitada na conta de armazenamento. Confira Impacto de usar pontos de extremidade de serviço de VNet com 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, use a autenticação de identidade gerenciada e conceda permissões de Leitor de Dados de Blob do Armazenamento para o SQL Server do Synapse para garantir que ele possa acessar os arquivos preparados 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"
}
}
}
}
]
Propriedades do fluxo de dados de mapeamento
Ao transformar dados no fluxo de dados de mapeamento, é possível ler e gravar em tabelas do Warehouse do Microsoft Fabric. Para obter mais informações, confira transformação de origem e transformação do coletor nos fluxos de dados de mapeamento.
Microsoft Fabric Warehouse como a origem
As configurações específicas do Warehouse do Microsoft Fabric 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 do Fluxo de Dados |
|---|---|---|---|---|
| Entrada | Selecione se você aponta sua origem para uma tabela (equivalente a Selecionar * do nome da tabela), 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 a origem. Essa configuração substitui qualquer tabela que você tenha escolhido no conjunto de dados.
Cláusulas Order By não são compatíveis aqui, mas você pode definir uma instrução SELECT FROM completa. Também pode usar funções de tabela definidas pelo usuário.
select * from udfGetData() é um UDF no SQL que retorna uma tabela. Essa consulta produzirá uma tabela de origem que você pode usar em seu fluxo de dados. O uso de 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 dividir dados grandes em leituras. Em fluxos de dados, essa configuração será usada para definir o cache de coluna do Spark. Este é um campo opcional que usará padrões do Spark se ele for deixado em branco. | Não | Valores numerais | batchSize/1234 |
| Nível de Isolamento | o padrão para as origens SQL no fluxo de dados de mapeamento é leitura não confirmada. Você pode alterar o nível de isolamento aqui para um destes valores:• Read Committed • Read Uncommitted • Repeatable Read • Serializable • None (ignorar o nível de isolamento) | Sim | • Read Committed • Read Uncommitted • Repeatable Read • Serializable • None (ignorar o nível de isolamento) | nível de isolamento |
Observação
Não há suporte para leitura por meio de preparo. No momento, o suporte à CDA para a origem do Warehouse do Microsoft Fabric não está disponível.
Warehouse do Microsoft Fabric como o coletor
As configurações específicas do Warehouse do Microsoft Fabric estão disponíveis na guia Configurações da transformação do coletor.
| Nome | Descrição | Obrigatório | Valores Permitidos | Propriedade do script do Fluxo de Dados |
|---|---|---|---|---|
| Método update | determina quais operações são permitidas no destino do banco de dados. O padrão é permitir apenas inserções. Para atualizar, fazer upsert ou excluir linhas, uma transformação alter-row é necessária para marcar as linhas para essas ações. Para atualizações, upserts e exclusões, é necessário selecionar uma coluna de chave ou colunas para determinar qual linha alterar. | Sim | true ou false | inserível apagável alterável atualizável |
| Ação tabela | Determina se deve recriar ou remover todas as linhas da tabela de destino antes da gravação.• Nenhuma: nenhuma ação será feita na tabela. • Recreate: a tabela será descartada e recriada. Obrigatório se criar uma nova tabela dinamicamente.• Truncar: todas as linhas da tabela de destino serão removidas. | Não | Nenhum ou recriar ou truncar | recreate: true truncate: true |
| Habilitar preparo | O armazenamento de preparo é configurado na atividade Executar Fluxo de Dados. Ao usar a autenticação de identidade gerenciada para o serviço vinculado de armazenamento, conheça as configurações necessárias para o Blob do Azure e o Azure Data Lake Storage Gen2 respectivamente. Se o Armazenamento do Azure estiver configurado com o ponto de extremidade de serviço de VNet, você precisará usar a autenticação de identidade gerenciada com a opção “permitir serviço confiável da Microsoft” habilitada na conta de armazenamento. Confira Impacto de usar pontos de extremidade de serviço de VNet com Armazenamento do Azure. | Não | true ou false | staged: true |
| Tamanho do lote | controla quantas linhas estão sendo gravadas em cada bucket. Tamanhos de lote maiores aprimoram a compactação e a otimização de memória, mas geram risco de exceções de memória insuficiente ao armazenar dados em cache. | Não | Valores numerais | batchSize/1234 |
| Usar o esquema do coletor | Por padrão, uma tabela temporária será criada no esquema do coletor como processo de preparo. Como alternativa, você pode desmarcar a opção Usar esquema de coletor e, em vez disso, em Selecionar esquema de banco de dados de usuário, especificar um nome de esquema em que o Data Factory criará uma tabela de preparo para carregar dados upstream e limpá-los automaticamente após a conclusão. Crie a permissão de tabela no banco de dados e altere a permissão no esquema. | Não | true ou false | stagingSchemaName |
| Pré-scripts e Pós-scripts SQL | Insira scripts SQL de várias linhas que serão executados antes (pré-processamento) e após (pós-processamento) os dados serem gravados no banco de dados do coletor | Não | Scripts SQL | preSQLs:['set IDENTITY_INSERT mytable ON'] postSQLs:['set IDENTITY_INSERT mytable OFF'], |
Usando o Fabric Warehouse como coletor com o preparo habilitado
Se o local de armazenamento de preparo tiver um firewall habilitado, poderá ocorrer problemas de acesso.
Soluções alternativas
Regiões diferentes:
Se a capacidade do Fabric e o armazenamento de preparo estiverem em regiões diferentes, verifique se os endereços IP necessários são permitidos no firewall do local de armazenamento para habilitar a conectividade.Mesma região:
Se a capacidade do Fabric e o armazenamento temporário estiverem na mesma região e os problemas de acesso persistirem, escolha uma alternativa de armazenamento temporário em uma região diferente da capacidade do Fabric.
Tratamento da linha de erros
Por padrão, uma execução de fluxo de dados falhará no primeiro erro obtido. Você pode optar por Continuar em caso de erro, o que permite que o fluxo de dados seja concluído mesmo que linhas individuais apresentem erros. O serviço fornece opções diferentes para você identificar essas linhas de erro.
Commit da transação: escolha se os dados serão gravados em uma única transação ou em lotes. Uma única transação proporciona um desempenho melhor, e os dados gravados não ficarão visíveis para outras pessoas até que a transação seja concluída. As transações em lote têm um desempenho pior, mas podem funcionar para grandes conjuntos de dados.
Saída de dados rejeitados: se ativado, você poderá enviar as linhas de erro para um arquivo CSV no Armazenamento de Blobs do Azure ou em uma conta do Azure Data Lake Storage Gen2 à 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 do fluxo de dados e a mensagem de erro na linha.
Relatar sucesso em caso de erro: se ativado, o fluxo de dados será marcado como bem-sucedido mesmo que sejam encontradas linhas de erro.
Observação
Para o Serviço Vinculado do Warehouse do Microsoft Fabric, o tipo de autenticação com suporte para a Entidade de Serviço é 'Key'; Não há suporte para autenticação 'Certificate'.
Pesquisar propriedades de atividade
Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.
Propriedades de atividade GetMetadata
Para saber detalhes sobre as propriedades, verifique 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 dos tipos de dados do Microsoft Fabric Warehouse para tipos de dados provisórios dentro do serviço internamente. Para saber mais sobre como a atividade de cópia mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.
| Tipo de dados do Microsoft Fabric Warehouse | Tipo de dados provisório do Data Factory |
|---|---|
| bigint | Int64 |
| binário | Byte[] |
| bit | booleano |
| char | String, Char[] |
| date | Datetime |
| datetime2 | Datetime |
| Decimal | Decimal |
| Atributo FILESTREAM (varbinary(max)) | Byte[] |
| Flutuar | Double |
| INT | Int32 |
| numérico | Decimal |
| verdadeiro | Single |
| SMALLINT | Int16 |
| time | TimeSpan |
| UNIQUEIDENTIFIER | Guid |
| varbinary | Byte[] |
| varchar | String, Char[] |
Próximas etapas
Para obter uma lista dos armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os Armazenamentos de dados com suporte.