Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server
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)
- Datavirtualisering i Azure Synapse Analytics är tillgänglig i två lägen, PolyBase och native. Mer information finns i Använda externa tabeller med Synapse SQL.
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:
- SQL Server
- Orakel
- Teradata
- MongoDB (på engelska)
- Hadoop*
- S3-kompatibel objektlagring
- CSV-fil i Azure Blob Storage
* 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:
- Installera PolyBase i Windows eller Installera PolyBase på Linux.
- Från och med SQL Server 2019 (15.x) aktiverar du PolyBase i sp_configure om det behövs.
- Skapa en extern datakälla.
- 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:
- Hadoop
- Azure Blob Storage
- SQL Server
- Orakel
- Teradata
- MongoDB (på engelska)
- ALLMÄNNA ODBC-typer
- S3-kompatibel objektlagring
- CSV-fil
- Deltatabell
Datavirtualisering på andra plattformar
Datavirtualiseringsfunktioner är också tillgängliga på andra plattformar: