Adatok másolása és átalakítása az Azure Synapse Analyticsben az Azure Data Factory vagy a Synapse-folyamatok használatával
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ez a cikk bemutatja, hogyan használható a másolási tevékenység az Azure Data Factoryben vagy a Synapse-folyamatokban adatok másolására az Azure Synapse Analyticsből és az Azure Synapse Analyticsbe, és hogyan lehet Adatfolyam átalakítani az adatokat az Azure Data Lake Storage Gen2-ben. Az Azure Data Factory megismeréséhez olvassa el a bevezető cikket.
Támogatott képességek
Ez az Azure Synapse Analytics-összekötő a következő képességeket támogatja:
Támogatott képességek | IR | Felügyelt privát végpont |
---|---|---|
Copy tevékenység (forrás/fogadó) | (1) (2) | ✓ |
Adatfolyam leképezése (forrás/fogadó) | (1) | ✓ |
Keresési tevékenység | (1) (2) | ✓ |
GetMetadata-tevékenység | (1) (2) | ✓ |
Szkripttevékenység | (1) (2) | ✓ |
Tárolt eljárástevékenység | (1) (2) | ✓ |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
Az Copy tevékenység esetében ez az Azure Synapse Analytics-összekötő az alábbi függvényeket támogatja:
- Adatok másolása SQL-hitelesítéssel és Microsoft Entra-alkalmazásjogkivonat-hitelesítéssel az Azure-erőforrások szolgáltatásnévvel vagy felügyelt identitásokkal.
- Forrásként sql-lekérdezéssel vagy tárolt eljárással kér le adatokat. Az Azure Synapse Analytics-forrásból történő párhuzamos másolást is választhatja, a részletekért tekintse meg az Azure Synapse Analytics párhuzamos példányát ismertető szakaszt.
- Fogadóként másolja be az adatokat COPY utasítás vagy PolyBase vagy tömeges beszúrás használatával. A jobb másolási teljesítmény érdekében a COPY utasítást vagy a PolyBase-t javasoljuk. Az összekötő támogatja a céltábla automatikus létrehozását a DISTRIBUTION = ROUND_ROBIN használatával, ha nem létezik a forrásséma alapján.
Fontos
Ha adatokat másol egy Azure Integration Runtime használatával, konfiguráljon egy kiszolgálószintű tűzfalszabályt, hogy az Azure-szolgáltatások hozzáférhessenek a logikai SQL-kiszolgálóhoz. Ha egy saját üzemeltetésű integrációs modullal másol adatokat, konfigurálja a tűzfalat a megfelelő IP-címtartomány engedélyezéséhez. Ez a tartomány az Azure Synapse Analyticshez való csatlakozáshoz használt gép IP-címét is tartalmazza.
Első lépések
Tipp.
A legjobb teljesítmény érdekében a PolyBase vagy a COPY utasítás használatával töltse be az adatokat az Azure Synapse Analyticsbe. A PolyBase használatával adatokat tölthet be az Azure Synapse Analyticsbe , és a COPY utasítás használatával adatokat tölthet be az Azure Synapse Analytics-szakaszokba . A használati esetekkel kapcsolatos útmutatóért tekintse meg az 1 TB-os terhelést az Azure Synapse Analyticsbe 15 perc alatt az Azure Data Factoryvel.
A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
Azure Synapse Analytics társított szolgáltatás létrehozása felhasználói felülettel
Az alábbi lépésekkel azure Synapse Analytics-társított szolgáltatást hozhat létre az Azure Portal felhasználói felületén.
Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg a Synapse-t, és válassza ki az Azure Synapse Analytics-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő konfigurációjának részletei
A következő szakaszok az Azure Synapse Analytics-összekötőre jellemző Data Factory- és Synapse-folyamatentitást meghatározó tulajdonságokat ismertetik.
Társított szolgáltatás tulajdonságai
Az Azure Synapse Analytics-összekötő ajánlott verziója támogatja a TLS 1.3-at. Ebben a szakaszban frissítheti az Azure Synapse Analytics-összekötő verzióját az örökölt verzióról. A tulajdonság részleteiért tekintse meg a megfelelő szakaszokat.
Tipp.
Kiszolgáló nélküli SQL-készlet társított szolgáltatásának létrehozásakor az Azure Synapse-ben az Azure Portalról:
- Fiókválasztási módszer esetén válassza az Enter manuálisan lehetőséget.
- Illessze be a kiszolgáló nélküli végpont teljes tartománynevét . Ezt a Synapse-munkaterület Azure Portal áttekintési lapján, a Kiszolgáló nélküli SQL-végpont tulajdonságai között találja. Például:
myserver-ondemand.sql-azuresynapse.net
. - Az adatbázisnévhez adja meg az adatbázis nevét a kiszolgáló nélküli SQL-készletben.
Tipp.
Ha "UserErrorFailedToConnectToSqlServer" hibaüzenetet kapott, és "Az adatbázis munkamenetkorlátja XXX, és elérte." hibaüzenet jelenik meg, adja hozzá Pooling=false
a kapcsolati sztring, és próbálkozzon újra.
Ajánlott verzió
Az ajánlott verzió alkalmazásakor ezek az általános tulajdonságok támogatottak az Azure Synapse Analytics társított szolgáltatásában:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot AzureSqlDW-ra kell állítani. | Igen |
kiszolgáló | Annak az SQL Server-példánynak a neve vagy hálózati címe, amelyhez csatlakozni szeretne. | Igen |
adatbázis | Az adatbázis neve. | Igen |
authenticationType | A hitelesítéshez használt típus. Az engedélyezett értékek: SQL (alapértelmezett), ServicePrincipal, SystemAssignedManagedIdentity, UserAssignedManagedIdentity. Lépjen az adott tulajdonságokra és előfeltételekre vonatkozó hitelesítési szakaszra. | Igen |
encrypt | Adja meg, hogy szükség van-e TLS-titkosításra az ügyfél és a kiszolgáló között küldött összes adathoz. Beállítások: kötelező (igaz, alapértelmezett)/nem kötelező (hamis esetén)/szigorú. | Nem |
trustServerCertificate | Adja meg, hogy a csatorna titkosítva lesz-e a tanúsítványlánc megkerülése közben a megbízhatóság ellenőrzéséhez. | Nem |
hostNameInCertificate | A kapcsolat kiszolgálótanúsítványának ellenőrzésekor használandó állomásnév. Ha nincs megadva, a rendszer a kiszolgáló nevét használja a tanúsítvány érvényesítéséhez. | Nem |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure Integration Runtime-ot vagy egy saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. | Nem |
További kapcsolati tulajdonságokért tekintse meg az alábbi táblázatot:
Tulajdonság | Leírás | Kötelező |
---|---|---|
applicationIntent | Az alkalmazás számítási feladatainak típusa kiszolgálóhoz való csatlakozáskor. Az engedélyezett értékek és ReadWrite a ReadOnly . |
Nem |
connectTimeout | A kiszolgálóval való kapcsolat várakozási ideje (másodpercben), mielőtt megszakítja a kísérletet, és hibát okozna. | Nem |
connectRetryCount | Az inaktív kapcsolati hiba azonosítása után megkísérelt újracsatlakozások száma. Az értéknek 0 és 255 közötti egész számnak kell lennie. | Nem |
connectRetryInterval | Az inaktív kapcsolati hiba azonosítása után az egyes újracsatlakozási kísérletek között eltelt idő (másodpercben). Az értéknek 1 és 60 közötti egész számnak kell lennie. | Nem |
loadBalanceTimeout | A kapcsolat minimális időtartama (másodpercben) ahhoz, hogy a kapcsolat a kapcsolat megszakadása előtt a kapcsolatkészletben éljen. | Nem |
commandTimeout | Az alapértelmezett várakozási idő (másodpercben), mielőtt befejezi a parancs végrehajtására tett kísérletet, és hibát okozna. | Nem |
integratedSecurity | Az engedélyezett értékek a következők: true vagy false . A beállításnál adja meg false , hogy a felhasználónév és a jelszó meg van-e adva a kapcsolatban. A beállításnál true azt jelzi, hogy a rendszer az aktuális Windows-fiók hitelesítő adatait használja-e a hitelesítéshez. |
Nem |
feladatátvételi partner | Annak a partnerkiszolgálónak a neve vagy címe, amelyhez csatlakozni szeretne, ha az elsődleges kiszolgáló nem működik. | Nem |
maxPoolSize | Az adott kapcsolat kapcsolatkészletében engedélyezett kapcsolatok maximális száma. | Nem |
minPoolSize | Az adott kapcsolat kapcsolatkészletében engedélyezett kapcsolatok minimális száma. | Nem |
multipleActiveResultSets | Az engedélyezett értékek a következők: true vagy false . Ha megadja true , egy alkalmazás több aktív eredményhalmazt (MARS) is képes fenntartani. Ha megadja false , az alkalmazásnak egy kötegből kell feldolgoznia vagy megszakítania az összes eredményhalmazt, mielőtt bármilyen más köteget végrehajthat az adott kapcsolaton. |
Nem |
multiSubnetFailover | Az engedélyezett értékek a következők: true vagy false . Ha az alkalmazás egy AlwaysOn rendelkezésre állási csoporthoz (AG) csatlakozik különböző alhálózatokon, a tulajdonság true beállítása gyorsabb észlelést és kapcsolatot biztosít az aktuálisan aktív kiszolgálóval. |
Nem |
packetSize | A kiszolgálópéldányokkal való kommunikációhoz használt hálózati csomagok bájtban megadott mérete. | Nem |
Készletezés | Az engedélyezett értékek a következők: true vagy false . Amikor megadja true , a rendszer készletbe fogja állítani a kapcsolatot. Amikor megadja a kapcsolatot false , a rendszer minden alkalommal explicit módon megnyitja a kapcsolatot, amikor a kapcsolatot kéri. |
Nem |
SQL-hitelesítés
Az SQL-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:
Tulajdonság | Leírás | Kötelező |
---|---|---|
Felhasználónév | A kiszolgálóhoz való csatlakozáshoz használt felhasználónév. | Igen |
jelszó | A felhasználónév jelszava. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. | Igen |
Példa: SQL-hitelesítés használata
{
"name": "AzureSqlDWLinkedService",
"properties": {
"type": "AzureSqlDW",
"typeProperties": {
"server": "<name or network address of the SQL server instance>",
"database": "<database name>",
"encrypt": "<encrypt>",
"trustServerCertificate": false,
"authenticationType": "SQL",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példa: jelszó az Azure Key Vaultban
{
"name": "AzureSqlDWLinkedService",
"properties": {
"type": "AzureSqlDW",
"typeProperties": {
"server": "<name or network address of the SQL server instance>",
"database": "<database name>",
"encrypt": "<encrypt>",
"trustServerCertificate": false,
"authenticationType": "SQL",
"userName": "<user name>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Egyszerű szolgáltatás hitelesítése
A szolgáltatásnév-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:
Tulajdonság | Leírás | Kötelező |
---|---|---|
servicePrincipalId | Adja meg az alkalmazás ügyfél-azonosítóját. | Igen |
servicePrincipalCredential | A szolgáltatásnév hitelesítő adatai. Adja meg az alkalmazás kulcsát. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. | Igen |
bérlő | Adja meg azt a bérlői információt (tartománynevet vagy bérlőazonosítót), amely alatt az alkalmazás található. A lekéréshez vigye az egérmutatót az Azure Portal jobb felső sarkában. | Igen |
azureCloudType | A szolgáltatásnév hitelesítéséhez adja meg annak az Azure-felhőkörnyezetnek a típusát, amelyre a Microsoft Entra-alkalmazás regisztrálva van. Az engedélyezett értékek a következők AzurePublic : , AzureChina AzureUsGovernment és AzureGermany . Alapértelmezés szerint a rendszer az adat-előállítót vagy a Synapse-folyamat felhőkörnyezetét használja. |
Nem |
Az alábbi lépéseket is követnie kell:
Microsoft Entra-alkalmazás létrehozása az Azure Portalról. Jegyezze fel az alkalmazás nevét és a társított szolgáltatást meghatározó alábbi értékeket:
- Pályázat azonosítója
- Alkalmazáskulcs
- Bérlőazonosító
Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a felügyelt identitással rendelkező csoportnak, hagyja ki a 3. és a 4. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.
Tartalmazott adatbázis-felhasználók létrehozása a szolgáltatásnévhez. Csatlakozzon ahhoz az adattárházhoz, amelyből adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, és olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN FELHASZNÁLÓI engedéllyel rendelkezik. Futtassa a következő T-SQL-t:
CREATE USER [your_application_name] FROM EXTERNAL PROVIDER;
Adja meg a szolgáltatásnévnek a szükséges engedélyeket , ahogyan azt az SQL-felhasználók vagy mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.
EXEC sp_addrolemember db_owner, [your application name];
Azure Synapse Analytics társított szolgáltatás konfigurálása Azure Data Factory- vagy Synapse-munkaterületen.
Szolgáltatásnév-hitelesítést használó társított szolgáltatás példája
{
"name": "AzureSqlDWLinkedService",
"properties": {
"type": "AzureSqlDW",
"typeProperties": {
"connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;Connection Timeout=30",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<application key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Rendszer által hozzárendelt felügyelt identitások az Azure-erőforrások hitelesítéséhez
Egy adat-előállító vagy Synapse-munkaterület társítható az erőforrást képviselő Azure-erőforrások rendszer által hozzárendelt felügyelt identitásával. Ezt a felügyelt identitást használhatja az Azure Synapse Analytics-hitelesítéshez. A kijelölt erőforrás ezzel az identitással férhet hozzá és másolhat adatokat az adattárházból vagy az adattárházba.
A rendszer által hozzárendelt felügyelt identitáshitelesítés használatához adja meg az előző szakaszban ismertetett általános tulajdonságokat, és kövesse az alábbi lépéseket.
Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a csoportnak a rendszer által hozzárendelt felügyelt identitással, hagyja ki a 3. és a 4. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.
Tartalmazott adatbázis-felhasználók létrehozása a rendszer által hozzárendelt felügyelt identitáshoz. Csatlakozzon ahhoz az adattárházhoz, amelyből adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, és olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN FELHASZNÁLÓI engedéllyel rendelkezik. Futtassa a következő T-SQL-t.
CREATE USER [your_resource_name] FROM EXTERNAL PROVIDER;
Adja meg a rendszer által hozzárendelt felügyelt identitásnak a szükséges engedélyeket , ahogyan azt az SQL-felhasználók és mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.
EXEC sp_addrolemember db_owner, [your_resource_name];
Azure Synapse Analytics társított szolgáltatás konfigurálása.
Példa:
{
"name": "AzureSqlDWLinkedService",
"properties": {
"type": "AzureSqlDW",
"typeProperties": {
"server": "<name or network address of the SQL server instance>",
"database": "<database name>",
"encrypt": "<encrypt>",
"trustServerCertificate": false,
"authenticationType": "SystemAssignedManagedIdentity"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Felhasználó által hozzárendelt felügyelt identitás hitelesítése
Az adat-előállító vagy a Synapse-munkaterület társítható egy felhasználó által hozzárendelt felügyelt identitással , amely az erőforrást jelöli. Ezt a felügyelt identitást használhatja az Azure Synapse Analytics-hitelesítéshez. A kijelölt erőforrás ezzel az identitással férhet hozzá és másolhat adatokat az adattárházból vagy az adattárházba.
A felhasználó által hozzárendelt felügyelt identitáshitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:
Tulajdonság | Leírás | Kötelező |
---|---|---|
hitelesítő adatok | Adja meg a felhasználó által hozzárendelt felügyelt identitást hitelesítő objektumként. | Igen |
Az alábbi lépéseket is követnie kell:
Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a csoportnak a felhasználó által hozzárendelt felügyelt identitással, hagyja ki a 3. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.
Tartalmazott adatbázis-felhasználók létrehozása a felhasználó által hozzárendelt felügyelt identitáshoz. Csatlakozzon ahhoz az adattárházhoz, amelyből adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, és olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN FELHASZNÁLÓI engedéllyel rendelkezik. Futtassa a következő T-SQL-t.
CREATE USER [your_resource_name] FROM EXTERNAL PROVIDER;
Hozzon létre egy vagy több felhasználó által hozzárendelt felügyelt identitást , és adja meg a felhasználó által hozzárendelt felügyelt identitásnak a szükséges engedélyeket , ahogyan azt az SQL-felhasználók és mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.
EXEC sp_addrolemember db_owner, [your_resource_name];
Rendeljen hozzá egy vagy több felhasználó által hozzárendelt felügyelt identitást az adat-előállítóhoz, és hozzon létre hitelesítő adatokat minden felhasználó által hozzárendelt felügyelt identitáshoz.
Azure Synapse Analytics társított szolgáltatás konfigurálása.
Példa
{
"name": "AzureSqlDWLinkedService",
"properties": {
"type": "AzureSqlDW",
"typeProperties": {
"server": "<name or network address of the SQL server instance>",
"database": "<database name>",
"encrypt": "<encrypt>",
"trustServerCertificate": false,
"authenticationType": "UserAssignedManagedIdentity",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örökölt verzió
Ezeket az általános tulajdonságokat az Azure Synapse Analytics társított szolgáltatásai támogatják az örökölt verzió alkalmazásakor:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot AzureSqlDW-ra kell állítani. | Igen |
connectionString | Adja meg a connectionString tulajdonság Azure Synapse Analytics-példányához való csatlakozáshoz szükséges információkat. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Az Azure Key Vaultban jelszó-/szolgáltatásnévkulcsot is elhelyezhet, és ha SQL-hitelesítésről van szó, akkor a password konfigurációt ki kell húznia a kapcsolati sztring. További részletekért tekintse meg az Azure Key Vault hitelesítő adatainak tárolásáról szóló cikket. |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure Integration Runtime-ot vagy egy saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. | Nem |
A különböző hitelesítési típusok esetében tekintse meg az egyes tulajdonságokra és előfeltételekre vonatkozó alábbi szakaszokat:
- SQL-hitelesítés az örökölt verzióhoz
- Szolgáltatásnév hitelesítése az örökölt verzióhoz
- Rendszer által hozzárendelt felügyelt identitás hitelesítése az örökölt verzióhoz
- Felhasználó által hozzárendelt felügyelt identitás hitelesítése az örökölt verzióhoz
SQL-hitelesítés az örökölt verzióhoz
Az SQL-hitelesítés használatához adja meg az előző szakaszban ismertetett általános tulajdonságokat.
Szolgáltatásnév hitelesítése az örökölt verzióhoz
A szolgáltatásnév-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:
Tulajdonság | Leírás | Kötelező |
---|---|---|
servicePrincipalId | Adja meg az alkalmazás ügyfél-azonosítóját. | Igen |
servicePrincipalKey | Adja meg az alkalmazás kulcsát. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. | Igen |
bérlő | Adja meg a bérlő adatait, például azt a tartománynevet vagy bérlőazonosítót, amely alatt az alkalmazás található. Kérje le az egérmutatót az Azure Portal jobb felső sarkában. | Igen |
azureCloudType | A szolgáltatásnév hitelesítéséhez adja meg annak az Azure-felhőkörnyezetnek a típusát, amelyre a Microsoft Entra-alkalmazás regisztrálva van. Az engedélyezett értékek az AzurePublic, az AzureChina, az AzureUsGovernment és az AzureGermany. Alapértelmezés szerint a rendszer az adat-előállítót vagy a Synapse-folyamat felhőkörnyezetét használja. |
Nem |
A szolgáltatásnév-hitelesítés lépéseit is követnie kell a megfelelő engedély megadásához.
Rendszer által hozzárendelt felügyelt identitás hitelesítése az örökölt verzióhoz
A rendszer által hozzárendelt felügyelt identitás hitelesítésének használatához kövesse ugyanazt a lépést a rendszer által hozzárendelt felügyelt identitáshitelesítés ajánlott verziójához.
Felhasználó által hozzárendelt felügyelt identitás hitelesítése az örökölt verzióhoz
A felhasználó által hozzárendelt felügyelt identitáshitelesítés használatához kövesse ugyanazt a lépést a felhasználó által hozzárendelt felügyelt identitáshitelesítés ajánlott verziójához.
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja.
Az Azure Synapse Analytics-adathalmaz esetében a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának AzureSqlDWTable értékre kell állítania. | Igen |
schema | A séma neve. | Nem a forráshoz, igen a fogadóhoz |
table | A tábla/nézet neve. | Nem a forráshoz, igen a fogadóhoz |
tableName | A táblázat/nézet neve sémával. Ez a tulajdonság támogatja a visszamenőleges kompatibilitást. Új számítási feladatokhoz használja schema és table . |
Nem a forráshoz, igen a fogadóhoz |
Példa adathalmaztulajdonságokra
{
"name": "AzureSQLDWDataset",
"properties":
{
"type": "AzureSqlDWTable",
"linkedServiceName": {
"referenceName": "<Azure Synapse Analytics linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
}
}
}
Másolási tevékenység tulajdonságai
A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az Azure Synapse Analytics-forrás és -fogadó által támogatott tulajdonságok listáját tartalmazza.
Forrásként az Azure Synapse Analytics
Tipp.
Az Azure Synapse Analyticsből származó adatok hatékony adatparticionálással való betöltéséhez további információt az Azure Synapse Analytics párhuzamos másolásáról tudhat meg.
Ha adatokat szeretne másolni az Azure Synapse Analyticsből, állítsa a másolási tevékenység forrásának típustulajdonságát az SqlDWSource-ra. A Másolási tevékenység forrás szakasza a következő tulajdonságokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A Másolási tevékenység forrás típustulajdonságának SqlDWSource értékre kell állítania. | Igen |
sqlReaderQuery | Az adatok olvasásához használja az egyéni SQL-lekérdezést. Példa: select * from MyTable |
Nem |
sqlReaderStoredProcedureName | Annak a tárolt eljárásnak a neve, amely adatokat olvas be a forrástáblából. Az utolsó SQL-utasításnak SELECT utasításnak kell lennie a tárolt eljárásban. | Nem |
storedProcedureParameters | A tárolt eljárás paraméterei. Az engedélyezett értékek név- vagy értékpárok. A paraméterek nevének és burkolatának meg kell egyeznie a tárolt eljárásparaméterek nevével és burkolatával. |
Nem |
isolationLevel | Az SQL-forrás tranzakciózárolási viselkedését adja meg. Az engedélyezett értékek a következők: ReadCommitted, ReadUncommitted, RepeatableRead, Serializable, Snapshot. Ha nincs megadva, a rendszer az adatbázis alapértelmezett elkülönítési szintjét használja. További információ: system.data.isolationlevel. | Nem |
partitionOptions | Megadja az Azure Synapse Analyticsből való adatok betöltéséhez használt adatparticionálási beállításokat. Az engedélyezett értékek a következők: Nincs (alapértelmezett), PhysicalPartitionsOfTable és DynamicRange. Ha egy partíciós beállítás engedélyezve van (vagyis nem None ), az Azure Synapse Analytics adatainak egyidejű betöltéséhez szükséges párhuzamosság mértékét a parallelCopies másolási tevékenység beállításai vezérlik. |
Nem |
partitionSettings | Adja meg az adatparticionálás beállításainak csoportját. Akkor alkalmazható, ha a partíciós beállítás nem None . |
Nem |
A következő alatt partitionSettings : |
||
partitionColumnName | Adja meg annak a forrásoszlopnak a nevét egész számban vagy dátum/dátum/idő típusban (int , , smallint , bigint , date smalldatetime , datetime , , datetime2 ) , datetimeoffset amelyet a tartomány particionálása használ a párhuzamos másoláshoz. Ha nincs megadva, a rendszer automatikusan észleli a tábla indexét vagy elsődleges kulcsát, és partícióoszlopként használja.Akkor alkalmazható, ha a partíció beállítás. DynamicRange Ha lekérdezést használ a forrásadatok lekéréséhez, a WHERE záradékban kapcsoljon ?DfDynamicRangePartitionCondition be. Példaként tekintse meg az SQL Database párhuzamos másolatát. |
Nem |
partitionUpperBound | A partíciótartományok felosztásához használt partícióoszlop maximális értéke. Ez az érték határozza meg a partíciós léptetést, nem pedig a tábla sorainak szűrésére. A tábla vagy lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket. Akkor alkalmazható, ha a partíció beállítás. DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát. |
Nem |
partitionLowerBound | A partíciótartományok felosztásához használt partícióoszlop minimális értéke. Ez az érték határozza meg a partíciós léptetést, nem pedig a tábla sorainak szűrésére. A tábla vagy lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket. Akkor alkalmazható, ha a partíció beállítás. DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát. |
Nem |
Jegyezze fel a következő pontot:
- Ha tárolt eljárást használ a forrásban az adatok lekéréséhez, vegye figyelembe, hogy a tárolt eljárás más sémát ad vissza, amikor különböző paraméterértéket ad át, akkor előfordulhat, hogy a séma felhasználói felületről történő importálásakor vagy az adatok sql-adatbázisba való automatikus létrehozásakor hiba vagy váratlan eredmény jelenik meg.
Példa: SQL-lekérdezés használata
"activities":[
{
"name": "CopyFromAzureSQLDW",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure Synapse Analytics input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlDWSource",
"sqlReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Példa: tárolt eljárás használata
"activities":[
{
"name": "CopyFromAzureSQLDW",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure Synapse Analytics input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlDWSource",
"sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
"storedProcedureParameters": {
"stringData": { "value": "str3" },
"identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Minta tárolt eljárás:
CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
@stringData varchar(20),
@identifier int
)
AS
SET NOCOUNT ON;
BEGIN
select *
from dbo.UnitTestSrcTable
where dbo.UnitTestSrcTable.stringData != stringData
and dbo.UnitTestSrcTable.identifier != identifier
END
GO
Azure Synapse Analytics fogadóként
Az Azure Data Factory és a Synapse-folyamatok három módszert támogatnak az adatok Azure Synapse Analyticsbe való betöltésére.
- COPY utasítás használata
- A PolyBase használata
- Tömeges beszúrás használata
Az adatok betöltésének leggyorsabb és legskálázható módja a COPY utasítás vagy a PolyBase.
Ha adatokat szeretne másolni az Azure Synapse Analyticsbe, állítsa be a fogadó típusát a Másolási tevékenységben az SqlDWSinkre. A Másolási tevékenység fogadó szakasz a következő tulajdonságokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A Másolási tevékenység fogadó típustulajdonságának SqlDWSink értékre kell állítania. | Igen |
allowPolyBase | Azt jelzi, hogy a PolyBase használatával tölt-e be adatokat az Azure Synapse Analyticsbe. allowCopyCommand és allowPolyBase nem lehet mindkettő igaz. A korlátozásokért és részletekért tekintse meg a PolyBase használata az adatok Azure Synapse Analyticsbe való betöltését ismertető szakaszt. Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek. |
Szám Alkalmazza a PolyBase használatakor. |
polyBaseSettings | Tulajdonságcsoport, amely akkor adható meg, ha a allowPolybase tulajdonság értéke igaz. |
Szám Alkalmazza a PolyBase használatakor. |
allowCopyCommand | Azt jelzi, hogy a COPY utasítás használatával tölt-e be adatokat az Azure Synapse Analyticsbe. allowCopyCommand és allowPolyBase nem lehet mindkettő igaz. A korlátozásokért és részletekért tekintse meg a COPY utasítás használata az adatok Azure Synapse Analyticsbe való betöltését ismertető szakaszt. Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek. |
Szám A COPY használata esetén alkalmazható. |
copyCommandSettings | Tulajdonságcsoport, amely akkor adható meg, ha allowCopyCommand a tulajdonság értéke IGAZ. |
Szám A COPY használata esetén alkalmazható. |
writeBatchSize | Az SQL-táblába kötegenként beszúrandó sorok száma. Az engedélyezett érték egész szám (sorok száma). Alapértelmezés szerint a szolgáltatás dinamikusan határozza meg a megfelelő kötegméretet a sorméret alapján. |
Szám Tömeges beszúrás esetén alkalmazható. |
writeBatchTimeout | A beszúrási, upsert- és tárolt eljárásművelet befejezésének várakozási ideje, mielőtt túllépi az időkorlátot. Az engedélyezett értékek az időbélyeghez tartoznak. Ilyen például a "00:30:00" 30 percig. Ha nincs megadva érték, az időtúllépés alapértelmezés szerint "00:30:00". |
Szám Tömeges beszúrás esetén alkalmazható. |
preCopyScript | Adjon meg egy SQL-lekérdezést a másolási tevékenység futtatásához, mielőtt adatokat írna az Azure Synapse Analyticsbe minden futtatás során. Ezzel a tulajdonságkal törölheti az előre betöltött adatokat. | Nem |
tableOption | Megadja, hogy a forrásséma alapján automatikusan hozza-e létre a fogadótáblát, ha nem létezik. Az engedélyezett értékek a következők: none (alapértelmezett), autoCreate . |
Nem |
disableMetricsCollection | A szolgáltatás olyan metrikákat gyűjt, mint az Azure Synapse Analytics DWU-k a másolási teljesítmény optimalizálásához és a javaslatokhoz, amelyek további főadatbázis-hozzáférést vezetnek be. Ha ezzel a viselkedéssel foglalkozik, adja meg true , hogy kikapcsolja azt. |
Nem (alapértelmezett érték false ) |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
WriteBehavior | Adja meg a másolási tevékenység írási viselkedését az adatok Azure Synapse Analyticsbe való betöltéséhez. Az engedélyezett érték a Beszúrás és az Upsert. Alapértelmezés szerint a szolgáltatás beszúrással tölti be az adatokat. |
Nem |
upsertSettings | Adja meg az írási viselkedés beállításainak csoportját. Alkalmazza, ha a WriteBehavior beállítás a következő Upsert : . |
Nem |
A következő alatt upsertSettings : |
||
keys | Adja meg az egyedi sorazonosítás oszlopnevét. Egy vagy több kulcs használható. Ha nincs megadva, a rendszer az elsődleges kulcsot használja. | Nem |
interimSchemaName | Adja meg a köztes tábla létrehozásához szükséges köztes sémát. Megjegyzés: a felhasználónak rendelkeznie kell a tábla létrehozására és törlésére vonatkozó engedéllyel. Alapértelmezés szerint a köztes tábla ugyanazt a sémát fogja megosztani, mint a fogadó táblát. | Nem |
1. példa: Azure Synapse Analytics-fogadó
"sink": {
"type": "SqlDWSink",
"allowPolyBase": true,
"polyBaseSettings":
{
"rejectType": "percentage",
"rejectValue": 10.0,
"rejectSampleValue": 100,
"useTypeDefault": true
}
}
2. példa: Upsert data
"sink": {
"type": "SqlDWSink",
"writeBehavior": "Upsert",
"upsertSettings": {
"keys": [
"<column name>"
],
"interimSchemaName": "<interim schema name>"
},
}
Párhuzamos másolás az Azure Synapse Analyticsből
Az Azure Synapse Analytics-összekötő másolási tevékenységben beépített adatparticionálást biztosít az adatok párhuzamos másolásához. Az adatparticionálási beállításokat a másolási tevékenység Forrás lapján találja.
Ha engedélyezi a particionált másolást, a másolási tevékenység párhuzamos lekérdezéseket futtat az Azure Synapse Analytics-forráson az adatok partíciók szerinti betöltéséhez. A párhuzamos fokot a másolási parallelCopies
tevékenység beállításai vezérlik. Ha például négyre van állítva parallelCopies
, a szolgáltatás egyszerre generál és futtat négy lekérdezést a megadott partícióbeállítás és beállítások alapján, és mindegyik lekérdezés lekéri az adatok egy részét az Azure Synapse Analyticsből.
Javasoljuk, hogy engedélyezze a párhuzamos másolást adatparticionálással, különösen akkor, ha nagy mennyiségű adatot tölt be az Azure Synapse Analyticsből. A következő javasolt konfigurációk különböző forgatókönyvekhez. Ha fájlalapú adattárba másol adatokat, ajánlott több fájlként írni egy mappába (csak a mappa nevét kell megadni), ebben az esetben a teljesítmény jobb, mint egyetlen fájlba írni.
Eset | Javasolt beállítások |
---|---|
Teljes terhelés nagy táblából, fizikai partíciókkal. | Partíciós beállítás: A tábla fizikai partíciói. A végrehajtás során a szolgáltatás automatikusan észleli a fizikai partíciókat, és partíciók alapján másolja az adatokat. Ha ellenőrizni szeretné, hogy a tábla rendelkezik-e fizikai partícióval, tekintse meg ezt a lekérdezést. |
Teljes terhelés nagy táblából fizikai partíciók nélkül, egész számmal vagy datetime oszlopmal az adatparticionáláshoz. | Partícióbeállítások: Dinamikus tartomány partíciója. Partícióoszlop (nem kötelező): Adja meg az adatok particionálásához használt oszlopot. Ha nincs megadva, a rendszer az indexet vagy az elsődleges kulcs oszlopot használja. A partíció felső határa és a partíció alsó határa (nem kötelező): Adja meg, hogy meg szeretné-e határozni a partíciós lépést. Ez nem a táblázat sorainak szűrésére, hanem a tábla összes sorának particionálása és másolása történik. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értékeket. Ha például az "ID" partícióoszlop értéke 1 és 100 között van, és az alsó kötést 20-ra, a felső kötést pedig 80-ra állítja be, a párhuzamos másolás 4-zel történik, a szolgáltatás 4 partícióval kéri le az adatokat – azonosítók az =20, [21, 50], [51, 80] és >=81 tartományban<. |
Nagy mennyiségű adat betöltése egyéni lekérdezéssel fizikai partíciók nélkül, az adatparticionáláshoz pedig egész számmal vagy dátum/dátum/idő oszlopmal. | Partícióbeállítások: Dinamikus tartomány partíciója. Lekérdezés: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> .Partícióoszlop: Adja meg az adatok particionálásához használt oszlopot. A partíció felső határa és a partíció alsó határa (nem kötelező): Adja meg, hogy meg szeretné-e határozni a partíciós lépést. Ez nem a tábla sorainak szűrésére használható, a lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket. Ha például az "ID" partícióoszlop értéke 1 és 100 között van, és az alsó kötést 20-ra, a felső kötést pedig 80-ra állítja be, a párhuzamos másolás 4-zel, akkor a szolgáltatás 4 partícióazonosítóval kéri le az adatokat az =20, [21, 50], [51, 80] és >=81 tartományban<. Az alábbiakban további minta lekérdezéseket talál a különböző forgatókönyvekhez: 1. A teljes tábla lekérdezése: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition 2. Lekérdezés oszlopkijelöléssel és további where-clause szűrőkkel rendelkező táblából: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 3. Lekérdezés al lekérdezésekkel: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 4. Lekérdezés a partícióval az alkérdezésben: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Ajánlott eljárások az adatok partíciós beállítással való betöltéséhez:
- Válassza a megkülönböztető oszlopot partícióoszlopként (például elsődleges kulcs vagy egyedi kulcs) az adateltérés elkerülése érdekében.
- Ha a tábla beépített partícióval rendelkezik, a jobb teljesítmény érdekében használja a "Tábla fizikai partíciói" partícióbeállítást.
- Ha az Azure Integration Runtime-t használja az adatok másolásához, nagyobb "adatintegráció egységeket (DIU)" (>4) állíthat be a nagyobb számítási erőforrások használatához. Ellenőrizze a vonatkozó forgatókönyveket.
- A "másolási párhuzamosság foka" szabályozza a partíciószámokat, a túl nagy szám beállítása néha rontja a teljesítményt, javasoljuk, hogy állítsa be ezt a számot (DIU vagy a saját üzemeltetésű INTEGRÁCIÓs csomópontok száma) * (2–4).
- Vegye figyelembe, hogy az Azure Synapse Analytics egyszerre legfeljebb 32 lekérdezést hajthat végre, a túl nagy másolási párhuzamosság beállítása synapse-szabályozással kapcsolatos problémát okozhat.
Példa: teljes terhelés nagy táblából fizikai partíciókkal
"source": {
"type": "SqlDWSource",
"partitionOption": "PhysicalPartitionsOfTable"
}
Példa: lekérdezés dinamikus tartománypartícióval
"source": {
"type": "SqlDWSource",
"query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
"partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
}
}
Minta lekérdezés a fizikai partíció ellenőrzéséhez
SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, c.name AS ColumnName, CASE WHEN c.name IS NULL THEN 'no' ELSE 'yes' END AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
LEFT JOIN sys.types AS y ON c.system_type_id = y.system_type_id
WHERE s.name='[your schema]' AND t.name = '[your table name]'
Ha a tábla fizikai partícióval rendelkezik, a "HasPartition" kifejezés "igen" lesz.
Adatok betöltése az Azure Synapse Analyticsbe a COPY utasítás használatával
A COPY utasítás használatával egyszerűen és rugalmasan tölthet be adatokat az Azure Synapse Analyticsbe nagy átviteli sebességgel. További részletekért ellenőrizze az adatok tömeges betöltését a COPY utasítással
- Ha a forrásadatok az Azure Blobban vagy az Azure Data Lake Storage Gen2-ben vannak, és a formátum COPY utasítással kompatibilis, a másolási tevékenység használatával közvetlenül meghívhatja a COPY utasítást, hogy az Azure Synapse Analytics lekérje az adatokat a forrásból. További részletekért lásd : Közvetlen másolás COPY utasítással.
- Ha a forrásadattárat és a formátumot eredetileg nem támogatja a COPY utasítás, használja inkább a szakaszos másolást a COPY utasítás funkcióval. A szakaszos másolási funkció emellett jobb átviteli sebességet is biztosít. Automatikusan KONVERTÁLJA az adatokat COPY utasítással kompatibilis formátumba, tárolja az adatokat az Azure Blob Storage-ban, majd meghívja a COPY utasítást, hogy betöltse az adatokat az Azure Synapse Analyticsbe.
Tipp.
Ha COPY utasítást használ az Azure Integration Runtime használatával, a hatékony adatintegráció egységek (DIU) mindig 2. A DIU finomhangolása nem befolyásolja a teljesítményt, mivel a tárolóból való adatok betöltését az Azure Synapse motor hajtja.
Közvetlen másolás COPY utasítással
Az Azure Synapse Analytics COPY utasítás közvetlenül támogatja az Azure Blobot és az Azure Data Lake Storage Gen2-t. Ha a forrásadatok megfelelnek az ebben a szakaszban leírt feltételeknek, a COPY utasítás használatával másolja közvetlenül a forrásadattárból az Azure Synapse Analyticsbe. Ellenkező esetben használja a szakaszos másolást a COPY utasítással. A szolgáltatás ellenőrzi a beállításokat, és sikertelen a másolási tevékenység futtatása, ha a feltételek nem teljesülnek.
A forráshoz társított szolgáltatás és formátum a következő típusokkal és hitelesítési módszerekkel érhető el:
Támogatott forrásadattár-típus Támogatott formátum Támogatott forráshitelesítés típusa Azure Blob Tagolt szöveg Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés, egyszerű szolgáltatáshitelesítés (ServicePrincipalKey használatával), rendszer által hozzárendelt felügyelt identitás hitelesítése Parketta Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés ORK Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés Azure Data Lake Storage Gen2 Tagolt szöveg
Parketta
ORKFiókkulcs-hitelesítés, egyszerű szolgáltatáshitelesítés (ServicePrincipalKey használatával), közös hozzáférésű jogosultságkód-hitelesítés, rendszer által hozzárendelt felügyelt identitáshitelesítés Fontos
- Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
- Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
A formátumbeállítások a következők:
- Parquet esetén:
compression
nem lehet tömörítés, Snappy vagyGZip
. - ORC esetén:
compression
nem lehet tömörítés,zlib
vagy Snappy. - Tagolt szöveg esetén:
rowDelimiter
explicit módon egyetlen karakterként vagy "\r\n" értékként van beállítva, az alapértelmezett érték nem támogatott.nullValue
alapértelmezettként marad, vagy üres sztringre ("").encodingName
alapértelmezettként marad, vagy utf-8 vagy utf-16 értékre van állítva.escapeChar
meg kell egyeznie aquoteChar
, és nem üres.skipLineCount
alapértelmezett értékként van megadva, vagy 0 értékre van állítva.compression
nem lehet tömörítés vagyGZip
.
- Parquet esetén:
Ha a forrás egy mappa,
recursive
akkor a másolási tevékenységnek true (igaz) értékre kell állítania, éswildcardFilename
meg kell vagy kell lennie*
*.*
.wildcardFolderPath
,wildcardFilename
(nem*
vagy*.*
),modifiedDateTimeStart
,modifiedDateTimeEnd
,prefix
, ésenablePartitionDiscovery
additionalColumns
nincs megadva.
A másolási tevékenység az allowCopyCommand
alábbi COPY utasításbeállításokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
defaultValues | Az Azure Synapse Analytics minden céloszlopának alapértelmezett értékeit adja meg. A tulajdonság alapértelmezett értékei felülírják az adattárházban beállított ALAPÉRTELMEZETT kényszert, és az identitásoszlop nem rendelkezhet alapértelmezett értékkel. | Nem |
additionalOptions | További lehetőségek, amelyeket közvetlenül az Azure Synapse Analytics COPY utasításnak a COPY utasítás "With" záradékában ad át. A COPY utasítás követelményeinek való megfeleléshez szükség szerint adja meg az értéket. | Nem |
"activities":[
{
"name": "CopyFromAzureBlobToSQLDataWarehouseViaCOPY",
"type": "Copy",
"inputs": [
{
"referenceName": "ParquetDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLDWDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ParquetSource",
"storeSettings":{
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "SqlDWSink",
"allowCopyCommand": true,
"copyCommandSettings": {
"defaultValues": [
{
"columnName": "col_string",
"defaultValue": "DefaultStringValue"
}
],
"additionalOptions": {
"MAXERRORS": "10000",
"DATEFORMAT": "'ymd'"
}
}
},
"enableSkipIncompatibleRow": true
}
}
]
Szakaszos másolás COPY utasítással
Ha a forrásadatok natív módon nem kompatibilisek a COPY utasítással, engedélyezze az adatok másolását egy átmeneti Azure Blob vagy Azure Data Lake Storage Gen2 használatával (ez nem lehet Az Azure Premium Storage). Ebben az esetben a szolgáltatás automatikusan átalakítja az adatokat a COPY utasítás adatformátum-követelményeinek megfelelően. Ezután meghívja a COPY utasítást, hogy adatokat töltsön be az Azure Synapse Analyticsbe. Végül megtisztítja az ideiglenes adatokat a tárból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért tekintse meg a szakaszos másolást .
A szolgáltatás használatához hozzon létre egy Azure Blob Storage társított szolgáltatást vagy az Azure Data Lake Storage Gen2 társított szolgáltatást fiókkulcs vagy rendszer által felügyelt identitáshitelesítéssel, amely az Azure Storage-fiókra hivatkozik köztes tárolóként.
Fontos
- Ha felügyelt identitáshitelesítést használ az átmeneti társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat. Emellett engedélyeket kell adnia az Azure Synapse Analytics-munkaterület felügyelt identitásához az átmeneti Azure Blob Storage-fiókban vagy az Azure Data Lake Storage Gen2-fiókban. Ennek az engedélynek a megadásáról további információt a munkaterület által felügyelt identitás engedélyeinek megadása című témakörben talál.
- Ha az átmeneti Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, akkor a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
Fontos
Ha az átmeneti Azure Storage felügyelt privát végponttal van konfigurálva, és engedélyezve van a tárolási tűzfal, felügyelt identitáshitelesítést kell használnia, és engedélyeznie kell a Storage Blob Data Reader-engedélyeket a Synapse SQL Server számára, hogy hozzáférhessen a szakaszos fájlokhoz a COPY utasítás betöltése során.
"activities":[
{
"name": "CopyFromSQLServerToSQLDataWarehouseViaCOPYstatement",
"type": "Copy",
"inputs": [
{
"referenceName": "SQLServerDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLDWDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
},
"sink": {
"type": "SqlDWSink",
"allowCopyCommand": true
},
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingStorage",
"type": "LinkedServiceReference"
}
}
}
}
]
Adatok betöltése az Azure Synapse Analyticsbe a PolyBase használatával
A PolyBase használatával nagy mennyiségű adatot tölthet be az Azure Synapse Analyticsbe nagy átviteli sebességgel. Az alapértelmezett BULKINSERT mechanizmus helyett a PolyBase használatával nagy teljesítménynövekedést tapasztalhat.
- Ha a forrásadatok az Azure Blobban vagy az Azure Data Lake Storage Gen2-ben vannak, és a formátum PolyBase-kompatibilis, másolási tevékenység használatával közvetlenül meghívhatja a PolyBase-t, hogy az Azure Synapse Analytics lekérje az adatokat a forrásból. További információ: Közvetlen másolás a PolyBase használatával.
- Ha a forrásadattárat és a formátumot eredetileg nem támogatja a PolyBase, használja inkább a Szakaszos másolatot a PolyBase szolgáltatással. A szakaszos másolási funkció emellett jobb átviteli sebességet is biztosít. Automatikusan PolyBase-kompatibilis formátumba alakítja át az adatokat, az adatokat az Azure Blob Storage-ban tárolja, majd meghívja a PolyBase-t, hogy töltse be az adatokat az Azure Synapse Analyticsbe.
Tipp.
További információ a PolyBase használatának ajánlott eljárásairól. Ha a PolyBase-t Azure Integration Runtime-tal használja, a közvetlen vagy szakaszos tárolás synapse-ba történő közvetlen vagy szakaszos tárolására szolgáló hatékony adatintegráció egységek (DIU) mindig 2. A DIU finomhangolása nem befolyásolja a teljesítményt, mivel a tárolóból történő adatok betöltését a Synapse motor hajtja.
A másolási tevékenység az alábbi PolyBase-beállításokat polyBaseSettings
támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
rejectValue | Megadja a lekérdezés sikertelensége előtt elutasítható sorok számát vagy százalékos arányát. További információ a PolyBase elvetési beállításairól a CREATE EXTERNAL TABLE (Transact-SQL) argumentumok szakaszában. Az engedélyezett értékek: 0 (alapértelmezett), 1, 2 stb. |
Nem |
rejectType | Megadja, hogy az rejectValue beállítás literálérték-e vagy százalék. Az engedélyezett értékek az Érték (alapértelmezett) és a Százalék érték. |
Nem |
rejectSampleValue | Meghatározza a lekérendő sorok számát, mielőtt a PolyBase újraszámítja az elutasított sorok százalékos arányát. Az engedélyezett értékek 1, 2 stb. |
Igen, ha a rejectType értéke százalék. |
useTypeDefault | Megadja, hogyan kezelhetők a hiányzó értékek a tagolt szövegfájlokban, amikor a PolyBase adatokat kér le a szövegfájlból. Erről a tulajdonságról a CREATE EXTERNAL FILE FORMAT (Transact-SQL) Argumentumok szakaszában olvashat bővebben. Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek. |
Nem |
Közvetlen másolás a PolyBase használatával
Az Azure Synapse Analytics PolyBase közvetlenül támogatja az Azure Blob és az Azure Data Lake Storage Gen2 szolgáltatást. Ha a forrásadatok megfelelnek az ebben a szakaszban leírt feltételeknek, a PolyBase használatával másolja közvetlenül a forrásadattárból az Azure Synapse Analyticsbe. Ellenkező esetben használja a szakaszos másolást a PolyBase használatával.
Tipp.
Az Azure Synapse Analyticsbe történő hatékony adatmásoláshoz az Azure Data Factory további információi még egyszerűbbé és kényelmesebbé teszik az adatokból származó megállapítások feltárásához a Data Lake Store és az Azure Synapse Analytics használatakor.
Ha a követelmények nem teljesülnek, a szolgáltatás ellenőrzi a beállításokat, és automatikusan visszaáll az adatáthelyezés BULKINSERT mechanizmusára.
A forráshoz társított szolgáltatás a következő típusokkal és hitelesítési módszerekkel érhető el:
Támogatott forrásadattár-típus Támogatott forráshitelesítés típusa Azure Blob Fiókkulcs-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése Azure Data Lake Storage Gen2 Fiókkulcs-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése Fontos
- Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
- Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
A forrásadat formátuma Parquet, ORC vagy Delimited text, az alábbi konfigurációkkal:
- A mappa elérési útja nem tartalmaz helyettesítő karakterszűrőt.
- A fájlnév üres, vagy egyetlen fájlra mutat. Ha helyettesítő fájlnevet ad meg a másolási tevékenységben, az csak lehet
*
vagy*.*
. rowDelimiter
alapértelmezett, \n, \r\n vagy \r.nullValue
alapértelmezett értékként van megadva, vagy üres sztring ("" értékre van állítva), éstreatEmptyAsNull
alapértelmezettként vagy igaz értékre van állítva.encodingName
alapértelmezettként marad, vagy utf-8 értékre van állítva.quoteChar
,escapeChar
ésskipLineCount
nincs megadva. A PolyBase támogatása kihagyja a fejlécsort, amely konfigurálható.firstRowAsHeader
compression
nem lehet tömörítés,GZip
vagy deflátum.
Ha a forrás egy mappa,
recursive
a másolási tevékenységnek igaz értékre kell állítania.wildcardFolderPath
,wildcardFilename
,modifiedDateTimeStart
,modifiedDateTimeEnd
,prefix
, ,enablePartitionDiscovery
ésadditionalColumns
nincs megadva.
Feljegyzés
Ha a forrás egy mappa, vegye figyelembe, hogy a PolyBase lekéri a fájlokat a mappából és annak összes almappájából, és nem kér le adatokat olyan fájlokból, amelyeknek a fájlneve aláhúzással (_) vagy ponttal (.) kezdődik az itt dokumentált módon – LOCATION argumentum.
"activities":[
{
"name": "CopyFromAzureBlobToSQLDataWarehouseViaPolyBase",
"type": "Copy",
"inputs": [
{
"referenceName": "ParquetDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLDWDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ParquetSource",
"storeSettings":{
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "SqlDWSink",
"allowPolyBase": true
}
}
}
]
Szakaszos másolás a PolyBase használatával
Ha a forrásadatok natív módon nem kompatibilisek a PolyBase-lel, engedélyezze az adatok másolását egy átmeneti Azure Blob vagy Az Azure Data Lake Storage Gen2 átmeneti verzióján keresztül (ez nem lehet Az Azure Premium Storage). Ebben az esetben a szolgáltatás automatikusan átalakítja az adatokat a PolyBase adatformátum-követelményeinek megfelelően. Ezután meghívja a PolyBase-t, hogy adatokat töltsön be az Azure Synapse Analyticsbe. Végül megtisztítja az ideiglenes adatokat a tárból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért tekintse meg a szakaszos másolást .
A szolgáltatás használatához hozzon létre egy Azure Blob Storage társított szolgáltatást vagy az Azure Data Lake Storage Gen2 társított szolgáltatást fiókkulcs vagy felügyelt identitáshitelesítés használatával, amely köztes tárolóként hivatkozik az Azure Storage-fiókra.
Fontos
- Ha felügyelt identitáshitelesítést használ az átmeneti társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat. Emellett engedélyeket kell adnia az Azure Synapse Analytics-munkaterület felügyelt identitásához az átmeneti Azure Blob Storage-fiókban vagy az Azure Data Lake Storage Gen2-fiókban. Ennek az engedélynek a megadásáról további információt a munkaterület által felügyelt identitás engedélyeinek megadása című témakörben talál.
- Ha az átmeneti Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, akkor a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
Fontos
Ha az átmeneti Azure Storage felügyelt privát végponttal van konfigurálva, és engedélyezve van a tároló tűzfala, felügyelt identitáshitelesítést kell használnia, és engedélyeznie kell a Storage Blob Data Reader-engedélyeket a Synapse SQL Server számára, hogy hozzáférhessen a szakaszos fájlokhoz a PolyBase-betöltés során.
"activities":[
{
"name": "CopyFromSQLServerToSQLDataWarehouseViaPolyBase",
"type": "Copy",
"inputs": [
{
"referenceName": "SQLServerDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLDWDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
},
"sink": {
"type": "SqlDWSink",
"allowPolyBase": true
},
"enableStaging": true,
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingStorage",
"type": "LinkedServiceReference"
}
}
}
}
]
Ajánlott eljárások a PolyBase használatához
Az alábbi szakaszok az Azure Synapse Analytics ajánlott eljárásaiban említett eljárások mellett ajánlott eljárásokat is ismertetik.
Szükséges adatbázis-engedély
A PolyBase használatához az Azure Synapse Analyticsbe adatokat betöltő felhasználónak "CONTROL" engedéllyel kell rendelkeznie a céladatbázison. Ennek egyik módja, ha hozzáadja a felhasználót a db_owner szerepkör tagjaként. Erről az Azure Synapse Analytics áttekintésében olvashat.
Sorméret és adattípus korlátai
A PolyBase-terhelés 1 MB-nál kisebb sorokra korlátozódik. Nem használható VARCHR(MAX), NVARCHAR(MAX) vagy VARBINARY(MAX) betöltésére. További információ: Azure Synapse Analytics szolgáltatás kapacitáskorlátai.
Ha a forrásadatok sorai 1 MB-nál nagyobbak, érdemes lehet függőlegesen felosztani a forrástáblákat több kisebbre. Győződjön meg arról, hogy az egyes sorok legnagyobb mérete nem haladja meg a korlátot. A kisebb táblák ezután betölthetők a PolyBase használatával, és egyesíthetők az Azure Synapse Analyticsben.
Az ilyen széles oszlopokkal rendelkező adatok esetében a nem PolyBase használatával is betöltheti az adatokat a "PolyBase engedélyezése" beállítás kikapcsolásával.
Azure Synapse Analytics erőforrásosztály
A lehető legjobb átviteli sebesség elérése érdekében rendeljen hozzá egy nagyobb erőforrásosztályt a felhasználóhoz, amely adatokat tölt be az Azure Synapse Analyticsbe a PolyBase-en keresztül.
PolyBase hibaelhárítása
Betöltés decimális oszlopba
Ha a forrásadatok szöveges formátumban vagy más, nem PolyBase-kompatibilis tárolókban vannak (szakaszos másolat és PolyBase használatával), és üres értéket tartalmaznak, amelyet be kell tölteni az Azure Synapse Analytics Decimális oszlopába, a következő hibaüzenet jelenhet meg:
ErrorCode=FailedDbOperation, ......HadoopSqlException: Error converting data type VARCHAR to DECIMAL.....Detailed Message=Empty string can't be converted to DECIMAL.....
A megoldás az "Alapértelmezett típus használata" beállítás (hamis) jelölésének megszüntetése a másolási tevékenység fogadójában –> PolyBase-beállítások. A "USE_TYPE_DEFAULT" egy natív PolyBase-konfiguráció, amely meghatározza, hogyan kezelhetők a hiányzó értékek a tagolt szövegfájlokban, amikor a PolyBase adatokat kér le a szövegfájlból.
A tableName tulajdonság ellenőrzése az Azure Synapse Analyticsben
Az alábbi táblázat példákat mutat be a tableName tulajdonság megadására a JSON-adathalmazban. A séma és a táblanevek számos kombinációját jeleníti meg.
DB-séma | Tábla neve | tableName JSON tulajdonság |
---|---|---|
dbo | MyTable | MyTable vagy dbo. MyTable vagy [dbo]. [MyTable] |
dbo1 | MyTable | dbo1. MyTable vagy [dbo1]. [MyTable] |
dbo | My.Table | [My.Table] vagy [dbo]. [My.Table] |
dbo1 | My.Table | [dbo1]. [My.Table] |
Ha a következő hibaüzenet jelenik meg, a probléma a tableName tulajdonsághoz megadott érték lehet. A tableName JSON tulajdonság értékeinek megadásának helyes módját az előző táblázatban találhatja meg.
Type=System.Data.SqlClient.SqlException,Message=Invalid object name 'stg.Account_test'.,Source=.Net SqlClient Data Provider
Alapértelmezett értékeket tartalmazó oszlopok
A PolyBase szolgáltatás jelenleg csak annyi oszlopot fogad el, mint a céltáblában. Ilyen például egy négy oszlopból álló tábla, amelyben az egyik alapértelmezett értékkel van definiálva. A bemeneti adatoknak továbbra is négy oszlopból kell állniuk. A háromoszlopos bemeneti adatkészlet az alábbi üzenethez hasonló hibát eredményez:
All columns of the table must be specified in the INSERT BULK statement.
A NULL érték az alapértelmezett érték speciális formája. Ha az oszlop null értékű, a blob bemeneti adatai üresek lehetnek. A bemeneti adatkészletből azonban nem hiányozhat. A PolyBase null értéket szúr be a hiányzó értékekhez az Azure Synapse Analyticsben.
A külső fájlhozzáférés nem sikerült
Ha a következő hibaüzenet jelenik meg, győződjön meg arról, hogy felügyelt identitáshitelesítést használ, és a Storage Blob Data Reader engedélyekkel rendelkezik az Azure Synapse-munkaterület felügyelt identitásához.
Job failed due to reason: at Sink '[SinkName]': shaded.msdataflow.com.microsoft.sqlserver.jdbc.SQLServerException: External file access failed due to internal error: 'Error occurred while accessing HDFS: Java exception raised on call to HdfsBridge_IsDirExist. Java exception message:\r\nHdfsBridge::isDirExist
További információ: Engedélyek megadása felügyelt identitáshoz a munkaterület létrehozása után.
Adatfolyam-tulajdonságok leképezése
A leképezési adatfolyam adatainak átalakításakor az Azure Synapse Analyticsből olvashat és írhat táblákba. További információkért tekintse meg a forrásátalakítást és a fogadóátalakítást a leképezési adatfolyamokban.
Forrásátalakítás
Az Azure Synapse Analyticsre vonatkozó beállítások a forrásátalakítás Forrásbeállítások lapján érhetők el.
Bemenet : Válassza ki, hogy a forrást egy táblára (egyenértékű) Select * from <table-name>
mutatja-e, vagy egyéni SQL-lekérdezést ad meg.
Az előkészítés engedélyezése Erősen ajánlott ezt a lehetőséget éles számítási feladatokban használni az Azure Synapse Analytics-forrásokkal. Amikor adatfolyam-tevékenységet hajt végre azure Synapse Analytics-forrásokkal egy folyamatból, a rendszer kérni fogja egy átmeneti hely tárfiókját, és ezt fogja használni a szakaszos adatbetöltéshez. Ez a leggyorsabb mechanizmus az adatok Azure Synapse Analyticsből való betöltéséhez.
- Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
- Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
- Ha az Azure Synapse kiszolgáló nélküli SQL-készletét használja forrásként, az előkészítés engedélyezése nem támogatott.
Lekérdezés: Ha a bemeneti mezőben a Lekérdezés lehetőséget választja, adjon meg egy SQL-lekérdezést a forráshoz. Ez a beállítás felülírja az adathalmazban kiválasztott táblákat. Az Order By záradékok itt nem támogatottak, de beállíthatja a teljes SELECT FROM utasítást. Felhasználó által definiált táblafüggvényeket is használhat. select * from udfGetData() egy olyan UDF az SQL-ben, amely egy táblát ad vissza. Ez a lekérdezés létrehoz egy forrástáblát, amelyet használhat az adatfolyamban. A lekérdezések használatával is csökkenthetők a tesztelési és keresési sorok.
SQL-példa: Select * from MyTable where customerId > 1000 and customerId < 2000
Kötegméret: Adjon meg egy kötegméretet, hogy nagy adatokat olvasson be. Az adatfolyamokban ezzel a beállítással állíthatja be a Spark oszlopos gyorsítótárazását. Ez egy beállításmező, amely akkor használja a Spark alapértelmezett értékét, ha üres marad.
Elkülönítési szint: A leképezési adatfolyamban az SQL-források alapértelmezett írásvédettként lesznek beolvasva. Az elkülönítési szintet itt az alábbi értékek egyikére módosíthatja:
- Lekötött olvasás
- Nem véglegesített olvasás
- Ismételhető olvasás
- Szerializálható
- Nincs (az elkülönítési szint figyelmen kívül hagyása)
Fogadó átalakítása
Az Azure Synapse Analyticsre vonatkozó beállítások a fogadóátalakítás Beállítások lapján érhetők el.
Frissítési módszer: Meghatározza, hogy milyen műveletek engedélyezettek az adatbázis célhelyén. Az alapértelmezett beállítás csak a beszúrások engedélyezése. A sorok frissítéséhez, frissítéséhez vagy törléséhez váltakozósor-átalakításra van szükség az adott műveletek sorainak címkézéséhez. Frissítések, upserts és deletes esetén egy kulcsoszlopot vagy oszlopot kell beállítani annak meghatározásához, hogy melyik sort kell módosítani.
Táblaművelet: Meghatározza, hogy az írás előtt újra létre kell-e hozni vagy eltávolítani az összes sort a céltáblából.
- Nincs: A rendszer nem hajt végre műveletet a táblán.
- Újra: A tábla elvetve és újra létrehozva lesz. Új tábla dinamikus létrehozása esetén kötelező.
- Csonkolási: A céltábla összes sora el lesz távolítva.
Előkészítés engedélyezése: Ez lehetővé teszi az Azure Synapse Analytics SQL-készletekbe való betöltést a másolási paranccsal, és a legtöbb Synapse-fogadó számára ajánlott. Az átmeneti tároló az Execute Adatfolyam tevékenységben van konfigurálva.
- Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
- Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
Kötegméret: Azt szabályozza, hogy hány sor legyen megírva az egyes gyűjtőkben. A nagyobb kötegméretek javítják a tömörítést és a memóriaoptimalizálást, de az adatok gyorsítótárazásakor a memóriakivételek kiesnek.
Fogadóséma használata: Alapértelmezés szerint átmeneti tábla jön létre a fogadóséma alatt előkészítésként. Másik lehetőségként törölje a jelet a Fogadó séma használata lehetőségből, és ehelyett a Felhasználói ADATBÁZIS-séma kiválasztása területen adjon meg egy sémanevet, amely alatt a Data Factory létrehoz egy előkészítési táblát a felsőbb rétegbeli adatok betöltéséhez, és a befejezés után automatikusan törli őket. Győződjön meg arról, hogy táblaengedélyt hoz létre az adatbázisban, és módosítja a sémára vonatkozó engedélyt.
SQL-szkriptek elő- és postálása: Adja meg azokat a többsoros SQL-szkripteket, amelyek az adatok feldolgozása előtt (előzetes feldolgozás) és (utófeldolgozás) után lesznek végrehajtva a Fogadó adatbázisba
Tipp.
Hibát tartalmazó sorok kezelése
Az Azure Synapse Analyticsbe való íráskor bizonyos adatsorok meghiúsulhatnak a cél által beállított korlátozások miatt. Néhány gyakori hiba:
- A sztring- vagy bináris adatok csonkulnak a táblában
- A NULL értéket nem lehet beszúrni az oszlopba
- Az átalakítás nem sikerült az érték adattípussá alakításakor
Alapértelmezés szerint az adatfolyam-futtatás az első hibánál meghiúsul. Választhatja a Folytatás hibaüzenetet , amely lehetővé teszi az adatfolyam befejezését még akkor is, ha az egyes sorok hibásak. A szolgáltatás különböző lehetőségeket kínál a hibasorok kezelésére.
Tranzakció véglegesítése: Adja meg, hogy az adatok egyetlen tranzakcióban vagy kötegekben lesznek-e megírva. Az egyetlen tranzakció jobb teljesítményt nyújt, és a tranzakció befejezéséig nem láthatók mások számára az írott adatok. A Batch-tranzakciók teljesítménye rosszabb, de nagy adathalmazok esetén is működik.
Elutasított adatok kimenete: Ha engedélyezve van, a hibasorokat egy csv-fájlba is kiadhatja az Azure Blob Storage-ban vagy egy ön által választott Azure Data Lake Storage Gen2-fiókban. Ez megírja a hibasorokat három további oszlopmal: az SQL-művelettel( például INSERT vagy UPDATE), az adatfolyam hibakódjával és a sor hibaüzenetével.
Hibajelentés sikerességéről: Ha engedélyezve van, az adatfolyam akkor is sikeresként lesz megjelölve, ha hibasorok találhatók.
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
GetMetadata tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez ellenőrizze a GetMetadata-tevékenységet
Adattípus-leképezés az Azure Synapse Analyticshez
Amikor adatokat másol az Azure Synapse Analyticsből vagy az Azure Synapse Analyticsbe, a rendszer az alábbi leképezéseket használja az Azure Synapse Analytics adattípusaiból az Azure Data Factory köztes adattípusaiba. Ezeket a leképezéseket az Azure Synapse Analyticsből vagy az Azure Synapse Analyticsbe a Synapse-folyamatokkal történő másoláskor is használják, mivel a folyamatok az Azure Data Factoryt is implementálják az Azure Synapse-ban. A séma- és adattípus-leképezések segítségével megtudhatja, hogyan képezi le a másolási tevékenység a forrássémát és az adattípust a fogadóhoz.
Tipp.
Az Azure Synapse Analytics által támogatott adattípusokról és a nem támogatottak kerülő megoldásáról az Azure Synapse Analytics táblázatos adattípusai című cikkben talál további információt.
Az Azure Synapse Analytics adattípusa | A Data Factory köztes adattípusa |
---|---|
bigint | Int64 |
bináris | Bájt[] |
bit | Logikai |
bejárónő | Sztring, Karakter[] |
dátum: | Dátum/idő |
Datetime | Dátum/idő |
datetime2 | Dátum/idő |
Datetimeoffset | DateTimeOffset |
Decimális | Decimális |
FILESTREAM attribútum (varbinary(max)) | Bájt[] |
Lebegőpontos értékek | Dupla |
rendszerkép | Bájt[] |
egész | Int32 |
pénz | Decimális |
nchar | Sztring, Karakter[] |
Numerikus | Decimális |
nvarchar | Sztring, Karakter[] |
valós szám | Egyszeres |
rowversion | Bájt[] |
smalldatetime | Dátum/idő |
smallint | Int16 |
smallmoney | Decimális |
time | időtartam |
tinyint | Bájt |
uniqueidentifier | GUID |
varbinary | Bájt[] |
varchar | Sztring, Karakter[] |
Az Azure Synapse Analytics verziójának frissítése
Az Azure Synapse Analytics verziójának frissítéséhez a Csatolt szolgáltatás szerkesztése lapon válassza az Ajánlott a Verzió területen, és konfigurálja a társított szolgáltatást az ajánlott verzió társított szolgáltatás tulajdonságaira hivatkozva.
Az ajánlott és az örökölt verzió közötti különbségek
Az alábbi táblázat az Azure Synapse Analytics és az ajánlott és az örökölt verzió közötti különbségeket mutatja be.
Ajánlott verzió | Örökölt verzió |
---|---|
TLS 1.3 támogatása a következőképpenstrict : encrypt . |
A TLS 1.3 nem támogatott. |
Kapcsolódó tartalom
A másolási tevékenység által forrásként és fogadóként támogatott adattárak listájáért tekintse meg a támogatott adattárakat és formátumokat.