Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tip
Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.
A hagyományos szimmetrikus többprocesszoros adattárházak kinyerési, átalakítási és betöltési (ETL) folyamatot használnak az adatok betöltéséhez. Az Azure SQL-készlet egy nagymértékben párhuzamos feldolgozási (MPP) architektúra, amely kihasználja a számítási és tárolási erőforrások méretezhetőségét és rugalmasságát.
Ezzel szemben a kinyerési, betöltési és átalakítási (ELT) folyamatok kihasználhatják a beépített elosztott lekérdezésfeldolgozási képességeket, és kiküszöbölhetik az adatok betöltését megelőzően történő átalakításához szükséges erőforrásokat.
Bár az SQL-készlet számos betöltési módszert támogat, beleértve a nem Polybase-beállításokat is, például a tömeges másolási programot (bcp) és az SQL BulkCopy API-t, az adatok betöltésének leggyorsabb és leginkább méretezhető módja a PolyBase. A PolyBase egy olyan technológia, amely a Transact-SQL (T-SQL) nyelv használatával fér hozzá az Azure Blob Storage-ban vagy az Azure Data Lake Storage-ban tárolt külső adatokhoz.
Polybase ELT implementálása
A kinyerés, a betöltés és az átalakítás (ELT) egy folyamat, amellyel az adatok kinyerhetők egy forrásrendszerből, betölthetők egy adattárházba, majd átalakíthatók.
A PolyBase ELT dedikált SQL-készlethez való implementálásának alapvető lépései a következők:
- A forrásadatok kinyerése szövegfájlokba.
- Az adatokat az Azure Blob Storage-ba vagy az Azure Data Lake Storage-ba helyezheti.
- Készítse elő az adatokat a betöltéshez.
- Töltse be az adatokat dedikált SQL-készlet előkészítési tábláiba a PolyBase használatával.
- Alakítsa át az adatokat.
- Szúrja be az adatokat az éles táblákba.
A betöltési oktatóanyagot a New York Taxicab-adathalmaz betöltése című témakörben talál.
További információ: Betöltési minták és stratégiák.
Forrásadatok kinyerése szövegfájlokba
Az adatok forrásrendszerből való kiolvasása a tárolási helytől függ. A cél az adatok áthelyezése PolyBase által támogatott, tagolt szövegfájlokba.
PolyBase külső fájlformátumok
A PolyBase betölti az adatokat az UTF-8 és az UTF-16 kódolt, tagolt szövegfájlokból. A PolyBase az RC File, ORC és Parquet Hadoop fájlformátumból is betöltődik. A PolyBase a Gzip és a Snappy tömörített fájljaiból is betölthet adatokat. A PolyBase jelenleg nem támogatja a kiterjesztett ASCII- és rögzítettszélességű formátumokat, illetve az olyan beágyazott formátumokat, mint a WinZip, a JSON és az XML.
Ha SQL Serverről exportál, a bcp parancssori eszközzel tagolt szövegfájlokba exportálhatja az adatokat. Az alábbi táblázat az Azure Synapse Analyticshez hozzárendelt Parquet-adattípusokat sorolja fel.
| Parquet adattípus | SQL-adattípus |
|---|---|
| tinyint | tinyint |
| smallint | smallint |
| int | int |
| bigint | bigint |
| boolean | bit |
| double | float |
| float | real |
| double | pénz |
| double | smallmoney |
| karakterlánc | nchar |
| karakterlánc | nvarchar |
| karakterlánc | char |
| karakterlánc | varchar |
| bináris | bináris |
| bináris | varbinary |
| timestamp | dátum: |
| timestamp | smalldatetime |
| timestamp | datetime2 |
| timestamp | datetime |
| timestamp | time |
| dátum: | dátum: |
| decimális | decimális |
Az adatok az Azure Blob Storage-ba vagy az Azure Data Lake Store-ba kerülnek
Ha az adatokat az Azure Storage-ban szeretné lerakni, áthelyezheti azOkat az Azure Blob Storage-ba vagy az Azure Data Lake Storage-ba. Az adatokat mindkét helyen szövegfájlokban kell tárolni. A PolyBase bármelyik helyről betölthető.
Az alábbi eszközökkel és szolgáltatásokkal áthelyezheti az adatokat az Azure Storage-ba:
- Az Azure ExpressRoute szolgáltatás javítja a hálózati teljesítményt, a teljesítményt és a kiszámíthatóságot. Az ExpressRoute egy szolgáltatás, amely egy dedikált privát kapcsolaton keresztül irányítja az adatokat az Azure-ba. Az ExpressRoute-kapcsolatok nem irányítják át az adatokat a nyilvános interneten keresztül. A kapcsolatok nagyobb megbízhatóságot, gyorsabb sebességet, alacsonyabb késést és nagyobb biztonságot nyújtanak, mint a nyilvános interneten keresztüli tipikus kapcsolatok.
- Az AzCopy segédprogram a nyilvános interneten keresztül helyezi át az adatokat az Azure Storage-ba. Ez akkor működik, ha az adatméret kisebb, mint 10 TB. Ha rendszeresen szeretne terheléseket végezni az AzCopy használatával, tesztelje a hálózati sebességet, és ellenőrizze, hogy elfogadható-e.
- Az Azure Data Factory rendelkezik egy átjáróval, amelyet telepítheti a helyi kiszolgálóra. Ezután létrehozhat egy folyamatot, amellyel adatokat helyezhet át a helyi kiszolgálóról az Azure Storage-ba. A Data Factory dedikált SQL-készlettel való használatához lásd : Adatok betöltése az Azure Synapse Analyticsbe.
Adatok előkészítése betöltésre
Előfordulhat, hogy a tárfiókban lévő adatokat elő kell készítenie és törölnie, mielőtt betöltené őket a dedikált SQL-készletbe. Az adatok előkészítése akkor végezhető el, amikor az adatok a forrásban találhatók, miközben az adatokat szöveges fájlokba exportálja, vagy miután az adatok az Azure Storage-ban találhatók. A legegyszerűbb, ha a folyamat elején a lehető leghamarabb dolgozik az adatokkal.
Külső táblák definiálása
Az adatok betöltése előtt külső táblákat kell definiálnia az adattárházban. A PolyBase külső táblák használatával definiálja és éri el az adatokat az Azure Storage-ban. A külső táblák hasonlóak az adatbázisnézethez. A külső tábla tartalmazza a táblasémát, és az adattárházon kívül tárolt adatokra mutat.
A külső táblák meghatározásához meg kell adni az adatforrást, a szövegfájlok formátumát és a tábladefiníciókat. Az alábbiakban a szükséges T-SQL szintaxistémákat követjük:
Szövegfájlok formázása
A külső objektumok definiálása után a szövegfájlok sorait össze kell igazítania a külső táblázattal és a fájlformátum definíciójával. A szövegfájl minden sorában lévő adatoknak igazodniuk kell a tábladefinícióhoz. A szövegfájlok formázása:
- Ha az adatok nem relációs forrásból származnak, át kell alakítania azokat sorokká és oszlopokká. Függetlenül attól, hogy az adatok relációs vagy nem relációs forrásból származnak-e, az adatokat úgy kell átalakítani, hogy igazodjanak ahhoz a táblához tartozó oszlopdefiníciókhoz, amelyekbe be szeretné tölteni az adatokat.
- Formázza a szövegfájlban lévő adatokat úgy, hogy igazodjanak az SQL-készlet céltáblájának oszlopaihoz és adattípusaihoz. A külső szövegfájlok és az adattárháztábla adattípusai közötti eltérés miatt a sorok el lesznek utasítva a betöltés során.
- A szövegfájl mezőinek elválasztása egy terminátorsal. Ügyeljen arra, hogy olyan karaktert vagy karaktersorozatot használjon, amely nem található a forrásadatokban. Használja a CREATE EXTERNAL FILE FORMAT paranccsal megadott terminátort.
Adatok betöltése dedikált SQL-készlet előkészítési tábláiba a PolyBase használatával
Ajánlott eljárás az adatok átmeneti táblába való betöltése. Az előkészítési táblák lehetővé teszik a hibák kezelését anélkül, hogy beavatkozhat az éles táblákba. A staging tábla lehetőséget nyújt az SQL tároló beépített, elosztott lekérdezés-feldolgozási képességeinek használatára az adatok átalakítására, mielőtt az adatokat éles táblákba helyezné.
A PolyBase használatával történő betöltési lehetőségek
Az adatok PolyBase-lel való betöltéséhez az alábbi betöltési lehetőségek bármelyikét használhatja:
- Külső adatok betöltése a Microsoft Entra-azonosítóval.
- Külső adatok betöltése felügyelt identitással.
- A PolyBase és a T-SQL jól működik, ha az adatok az Azure Blob Storage-ban vagy az Azure Data Lake Storage-ban vannak. A betöltési folyamat felett a legtöbb ellenőrzést adja meg, de megköveteli a külső adatobjektumok meghatározását is. A többi metódus a forrástáblák céltáblákhoz való leképezése során definiálja ezeket az objektumokat a színfalak mögött. A T-SQL-terhelések vezényléséhez használhatja az Azure Data Factoryt, az SSIS-t vagy az Azure Functionst.
- A PolyBase és az SQL Server Integration Services (SSIS) jól működik, ha a forrásadatok az SQL Serverben találhatóak. Az SSIS meghatározza a forrás–cél táblaleképezéseket, és a terhelést is vezényli. Ha már rendelkezik SSIS-csomagokkal, módosíthatja a csomagokat az új adattárház célhelyének megfelelően.
- A PolyBase és az Azure Data Factory egy másik vezénylési eszköz. Definiál egy folyamatot, és feladatokat ütemez.
- A PolyBase és az Azure Databricks adatokat továbbít egy Azure Synapse Analytics-táblából egy Databricks-adatkeretbe, és/vagy adatokat ír egy Databricks-adatkeretből egy Azure Synapse Analytics-táblába a PolyBase használatával.
PolyBase nélküli betöltési lehetőségek
Ha az adatok nem kompatibilisek a PolyBase-lel, használhatja a bcp-t vagy az SQLBulkCopy API-t. A BCP közvetlenül a dedikált SQL-készletbe tölt be anélkül, hogy az Azure Blob Storage-on áthalad, és csak kis terhelésekre szolgál. Vegye figyelembe, hogy ezeknek a beállításoknak a terhelési teljesítménye lassabb, mint a PolyBase.
Az adatok átalakítása
Amíg az adatok az előkészítési táblában találhatóak, végezze el a számítási feladathoz szükséges átalakításokat. Ezután helyezze át az adatokat egy produkciós táblába.
Adatok beszúrása a production táblákba
Az INSERT INTO ... SELECT utasítás áthelyezi az adatokat az előkészítési táblából az állandó táblába.
Az ETL-folyamat tervezésekor próbálja meg futtatni a folyamatot egy kis tesztmintán. Próbáljon meg kinyerni 1000 sort a táblából egy fájlba, helyezze át az Azure-ba, majd próbálja meg betölteni egy előkészítési táblába.
Partnerbetöltési megoldások
Számos partnerünk rendelkezik rakodási megoldásokkal. További információért tekintse meg megoldáspartnereink listáját.