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 recursos para versões do produto
Esta tabela lista os principais recursos para o PolyBase e os produtos nos quais estão disponíveis.
Recurso | SQL Server (começando em 2016) | Banco de Dados SQL do Azure | Azure Synapse Analytics | Parallel Data Warehouse |
---|---|---|---|---|
Consulta de dados do Hadoop com o 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 e exportar para o Azure HDInsight | Não | Não | Não | Não |
Enviar cálculos de consulta por push ao Hadoop | Sim | Não | Não | Sim |
Importar dados do Armazenamento de Blobs do Azure | Sim | Sim 1 | Sim | Sim |
Exportar dados para o Armazenamento de Blobs 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 Azure Data Lake Store | Não | Não | Sim | Não |
Executar consultas do PolyBase nas ferramentas do Microsoft BI | 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 apresenta as seguintes limitações:
Antes do SQL Server 2019 (15.x), o tamanho máximo possível de linha, incluindo o comprimento total das colunas de comprimento variável, não podia exceder 32 KB no SQL Server ou 1 MB no Azure Synapse Analytics. Essa limitação não está presente no SQL Server 2019 (15.x) e versões posteriores. O limite continua sendo de 1 MB para fontes de dados do Hadoop, mas é restrito apenas pelo limite máximo do SQL Server para outras fontes de dados.
Quando os dados são exportados em um formato de arquivo ORC do SQL Server ou do Azure Synapse Analytics, as colunas com muito texto podem ser limitadas. Podem ser limitados a apenas 50 colunas devido a mensagens de erro de falta de memória do Java. Para solucionar esse problema, exporte apenas um subconjunto das colunas.
O PolyBase não poderá se conectar a nenhuma instância do Hadoop se o Knox estiver habilitado.
Se estiver usando tabelas do Hive com transacional = true, o PolyBase não poderá acessar os dados no diretório da tabela do Hive.
Os serviços do PolyBase exigem que o serviço de 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 Escutar tudo estiver definida como Não, as seguintes configurações de TCP/IP serão necessárias:
- Uma entrada para a porta listener correta em Portas Dinâmicas TCP ou Portas TCP em IPAll. Isso é necessário devido à maneira como os serviços do PolyBase resolvem a porta do ouvinte do Mecanismo do SQL Server.
- Habilite os endereços IP desejados em Endereços IP de Propriedades > TCP/IP; caso contrário, o Mecanismo do SQL Server não aceitará nenhuma conexão TCP/IP e os serviços do PolyBase ainda não conseguirão se conectar ao Mecanismo do SQL Server.
O PolyBase no SQL Server em Linux não funciona se o IPv6 estiver desabilitado no kernel. Para obter mais informações, confira SQL Server em Linux: problema conhecidos.
Os serviços do PolyBase exigem que o protocolo de Memória Compartilhada esteja habilitado para funcionar de modo adequado.
Caso tenha uma instância padrão do SQL Server configurada para escutar em uma porta TCP que não seja 1433, não será possível usá-la como um nó de cabeçalho em um grupo de escala horizontal do PolyBase. Ao executar
sp_polybase_join_group
, caso transmita “MSSQLSERVER” como o nome da instância, o SQL Server vai presumir que a porta 1433 é a porta do ouvinte. Portanto, o serviço de Movimentação de Dados não poderá se conectar ao nó de cabeçalho ao iniciar.Os sinônimos Oracle não são suportados para uso com o PolyBase.
Não há compatibilidade com agrupamentos UTF-8 para fontes de dados externas do Hadoop.
Não há mais suporte para o Hadoop no SQL Server 2022 (16.x) e versões posteriores.
Não há suporte para grupos de escala horizontal do PolyBase 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 de Movimentação de Dados do PolyBase não será iniciado.