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 möjliggör datavirtualisering för SQL Server.

Vad är PolyBase?

Med PolyBase kan SQL Server-instansen köra frågor mot data med Transact-SQL (T-SQL) direkt från SQL Server, Oracle, Teradata, MongoDB, Hadoop-kluster, Cosmos DB och S3-kompatibel objektlagring utan att separat installera klientanslutningsprogram. 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.

PolyBase stöder också frågor mot halvstrukturerade och strukturerade filbaserade dataformat som CSV-, Parquet-, JSON- och Delta Lake-filer. Detta möjliggör sömlös integrering av filbaserade data i dina T-SQL-arbetsflöden.

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:

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 PolyBase Query Service för installation av externa data krävs inte längre för att använda OPENROWSET, CREATE EXTERNAL TABLEeller 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.
Stöd för TDS 8.0 När du använder funktioner i Microsoft ODBC-drivrutinen för SQL Server i Windows är TDS 8.0 tillgängligt för SQL Server som en extern datakälla. Granska Brytande ändringar i SQL Server 2025 förhandsversion.
Hanterad identitet Hanterad identitet är tillgänglig för SQL Server som aktiveras av Azure Arc och SQL Server 2025 på virtuella Azure-datorer.

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-instruktion SELECT 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) och senare versioner 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:

1 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:

  • Sömlös dataåtkomst: Fråga andra RDBMs eller externa filer som CSV-, Parquet- och Delta Lake-tabeller med hjälp av T-SQL som om de vore inbyggda tabeller.
  • Avlastning av kalla data: Samtidigt som de är lätt åtkomliga.
  • Förbättrad produktivitet: Minska den tid och det arbete som krävs för att integrera och analysera data från flera källor.
  • Kostnadseffektivitet: Minimera behovet av datareplikering och lagringskostnader som är kopplade till traditionella dataintegreringsmetoder.
  • Insikter i realtid: Aktivera frågor och insikter i realtid utan fördröjningar som orsakas av dataflytt eller synkronisering.
  • Säkerhet: Använd SQL Server-säkerhetsfunktioner för detaljerade behörigheter, hantering av autentiseringsuppgifter och kontroll.

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) eller senare. 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-lagringstjänst wasb[s] abs
ADLS Gen 2 abfs[s] adls

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: