Recursos e limitações do PolyBase
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Banco de Dados SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Este artigo é um resumo dos recursos do PolyBase disponíveis para produtos e serviços do SQL Server.
Resumo de funcionalidades para lançamentos de produtos
Esta tabela lista os principais recursos do PolyBase e os produtos nos quais eles estão disponíveis.
Funcionalidade | SQL Server (a partir de 2016) | Banco de Dados SQL do Azure | Azure Synapse Analytics | Armazém de dados paralelo |
---|---|---|---|---|
Consultar dados do Hadoop com Transact-SQL | Sim | Não | Não | Sim |
Importar dados do Hadoop | Sim | Não | Não | Sim |
Exportar dados para o Hadoop | Sim | Não | Não | Sim |
Consultar, importar de, exportar para o Azure HDInsight | Não | Não | Não | Não |
Desloque os cálculos de consultas para o Hadoop | Sim | Não | Não | Sim |
Importar dados do armazenamento de Blob do Azure | Sim | Sim 1 | Sim | Sim |
Exportar dados para o armazenamento de Blob do Azure | Sim | Não | Sim | Sim |
Importar dados do Azure Data Lake Store | Não | Não | Sim | Não |
Exportar dados para o Repositório Azure Data Lake | Não | Não | Sim | Não |
Executar consultas PolyBase a partir das ferramentas de BI da Microsoft | Sim | Não | Sim | Sim |
1 Introduzido no SQL Server 2017 (14.x), consulte Exemplos de acesso em massa a dados no Armazenamento de Blobs do Azure.
Limitações conhecidas
O PolyBase tem as seguintes limitações:
Antes do SQL Server 2019 (15.x), o tamanho máximo de linha possível, que inclui o comprimento total de colunas de comprimento variável, não pode exceder 32 KB no SQL Server ou 1 MB no Azure Synapse Analytics. No SQL Server 2019 (15.x) e versões posteriores, essa limitação é suspensa. O limite permanece de 1 MB para fontes de dados Hadoop, mas é limitado apenas pelo limite máximo do SQL Server para outras fontes de dados.
Quando os dados são exportados para um formato de arquivo ORC do SQL Server ou do Azure Synapse Analytics, as colunas com muito texto podem ser limitadas. Eles podem ser limitados a apenas 50 colunas devido a mensagens de erro Java de falta de memória. Para contornar esse problema, exporte apenas um subconjunto das colunas.
O PolyBase não pode se conectar a nenhuma instância do Hadoop se o Knox estiver habilitado.
Se você usar tabelas do Hive com transactional = true, o PolyBase não poderá acessar os dados no diretório da tabela do Hive.
Os serviços PolyBase exigem que o serviço SQL Server tenha o protocolo de rede TCP/IP habilitado para funcionar corretamente. Além disso, se a definição de configuração do protocolo TCP/IP Listen All estiver definida como No, as seguintes configurações de TCP/IP são necessárias:
- Uma entrada para a porta de ouvinte correta em Portas Dinâmicas TCP ou Portas TCP sob IPAll. Isso é necessário por causa da forma como os serviços PolyBase resolvem a porta de escuta do Mecanismo do SQL Server.
- Habilite o(s) endereço(s) IP(s) desejado(s) em Propriedades TCP/IP > Endereços IP; caso contrário, o Mecanismo do SQL Server não aceitará nenhuma conexão TCP/IP e os serviços PolyBase ainda não conseguirão se conectar ao Mecanismo do SQL Server.
O PolyBase no SQL Server no Linux não funciona se o IPv6 estiver desabilitado no kernel. Para obter mais informações, consulte SQL Server no Linux: problemas conhecidos.
Os serviços PolyBase exigem que o protocolo de memória compartilhada esteja habilitado para funcionar corretamente.
Se você tiver uma instância padrão do SQL Server configurada para escutar na porta TCP diferente da 1433, não poderá usá-la como um nó principal em um grupo de expansão do PolyBase. Quando você executa
sp_polybase_join_group
, se você passar 'MSSQLSERVER' como o nome da instância, o SQL Server assumirá que a porta 1433 é a porta do ouvinte, portanto, o serviço de Movimentação de Dados não poderá se conectar ao nó principal ao iniciar.Os sinônimos Oracle não são suportados para uso com o PolyBase.
Não há suporte para agrupamentos UTF-8 para fontes de dados externas do Hadoop.
O Hadoop não tem mais suporte no SQL Server 2022 (16.x) e versões posteriores.
Os grupos de expansão do PolyBase não são suportados com grupos de disponibilidade Always On.
O comprimento do nome do servidor é limitado pela limitação de comprimento do nome NetBIOS de 15 caracteres. Se você alterar o nome do servidor depois de criá-lo para ter 16 caracteres ou mais, o serviço PolyBase Data Movement não será iniciado.