Condividi tramite


Funzionalità e limitazioni di PolyBase

Si applica a: SQL Server 2016 (13.x) e versioni successive Azure SQL DatabaseAzure Synapse AnalyticsAnalytics Platform System (PDW)

Questo articolo rappresenta un riepilogo delle funzionalità di PolyBase disponibili per i prodotti e servizi di SQL Server.

Riepilogo delle funzionalità per le versioni dei prodotti

Questa tabella elenca le funzionalità principali per PolyBase e i prodotti in cui sono disponibili.

Funzionalità SQL Server (a partire dalla versione 2016) Database SQL di Azure Azure Synapse Analytics Parallel Data Warehouse
Esecuzione di query sui dati Hadoop con Transact-SQL No No
Importare dati da Hadoop No No
Esportare dati in Hadoop No No
Eseguire query, importare da ed esportare verso Azure HDInsight No No No No
Trasferire i calcoli delle query in Hadoop No No
Importare dati dall'archivio BLOB di Azure 1
Esportare dati nell'archivio BLOB di Azure No
Importare dati da Azure Data Lake Store No No No
Esportare dati in Azure Data Lake Store No No No
Eseguire query PolyBase da strumenti BI di Microsoft No

1 Introdotta in SQL Server 2017 (14.x). Vedere Esempi di accesso in blocco ai dati nell'archiviazione BLOB di Azure.

Limitazioni note

PolyBase include le limitazioni seguenti:

  • Prima di SQL Server 2019 (15.x), le dimensioni massime consentite per la riga, inclusa la lunghezza totale delle colonne di lunghezza variabile, non possono superare 32 KB in SQL Server o 1 MB in Azure Synapse Analytics. In SQL Server 2019 (15.x) e versioni successive questa limitazione viene eliminata. Il limite rimane 1 MB per le origini dati Hadoop, ma è limitato solo dal limite massimo di SQL Server per altre origini dati.

  • Quando si esportano dati in un formato file ORC da SQL Server o Azure Synapse Analytics, le colonne con grandi quantità di testo potrebbero essere limitate. Possono essere limitate a un minimo di 50 colonne a causa di messaggi di errore di memoria insufficiente di Java. Per risolvere questo problema, esportare solo un subset delle colonne.

  • PolyBase non può connettersi a un'istanza di Hadoop se Knox è abilitata.

  • Se si usano tabelle Hive con transactional=true, PolyBase non può accedere ai dati nella directory della tabella Hive.

  • I servizi PolyBase richiedono l’abilitazione del protocollo di rete TCP/IP per il corretto funzionamento del servizio SQL Server. Inoltre, se l'impostazione di configurazione del protocollo TCP/IP Listen All è impostata su No, sono necessarie le seguenti configurazioni TCP/IP:

    • Voce per la porta corretta del listener in Porte TCP dinamiche o Porte TCP in IPAll. Questa operazione è obbligatoria a causa del modo in cui i servizi PolyBase risolvono la porta del listener del motore di SQL Server.
    • Abilitare gli indirizzi IP desiderati nelle Proprietà TCP/IP > Indirizzi IP; in caso contrario, il motore di SQL Server non accetterà connessioni TCP/IP e i servizi PolyBase non riusciranno comunque a connettersi al motore di SQL Server.
  • PolyBase in SQL Server in Linux non funziona se IPv6 è disabilitato nel kernel. Per altre informazioni, vedere SQL Server in Linux: problemi noti.

  • I servizi PolyBase richiedono l'abilitazione del protocollo di memoria condivisa per il corretto funzionamento.

  • Se si dispone di un'istanza di SQL Server predefinita configurata per l'ascolto sulla porta TCP diversa da 1433, non è possibile usarla come nodo head in un gruppo con scalabilità orizzontale PolyBase. Quando si esegue sp_polybase_join_group, se si passa "MSSQLSERVER" come nome dell'istanza, SQL Server presuppone che la porta 1433 sia la porta del listener, quindi il servizio spostamento dati non è in grado di connettersi al nodo head all'avvio.

  • I sinonimi di Oracle non possono essere usati con PolyBase.

  • Le regole di confronto UTF-8 non sono supportate per le origini dati esterne Hadoop.

  • Hadoop non è più supportata in SQL Server 2022 (16.x) e versioni successive.

  • La lunghezza del nome del server è associata a 15 caratteri limite di lunghezza del nome NetBIOS. Se si modifica il nome del server dopo averlo creato con 16 o più caratteri, il servizio Movimento dati PolyBase non verrà avviato.

  • I gruppi di scalabilità orizzontale PolyBase non sono supportati con i gruppi di disponibilità Always On.

  • I database installati con PolyBase (DWConfiguration, DWDiagnostics, DWQueue) devono essere in modalità di lettura/scrittura affinché PolyBase funzioni e che le installazioni di aggiornamento cumulativo abbiano esito positivo. Pertanto, non è supportato disporre di questi database in un gruppo di disponibilità.