Este artigo fornece informações sobre perguntas frequentes sobre como exportar dados de tabela do Microsoft Dataverse para o Azure Synapse Analytics e o Azure Data Lake.
Posso executar tarefas manualmente, como criar, atualizar, excluir ou definir políticas de autodelete para arquivos de dados no armazenamento conectado do Azure?
Os arquivos de dados não devem ser modificados por um cliente e nenhum arquivo de cliente deve ser colocado nas pastas de dados.
Observação
Para remover dados obsoletos e estagnados no data lake sem quebrar o Azure Synapse Link, considere usar o recurso Consultar e analisar as atualizações incrementais
Como posso acessar meus relacionamentos entre tabelas?
Para acessar relacionamentos muitos para muitos, o relacionamento ficará disponível como uma tabela para seleção na página Adicionar tabelas para um novo link e em Gerenciar tabelas para um link pré-existente.
Observação
Todos os dados de relações estão no modo de somente acréscimo por padrão quando gravados no formato CSV.
Como obter custos estimados antes de adicionar o Link do Azure Synapse?
O Link do Azure Synapse é um recurso gratuito com o Dataverse. Usar o Link do Azure Synapse para Dataverse não incorre em encargos adicionais no Dataverse. No entanto, considere os custos potenciais para o serviço do Azure:
- Armazenamento de dados no Azure Data Lake Storage Gen2: Preços do Azure Data Lake Storage Gen2 | Microsoft Azure
- Custo de consumo de dados (como Workspace do Synapse): Preços – Azure Synapse Analytics | Microsoft Azure Para obter informações abrangentes sobre o Gerenciamento de Custos da Microsoft, acesse: Planejar o gerenciamento de custos do Azure – Gerenciamento de Custos da Microsoft | Microsoft Learn
O que acontece quando eu adiciono uma coluna?
Quando você adiciona uma nova coluna a uma tabela na origem, ela também é adicionada no final do arquivo no destino na partição de arquivo correspondente. Embora as linhas que existiam antes da adição da coluna não sejam mostradas na nova coluna, linhas novas ou atualizadas mostram a coluna recém-adicionada.
O que acontece quando eu excluo uma coluna?
Quando você exclui uma coluna de uma tabela na origem, a coluna não é descartada do destino. Em vez disso, as linhas não são mais atualizadas e são marcadas como nulas ao preservar as linhas anteriores.
O que acontece se eu alterar o tipo de dados de uma coluna?
Alterar o tipo de dados de uma coluna é uma alteração interruptiva e você deverá desvincular e vincular novamente.
O que acontece quando eu excluo uma linha?
A exclusão de uma linha é tratada de forma diferente com base em quais opções de gravação de dados você escolhe:
- Atualização in-loco com formato CSV: esse é o modo padrão. Quando você exclui uma linha de tabela nesse modo, a linha também é excluída da partição de dados correspondente no Azure Data Lake. Em outras palavras, os dados são excluídos permanentemente do destino.
- Apenas acréscimo com formato CSV e atualização incremental de pasta: neste modo, quando uma linha de tabela do Dataverse é excluída, ela não é completamente removida do destino. Em vez disso, uma linha é adicionada e configurada como
isDeleted=Trueno arquivo na partição de dados correspondente dentro do Azure Data Lake. - Exportar para o formato Delta Lake: o Azure Synapse Link executa uma exclusão lógica nos dados durante o próximo ciclo de sincronização delta, seguido por uma exclusão permanente após 30 dias.
Por que não vejo um cabeçalho de coluna no arquivo exportado?
O Link do Azure Synapse segue o Common Data Model para possibilitar que os dados e seu significado sejam compartilhados entre aplicativos e processos de negócios, como Microsoft Power Apps, Power BI, Dynamics 365 e Azure. Em cada pasta do CDM, metadados como um cabeçalho de coluna são armazenados no arquivo model.json. Mais informações: Common Data Model e Azure Data Lake Storage Gen2 | Microsoft Learn
Por que o arquivo Model.json aumenta ou muda de comprimento para os tipos de dados e não mantém o que está definido no Dataverse?
Model.json mantém o comprimento definido no banco de dados para o tamanho da coluna. O Dataverse tem um conceito de tamanho de banco de dados para cada coluna. Se você criar uma coluna com um tamanho de 200 e posterior reduzi-la para 100, o Dataverse ainda permitirá que seus dados existentes estejam presentes no Dataverse. Ele faz isso ao manter DBLength em 200 e MaxLength em 100. O que você vê em Model.json é DBLength, e se você usá-lo para processos subsequentes, nunca provisionará menos espaço para suas colunas do Dataverse.
Observação
Os campos de memorando são definidos como varchar(max) com um comprimento máximo padrão de 9999.
Quais formatos de data e hora podem ser esperados em tabelas exportadas do Dataverse?
Há três formatos de data e hora que podem ser esperados nas tabelas exportadas do Dataverse.
| Nome da Coluna | Formato | Tipo de Dados | Example |
|---|---|---|---|
| SinkCreatedOn e SinkModifiedOn | M/d/yyyyy H:mm:ss tt | datetime | 28/06/2021 16:34:35 |
| CreatedOn | yyyy-MM-dd'T'HH:mm:ss.sssssssXXX | datetimeOffset | 2018-05-25T16:21:09.0000000+00:00 |
| Todas as outras colunas | yyyy-MM-dd'T'HH:mm:ss'Z' | datetime | 2021-06-25T16:21:12Z |
Observação
O tipo de dados CreatedOn foi alterado de datetime para datetimeOffset 29/07/2022. Para editar o formato do tipo de dados para uma tabela criada antes da alteração, remova e adicione novamente a tabela.
Você pode escolher diferentes configurações de comportamento para uma coluna de data e hora no Dataverse, o que atualiza o formato do tipo de dados. Mais informações: Comportamento e formato da coluna de data e hora
Por que estou vendo nomes de arquivos como 1.csv ou 1_001.csv em vez de arquivos com particionamento regular por data e hora para algumas tabelas do Dataverse?
Esse comportamento é esperado quando você escolhe o modo de exportação somente de acréscimo e tem tabelas sem uma coluna CreatedOn válida. Os blobs são organizados em arquivos como 1.csv, 2.csv (empregando particionamento personalizado devido à ausência de uma data de criação válida). Quando qualquer partição se aproxima de 95% do MaxBlockPerBlobLimit, o sistema gera automaticamente um novo arquivo, ilustrado aqui como 1_001.csv.
Quando devo usar uma estratégia de partição anual ou mensal?
Para tabelas do Dataverse em que o volume de dados é alto em um ano, recomendamos que você use partições mensais. Isso resulta em arquivos menores e melhor desempenho. Além disso, se as linhas nas tabelas do Dataverse forem atualizadas com frequência, a divisão em vários arquivos menores ajudará a melhorar o desempenho no caso de cenários de atualização no local. O Delta Lake só está disponível com partição anual devido ao seu desempenho superior em comparação com o formato CSV.
O que é o modo somente acréscimo e qual é a diferença entre o modo somente acréscimo e o modo de atualização no local?
Em modo Somente acrescentar, dados incrementais de tabelas do Dataverse são acrescentados à partição de arquivo correspondente no lake. Para obter mais informações: Opções avançadas de configuração no Link do Azure Synapse
Quando devo usar o modo de anexação somente para uma visão histórica das alterações?
O modo Somente acrescentar é a opção recomendada para gravar dados de tabela do Dataverse no lake, especialmente quando os volumes de dados são altos em uma partição com dados que mudam com frequência. Novamente, essa é uma opção comumente usada e altamente recomendada para clientes corporativos. Além disso, você pode optar por usar esse modo para cenários em que a intenção é examinar incrementalmente as alterações do Dataverse e processar as alterações para cenários de ETL, IA e ML. O modo Somente acrescentar fornece um histórico de alterações, em vez da última alteração ou atualização no local, e permite várias séries temporais de cenários de IA, como previsão ou análises de previsão com base em valores históricos.
Como recuperar a linha mais atualizada de cada registro e excluir linhas deletadas ao exportar dados no modo somente acréscimo?
No modo Somente acrescentar, você deve identificar a versão mais recente do registro com a mesma ID usando VersionNumber e SinkModifiedOn e, em seguida, aplicar isDeleted=0 na versão mais recente.
Por que vejo números de versão duplicados quando exporto dados usando o modo de adição apenas?
Para o modo somente acréscimo, se o Link do Azure Synapse para Dataverse não receber uma confirmação do data lake do Azure de que os dados foram confirmados por causa de qualquer motivo, como atrasos na rede, o Link do Azure Synapse vai tentar novamente nesses cenários e confirmar os dados novamente. O consumo downstream deve ser resiliente a esse cenário filtrando dados usando SinkModifiedOn.
Por que estou vendo diferenças nas colunas Sinkmodifiedon e Modifiedon?
É esperado.
Modifiedon é a data e hora em que o registro está sendo alterado no Dataverse; Sinkmodifiedon é a data e hora em que o registro é modificado no data lake.
Quais tabelas do Dataverse não têm suporte para exportação?
Não há suporte para qualquer tabela que não tenha o controle de alterações habilitado, além das seguintes tabelas do sistema:
- Anexo
- Calendário
- Regra de Calendário
Determinadas tabelas do Dataverse, como postcomment, postregarding, postlike, post e postrole, não estão disponíveis para que os clientes habilitem a sincronização por meio do Link do Azure Synapse.
Em alguns casos, essas tabelas podem aparecer quando a retenção de longo prazo do Dataverse estiver habilitada. Se isso acontecer, um subconjunto ou todos os registros dessas tabelas poderão ser exportados. Esse é o comportamento esperado para cenários de retenção de longo prazo.
Importante
- Essas tabelas não devem ser selecionadas para sincronização.
- Sua presença não indica suporte total para sincronização incremental.
Observação
Você pode adicionar a tabela de auditoria para exportação usando o Link do Azure Synapse para Dataverse. No entanto, a exportação da tabela de auditoria só tem suporte com perfis Delta Lake.
Estou usando a exportação para o recurso delta lake, posso parar o trabalho do Apache Spark ou alterar o tempo de execução?
O trabalho de conversão do Delta Lake é disparado quando houve uma alteração de dados no intervalo de tempo configurado. Não há nenhuma opção para parar ou pausar o pool do Apache Spark. No entanto, você pode modificar o intervalo de tempo após a criação do link em Gerenciar tabelas > Tempo Avançado.
O Link do Azure Synapse dá suporte a colunas de pesquisa?
As colunas de pesquisa são compostas por uma ID e um valor. Os valores de pesquisa só são alterados na tabela raiz. Para representar melhor o valor de uma coluna de pesquisa, recomendamos fazer uma junção com a tabela raiz original para obter o valor mais recente.
O Link do Azure Synapse dá suporte a colunas calculadas?
No Dataverse, as colunas calculadas mantêm apenas as informações da fórmula e o valor real depende da coluna da tabela base. Portanto, as colunas calculadas só têm suporte quando todas as colunas estão localizadas na mesma tabela exportada.
Quais tabelas do Dataverse usam o modo de acréscimo apenas por padrão?
Todas as tabelas que não têm um campo createdOn são sincronizadas usando o modo somente acréscimo por padrão. Isso inclui tabelas de relação e a tabela ActivityParty.
Por que vejo a mensagem de erro – o conteúdo do diretório no caminho não pode ser listado?
- Os dados do Dataverse são armazenados no contêiner de armazenamento conectado. Você precisa da função "Colaborador de Dados do Blob de Armazenamento" na conta de armazenamento vinculada para executar operações de leitura e consulta por meio do Synapse Workspace.
- Se você optar por exportar dados com o formato Delta Lake, o arquivo CSV será limpo após a conversão do Delta Lake. Você precisa consultar dados com tabelas não particionadas no Synapse Workspace.
Por que vejo a mensagem de erro : não é possível carregar em massa porque o arquivo está incompleto ou não pôde ser lido (somente arquivo CSV)?
Os dados do Dataverse podem ser alterados continuamente por meio da criação, atualização e exclusão de transações. Esse erro é causado pelo arquivo subjacente que está sendo alterado quando você lê dados dele. Portanto, para tabelas com alterações contínuas, altere seu pipeline de consumo para usar dados de instantâneos (tabelas particionadas) para consumir. Mais informações: Solucionar problemas do pool de SQL sem servidor
Como posso usar o Link do Azure Synapse para arquivar dados críticos?
O Link do Azure Synapse para Dataverse foi projetado para fins de análise. Recomendamos que os clientes usem retenção de longo prazo para fins de arquivo. Mais informações: Visão geral da retenção de dados de longo prazo do Dataverse
Por que não vejo nenhuma alteração de dados no data lake quando os registros foram excluídos no Dataverse?
Para qualquer chamada SQL direta para remover um registro, o serviço Azure Synapse Link para Dataverse não é ativado porque o BPO.Delete não está sendo chamado. Para obter um recurso de exemplo, acesse Como limpar o acesso herdado.