Limitações do conector de ingestão do Salesforce
Este artigo lista as limitações e considerações sobre a conexão e a ingestão de dados do Salesforce usando LakeFlow Connect.
- Quando uma tabela de origem é excluída, a tabela de destino não é excluída automaticamente. Você deve excluir a tabela de destino manualmente. Esse comportamento não é consistente com o comportamento do DLT.
- Durante os períodos de manutenção da fonte, a Databricks pode não conseguir acessar seus dados.
- Se um nome de tabela de origem entrar em conflito com um nome de tabela de destino existente, a atualização do pipeline falhará.
Limitações gerais
-
Há um máximo de 250 objetos por pipeline. No entanto, não há limite conhecido para o número de linhas ou colunas suportadas nesses objetos.
-
base64
, os tiposaddress
,location
oucomplexValue
não são suportados. Essas colunas são eliminadas automaticamente durante a ingestão. -
Os seguintes objetos não são suportados:
-
Objetos com cláusulas
WHERE
ou restriçõesLIMIT
:Announcement
AppTabMember
CollaborationGroupRecord
ColorDefinition
ContentDocumentLink
ContentFolderItem
ContentFolderMember
DataStatistics
DatacloudDandBCompany
EntityParticle
FieldDefinition
FieldHistoryArchive
FlexQueueItem
FlowVariableView
FlowVersionView
IconDefinition
IdeaComment
NetworkUserHistoryRecent
OwnerChangeOptionInfo
PicklistValueInfo
PlatformAction
RelationshipDomain
RelationshipInfo
SearchLayout
SiteDetail
UserEntityAccess
UserFieldAccess
Vote
-
Objetos para monitoramento de eventos em tempo real:
ApiEvent
BulkApiResultEventStore
EmbeddedServiceDetail
EmbeddedServiceLabel
FormulaFunction
FormulaFunctionAllowedType
FormulaFunctionCategory
IdentityProviderEventStore
IdentityVerificationEvent
LightningUriEvent
ListViewEvent
LoginAsEvent
LoginEvent
LogoutEvent
Publisher
RecordActionHistory
ReportEvent
TabDefinition
UriEvent
-
Objetos que terminam com
__b
,__x
ou__hd
-
ActivityMetric
-
ActivityMetricRollup
-
Site
-
-
Só há suporte para um destino por pipeline. Todas as tabelas devem ter o mesmo catálogo e esquema.
-
Databricks selecione uma coluna de cursor para rastrear a leitura incremental de dados e alterações de sequência que compartilham o mesmo key primário. A Databricks seleciona a coluna do cursor na lista a seguir, em ordem de preferência:
SystemModstamp
,LastModifiedDate
,CreatedDate
, eLoginTime
.Por exemplo, se
SystemModstamp
não estiver disponível, a Databricks procuraráLastModifiedDate
. Se um objeto não tiver um desses cursores, o site Databricks tira um Snapshot da tabela. -
A Databricks transforma automaticamente os tipos de dados do Salesforce em tipos de dados compatíveis com o Delta. Para obter a lista aproximada de transformações, consulte Transformações automáticas de dados.
-
O Databricks pode ingerir campos de fórmula. No entanto, no momento, o site Databricks exige um Snapshot completo desses campos. Isso significa que a latência do pipeline depende do fato de seus dados do Salesforce incluírem campos de fórmula e do volume de atualizações em seus dados do Salesforce.
-
Databricks campos de fórmula de execução na mesma cadência que o restante do pipeline. No entanto, dentro da cadência de atualizações do pipeline, os campos sem fórmula podem ser atualizados antes dos campos com fórmula.
-
Databricks tratar as exclusões da mesma forma que as inserções e atualizações. Quando uma linha é excluída do Salesforce, ela é excluída da tabela bronze na próxima sincronização dos dados. Por exemplo, suponha que o senhor tenha um pipeline sendo executado de hora em hora. Se você sincronizar às 12h e tiver um registro excluído às 12h30, a exclusão não será refletida até que a sincronização às 13h ocorra.
Há um caso extremo: Se o pipeline não tiver sido executado depois que os registros foram excluídos, mas antes de serem removidos da lixeira do Salesforce, o Databricks perderá essas exclusões. A única maneira de se recuperar disso é com um refresh completo.
-
O Salesforce tem um limite de 4 conexões por usuário por aplicativo conectado. Se você precisar criar mais de 4 conexões, crie um novo usuário.
-
Por motivos de segurança, só autentique se o senhor tiver clicado em um link OAuth na interface do usuário do Databricks.
-
O Salesforce permite que o senhor gire um refresh tokens. O conector não suporta isso.
-
A seleção e a desseleção em nível de coluna não são suportadas.
-
O SCD tipo 2 não é compatível.
-
Não há suporte para atualizações de campos de fórmulas incrementais.
Limitações de exclusão
-
Se a tabela estiver habilitada para exclusão temporária:
- A exclusão é refletida na próxima sincronização.
-
Se a tabela não oferecer suporte à exclusão flexível:
- O conector agrupa automaticamente o Snapshot para ingestão
- Exceção: Isso não funciona para objetos de história. O conector presume que elas sejam lidas de forma incremental e que nenhuma exclusão ocorra.
-
Se a tabela oferecer suporte à exclusão reversível e o usuário excluir itens manualmente, o conector não poderá capturar a exclusão. O registro permanece na tabela bronze, a menos que o senhor execute um full-refresh.
Perda de precisão para campos numéricos e monetários
Atualmente, os dados do Salesforce do tipo NUMBER e CURRENCY perdem três dígitos de precisão quando ingeridos. Esses valores podem ter 18 dígitos antes do ponto decimal no Salesforce, mas têm apenas 15 dígitos antes do ponto decimal no Databricks.