Dela via


Datavirtualisering med PolyBase i SQL Server

gäller för: SQL Server Stöds inte. Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

PolyBase är en datavirtualiseringsfunktion för SQL Server.

Vad är PolyBase?

Med PolyBase kan SQL Server-instansen köra frågor mot data med T-SQL direkt från SQL Server, Oracle, Teradata, MongoDB, Hadoop-kluster, Cosmos DB och S3-kompatibel objektlagring utan att installera klientanslutningsprogramvaran separat. Du kan också använda den allmänna ODBC-anslutningsappen för att ansluta till ytterligare leverantörer med hjälp av ODBC-drivrutiner från tredje part. Med PolyBase kan T-SQL-frågor koppla data från externa källor till relationstabeller i en instans av SQL Server.

Ett viktigt användningsfall för datavirtualisering med PolyBase-funktionen är att tillåta att data stannar kvar på sin ursprungliga plats och sitt ursprungliga format. Du kan virtualisera externa data via SQL Server-instansen så att de kan efterfrågas på plats som andra tabeller i SQL Server. Den här processen minimerar behovet av ETL-processer för dataflytt. Detta scenario för datavirtualisering är möjligt med hjälp av PolyBase-kopplingar.

SQL-produkter och -tjänster som stöds

PolyBase tillhandahåller samma funktioner för följande SQL-produkter från Microsoft:

  • SQL Server 2016 (13.x) och senare versioner (Windows)
  • SQL Server 2019 (15.x) och senare versioner (Windows och Linux)
  • SQL Server Analytics Platform System (PDW)
  • Azure Synapse Analytics (för dedikerade SQL-pooler)

Anmärkning

Datavirtualisering är också tillgängligt för Azure SQL Managed Instance, riktad mot att fråga externdata lagrad i filer i Azure Data Lake Storage (ADLS) Gen2 och Azure Blob Storage. Mer information finns i Datavirtualisering med Azure SQL Managed Instance.

Förbättringar av SQL Server 2025 PolyBase

Nytt för SQL Server 2025 (17.x) Förhandsversion Detaljer
Internt stöd för CSV, Parquet och Delta 1 Du behöver inte installera PolyBase Query Service for External Data för att använda OPENROWSET, CREATE EXTERNAL TABLE eller CREATE EXTERNAL TABLE AS SELECT med följande typer av externa data: Parquet, Delta, Azure Blob Storage (ABS), Azure Data Lake Storage (ADLS) eller S3-Compatible Object Storage.
Använda allmänna ODBC-datakällor i Linux Mer information finns i Konfigurera PolyBase för åtkomst till externa data med allmänna ODBC-typer.

1 På SQL Server 2025 (17.x) Förhandsgranskning krävs fortfarande PolyBase Query Service för externa data för att ansluta till andra databaser. Till exempel: SQL Server, Oracle, DB2, Teradata, MongoDB eller ODBC.

Förbättringar av SQL Server 2022 PolyBase

Nytt för SQL Server 2022 (16.x) Detaljer
S3-kompatibel objektlagring SQL Server 2022 (16.x) lägger till en ny anslutning, S3-kompatibel objektlagring, med hjälp av S3 REST API. Du kan använda både OPENROWSET och CREATE EXTERNAL TABLE för att fråga efter datafiler i S3-kompatibel objektlagring.
Vissa anslutningar är separata från PolyBase-tjänsterna. S3-kompatibla objektlagringsanslutningsprogram, ADSL Gen2 och Azure Blob Storage, är inte längre beroende av PolyBase-tjänster. PolyBase-tjänster måste fortfarande köras för att stödja anslutning med Oracle, Teradata, MongoDB och Generic ODBC. PolyBase-funktionen måste fortfarande vara installerad på SQL Server-instansen.
Parquet-filformat PolyBase kan nu köra frågor mot data från Parquet-filer som lagras på S3-kompatibel objektlagring. För mer information, se Virtualisera parquet-filen i en S3-kompatibel objektlagring med PolyBase.
Deltatabellformat PolyBase kan nu göra förfrågningar mot (skrivskyddade) data i Delta Table-format som lagras på S3-kompatibel objektlagring, Azure Storage Account V2 och Azure Data Lake Storage Gen2. Mer information finns i Virtualisera deltatabell med PolyBase
Skapa extern tabell som Select (CETAS) PolyBase kan nu använda CETAS för att skapa en extern tabell och sedan exportera resultatet av en Transact-SQL SELECT-instruktion till Azure Data Lake Storage Gen2, Azure Storage Account V2 och S3-kompatibel objektlagring. Mer information finns i SKAPA EXTERN TABELL SOM SELECT (CETAS).

Fler nya funktioner i SQL Server 2022 (16.x) finns i Nyheter i SQL Server 2022?

Tips/Råd

En självstudiekurs om PolyBase-funktioner i SQL Server 2022 (16.x) finns i Komma igång med PolyBase i SQL Server 2022.

PolyBase-anslutningsappar

PolyBase-funktionen ger anslutning till följande externa datakällor:

Externa datakällor SQL Server 2016-2019 med PolyBase SQL Server 2022 (16.x) med PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Läs Läs Nej Nej
ODBC (allmän) Läs (endast Windows) Läs (endast Windows) Nej Nej
Azure Storage Läsa/skriva Läsa/skriva Läsa/skriva Läsa/skriva
Hadoop Läsa/skriva Nej Läsa/skriva Nej
SQL Server Läs Läs Nej Nej
S3-kompatibel objektlagring Nej Läsa/skriva Nej Nej
  • SQL Server 2022 (16.x) stöder inte Hadoop.
  • SQL Server 2016 (13.x) introducerade PolyBase med stöd för anslutningar till Hadoop och Azure Blob Storage.
  • SQL Server 2019 (15.x) introducerade fler anslutningsappar, inklusive SQL Server, Oracle, Teradata och MongoDB.
  • SQL Server 2022 (16.x) introducerade den S3-kompatibla lagringsanslutningen.
  • Sql Server 2019 (15.x) Kumulativ uppdatering 19 introducerade stöd för Oracle TNS.
  • SQL Server 2022 (16.x) Kumulativ uppdatering 2 introducerade stöd för Oracle TNS.

Exempel på externa anslutningsappar är:

* PolyBase stöder två Hadoop-leverantörer, Hortonworks Data Platform (HDP) och Cloudera Distributed Hadoop (CDH), via SQL Server 2019. SQL Server-stöd för externa datakällor för HDFS Cloudera (CDP) och Hortonworks (HDP) har dragits tillbaka och ingår inte i SQL Server 2022 (16.x) och senare versioner. Mer information finns i Alternativ för stordata på Microsoft SQL Server-plattformen.

Så här använder du PolyBase i en instans av SQL Server:

  1. Installera PolyBase i Windows eller Installera PolyBase på Linux.
  2. Från och med SQL Server 2019 (15.x) aktiverar du PolyBase i sp_configure om det behövs.
  3. Skapa en extern datakälla.
  4. Skapa en extern tabell.

Azure-integrering

Med hjälp av PolyBase kan T-SQL-frågor även importera och exportera data från Azure Blob Storage. Dessutom gör PolyBase det möjligt för Azure Synapse Analytics att importera och exportera data från Azure Data Lake Store och från Azure Blob Storage.

Varför ska du använda PolyBase?

Med PolyBase kan du koppla data från en SQL Server-instans med externa data. Innan PolyBase tillät anslutning av data till externa datakällor kunde du antingen:

  • Överför hälften av dina data så att alla data finns på en plats.
  • Fråga båda datakällorna och skriv sedan anpassad frågelogik för att ansluta och integrera data på klientnivå.

Med PolyBase kan du använda Transact-SQL för att koppla data.

PolyBase kräver inte att du installerar extra programvara i Hadoop-miljön. Du kör frågor mot externa data med samma T-SQL-syntax som används för att köra frågor mot en databastabell. Alla supportåtgärder som implementeras av PolyBase sker transparent. Frågeförfattaren behöver ingen kunskap om den externa källan.

PolyBase använder

PolyBase möjliggör följande scenarier i SQL Server:

  • Fråga efter data som lagras i Azure Blob Storage. Azure Blob Storage är en praktisk plats där du kan lagra data för användning av Azure-tjänster. PolyBase gör det enkelt att komma åt data med hjälp av T-SQL.

  • Fråga efter data som lagras i Hadoop från en SQL Server-instans eller PDW. Användare lagrar data i kostnadseffektiva distribuerade och skalbara system, till exempel Hadoop. PolyBase gör det enkelt att köra frågor mot data med hjälp av T-SQL.

  • Importera data från Hadoop, Azure Blob Storage eller Azure Data Lake Store. Använd hastigheten för Microsoft SQL:s funktioner för kolumnlagringsteknik och -analys genom att importera data från Hadoop, Azure Blob Storage eller Azure Data Lake Store till relationstabeller. Det finns inget behov av ett separat ETL- eller importverktyg.

  • Exportera data till Hadoop, Azure Blob Storage eller Azure Data Lake Store. Arkivera data till Hadoop, Azure Blob Storage eller Azure Data Lake Store för att uppnå kostnadseffektiv lagring och hålla dem online för enkel åtkomst.

  • Integrera med BI-verktyg. Använd PolyBase med Microsofts business intelligence- och analysstack eller använd verktyg från tredje part som är kompatibla med SQL Server.

Prestanda

Det finns ingen hård gräns för antalet filer eller mängden data som kan efterfrågas. Frågeprestanda beror på mängden data, dataformat, hur data organiseras och komplexiteten i frågor och kopplingar.

Mer information om prestandavägledning och rekommendationer för PolyBase finns i Prestandaöverväganden i PolyBase för SQL Server.

Uppgradera till SQL Server 2022

Från och med SQL Server 2022 (16.x) stöds inte längre Hortonworks Data Platform (HDP) och Cloudera Distributed Hadoop (CDH). På grund av dessa ändringar måste du manuellt släppa externa PolyBase-datakällor som skapats i tidigare versioner av SQL Server som använder TYPE = HADOOP eller Azure Storage innan du migrerar till SQL Server 2022 (16.x). Om du släpper externa datakällor måste du också ta bort de associerade databasobjekten, till exempel autentiseringsuppgifter med databasomfattning och externa tabeller.

Azure Storage-anslutningar måste ändras baserat på följande referenstabell.

Extern datakälla Från Till
"Azure Blob Storage wasb[s] magmuskler
ADLS Gen 2 abfs[s] ADL (Aktiviteter i dagliga livet)

Kom igång

Innan du använder PolyBase måste du installera PolyBase i Windows eller installera PolyBase på Linux och aktivera PolyBase i sp_configure om det behövs.

En självstudiekurs om PolyBase-funktioner finns i Komma igång med PolyBase i SQL Server 2022.

Fler självstudier om olika externa datakällor finns i:

Datavirtualisering på andra plattformar

Datavirtualiseringsfunktioner är också tillgängliga på andra plattformar: