Partilhar via


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.