Compartilhar 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 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.