Limitações do conector GitHub
Beta
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.
Esta página contém informações sobre as limitações conhecidas do conector GitHub no LakeFlow Connect.
Limitações gerais
- Ao executar um pipeline agendado, os alertas não são acionados imediatamente. Em vez disso, elas são acionadas na próxima execução da atualização.
- Quando uma tabela de origem é excluída, a tabela de destino não é excluída automaticamente. Você deve excluir a tabela de destino manualmente. Este comportamento não é consistente com o comportamento do Spark Declarative Pipelines no Lakeflow.
- Durante períodos de manutenção da fonte de dados, o Databricks poderá não conseguir acessar seus dados.
- Se o nome de uma tabela de origem entrar em conflito com o nome de uma tabela de destino existente, a atualização do pipeline falhará.
- O suporte pipeline com múltiplos destinos é feito exclusivamente via API.
- Opcionalmente, você pode renomear uma tabela que você importa. Se você renomear uma tabela em seu pipeline, ele se tornará um pipeline somente para API e você não poderá mais editá- pipeline na interface do usuário.
- Se você selecionar uma coluna depois que um pipeline já tiver sido iniciado, o conector não preencherá automaticamente os dados da nova coluna. Para ingerir dados históricos, execute manualmente uma refresh completa na tabela.
- O Databricks não consegue ingerir duas ou mais tabelas com o mesmo nome no mesmo pipeline, mesmo que elas provenham de esquemas de origem diferentes.
- O sistema de origem pressupõe que as colunas do cursor estejam em ordem crescente monotônica.
- O conector ingere dados brutos sem transformações. Use Spark Declarative Pipelines subsequentes em Lakeflow pipelines para transformações.
Exclusões não suportadas
O conector GitHub não suporta a busca de exclusões, com exceção de repo_contents. Esta é uma limitação da API do GitHub.
A tabela repo_contents registra as exclusões de arquivos. Quando um arquivo é removido do repositório de origem, o conector remove a linha correspondente da tabela (exclusão permanente). Consulte Conteúdo do repositório.
Suporte incremental limitado
A maioria das tabelas não suporta atualizações incrementais porque a API do GitHub não oferece uma maneira de filtrar registros com base em um cursor. Essas tabelas são totalmente atualizadas a cada atualização do pipeline. Para obter uma lista das tabelas e seus padrões de atualização, consulte Dados suportados.
Orientações de desempenho para grandes organizações
Tabelas como commits, pull_requests e issues podem conter milhões de registros em grandes organizações. Como essas tabelas são totalmente atualizadas a cada execução pipeline , o custo de ingestão aumenta com o tamanho da organização e a frequência pipeline .
Para reduzir o volume por execução:
- Utilize a seleção de colunas para limitar as colunas incluídas nessas tabelas.
- Utilize uma frequência pipeline menor para pipelines que incluam tabelas de alto volume.
Conteúdo do repositório
A tabela repo_contents ingere todas as entradas na árvore de cada repositório, incluindo arquivos, diretórios, submódulos e links simbólicos. Apenas entradas de arquivo (blob) preenchem a coluna content. Diretórios (tree) e submódulos (commit) são ingeridos como linhas apenas de metadados com uma coluna content nula. Aplicam-se as seguintes limitações:
- Apenas a branch default : O conector ingere a branch default de cada repositório, registrada na coluna
branch_name. A seleção ou ingestão de várias branches por repositório não é compatível. - Limite de tamanho do arquivo : Arquivos maiores que 100 MB não são buscados. O conector ainda ingere a linha de metadados do arquivo (
path,sha,size_bytes), mas a colunacontenténull. - Arquivos binários : Para arquivos binários, a coluna
contenténulleis_binaryétrue. Apenas o conteúdo de arquivos de texto é preenchido emcontent.
Para obter mais informações, consulte Conteúdo do repositório (tabela repo_contents).
Dados suportados
Tabelas com atualizações incrementais
As tabelas a seguir suportam atualizações incrementais:
repositoriesaudit_logs: Somente para contas de organização. No plano gratuitogithub.com, o histórico log de auditoria é limitado a 90 dias.repo_contents: Ingere entradas da árvore do repositório e conteúdo de arquivos. Atualizações e exclusões incrementais são suportadas. Consulte Conteúdo do repositório.
Tabelas com atualizações de lotes apenas
As tabelas a seguir são totalmente atualizadas a cada atualização do pipeline (não incremental):
branchescollaboratorscommitsdeploymentsdeployment_statusesdiscussionsissueslabelsmilestonesorg_memberspull_request_commitspull_request_review_commentspull_request_reviewspull_requestsreleasestagsteam_membersteamsworkflows