Adatok másolása és átalakítása Snowflake-ben Azure Data Factory vagy Azure Synapse Analytics használatával
A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics
Ez a cikk azt ismerteti, hogyan használhatja a Copy tevékenység Azure Data Factory és Azure Synapse folyamatokban az adatokat a Snowflake-ból és a Snowflake-be történő másoláshoz, és hogyan alakíthatja át az adatokat a Snowflake Adatfolyam használatával. További információt a Data Factory vagy Azure Synapse Analytics bevezető cikkében talál.
Támogatott képességek
Ez a Snowflake-összekötő a következő képességeket támogatja:
Támogatott képességek | IR |
---|---|
Copy tevékenység (forrás/fogadó) | ① ② |
Adatfolyam leképezése (forrás/fogadó) | ① |
Keresési tevékenység | ① ② |
Parancsprogram-tevékenység | ① ② |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
A Copy tevékenység ez a Snowflake-összekötő a következő funkciókat támogatja:
- Másolja az adatokat a Snowflake COPY in [location] parancsát használó Snowflake-ból a legjobb teljesítmény elérése érdekében.
- A legjobb teljesítmény elérése érdekében másolja az adatokat a Snowflake-ba, amely kihasználja Snowflake COPY into [table] parancsát. Támogatja a Snowflake-t az Azure-ban.
- Ha proxyra van szükség a Snowflake-hez való csatlakozáshoz egy saját üzemeltetésű Integration Runtime, konfigurálnia kell a környezeti változókat HTTP_PROXY és HTTPS_PROXY a Integration Runtime gazdagépen.
Előfeltételek
Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudban található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz. Mindenképpen adja hozzá azokat az IP-címeket, amelyeket a helyi integrációs modul használ az engedélyezett listához.
Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, felveheti az Azure Integration Runtime IP-címeket az engedélyezett listára.
A Forráshoz vagy a Fogadóhoz használt Snowflake-fióknak rendelkeznie kell a szükséges USAGE
hozzáféréssel az adatbázishoz, és olvasási/írási hozzáféréssel kell rendelkeznie a sémán és az alatta lévő táblákon/nézeteken. Emellett a sémának is rendelkeznie CREATE STAGE
kell a külső szakasz SAS URI-val való létrehozásához.
A fióktulajdonságok alábbi értékeit be kell állítani
Tulajdonság | Leírás | Kötelező | Alapértelmezett |
---|---|---|---|
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION | Meghatározza, hogy szükség van-e egy tárolóintegrációs objektumra felhőbeli hitelesítő adatokként egy elnevezett külső szakasz létrehozásakor (a CREATE STAGE használatával) a magánfelhő-tárolóhely eléréséhez. | HAMIS | HAMIS |
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION | Meghatározza, hogy szükség van-e egy elnevezett külső szakasz használatára, amely felhőbeli hitelesítő adatokként hivatkozik egy tárolóintegrációs objektumra az adatok magánfelhő-tárolóhelyről való betöltésekor vagy onnan való eltávolításakor. | HAMIS | HAMIS |
A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és beállításokkal kapcsolatos további információkért lásd: Adathozzáférési stratégiák.
Bevezetés
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
Társított szolgáltatás létrehozása a Snowflake-hez felhasználói felülettel
Az alábbi lépésekkel hozzon létre egy társított szolgáltatást a Snowflake-hez a Azure Portal felhasználói felületén.
Keresse meg a kezelés lapot a Azure Data Factory vagy a Synapse-munkaterületen, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg a Snowflake kifejezést, és válassza ki a Snowflake ö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.
Összekötő konfigurációjának részletei
Az alábbi szakaszok részletesen ismertetik a Snowflake-összekötőre jellemző entitásokat definiáló tulajdonságokat.
Társított szolgáltatás tulajdonságai
Ez a Snowflake-összekötő a következő hitelesítési típusokat támogatja. A részletekért tekintse meg a megfelelő szakaszokat.
Alapszintű hitelesítés
Az alábbi tulajdonságok támogatottak a Snowflake társított szolgáltatáshoz alapszintű hitelesítés használata esetén.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type tulajdonságot Snowflake értékre kell állítani. | Yes |
connectionString | Megadja a Snowflake-példányhoz való csatlakozáshoz szükséges információkat. Dönthet úgy, hogy jelszót vagy teljes kapcsolati sztring helyez el az Azure Key Vault. További részletekért tekintse meg a táblázat alatti példákat, valamint a Hitelesítő adatok tárolása az Azure Key Vault-ben című cikket. Néhány tipikus beállítás: - Fiók neve: A Snowflake-fiók teljes fiókneve (beleértve a régiót és a felhőplatformot azonosító további szegmenseket is), például xy12345.east-us-2.azure. - Felhasználónév: A felhasználó bejelentkezési neve a kapcsolathoz. - Jelszó: A felhasználó jelszava. - Adatbázis: Az alapértelmezett adatbázis, amelyet a csatlakozás után használni kell. Egy meglévő adatbázisnak kell lennie, amelyhez a megadott szerepkör rendelkezik jogosultságokkal. - Raktár: A csatlakozás után használni kívánt virtuális raktár. Egy meglévő raktárnak kell lennie, amelyhez a megadott szerepkör rendelkezik jogosultságokkal. - Szerepet: A Snowflake munkamenetben használni kívánt alapértelmezett hozzáférés-vezérlési szerepkör. A megadott szerepkörnek olyan meglévő szerepkörnek kell lennie, amely már hozzá lett rendelve a megadott felhasználóhoz. Az alapértelmezett szerepkör a NYILVÁNOS. |
Yes |
authenticationType | Állítsa ezt a tulajdonságot Alapszintű értékre. | Yes |
connectVia | Az adattárhoz való csatlakozáshoz használt integrációs modul . Használhatja az Azure integrációs modult vagy egy saját üzemeltetésű integrációs modult (ha az adattár privát hálózaton található). Ha nincs megadva, az alapértelmezett Azure-integrációs modult használja. | No |
Példa
{
"name": "SnowflakeLinkedService",
"properties": {
"type": "Snowflake",
"typeProperties": {
"authenticationType": "Basic",
"connectionString": "jdbc:snowflake://<accountname>.snowflakecomputing.com/?user=<username>&password=<password>&db=<database>&warehouse=<warehouse>&role=<myRole>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Jelszó az Azure Key Vault:
{
"name": "SnowflakeLinkedService",
"properties": {
"type": "Snowflake",
"typeProperties": {
"authenticationType": "Basic",
"connectionString": "jdbc:snowflake://<accountname>.snowflakecomputing.com/?user=<username>&db=<database>&warehouse=<warehouse>&role=<myRole>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Adatkészlet 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.
A Snowflake adatkészlet esetében az alábbi tulajdonságok támogatottak.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságát SnowflakeTable értékre kell állítani. | Yes |
schema | A séma neve. Figyelje meg, hogy a séma neve megkülönbözteti a kis- és nagybetűk nevét. | Nem a forráshoz, igen a fogadóhoz |
tábla | A tábla/nézet neve. Vegye figyelembe, hogy a tábla neve megkülönbözteti a kis- és nagybetűk nevét. | Nem a forráshoz, igen a fogadóhoz |
Példa
{
"name": "SnowflakeDataset",
"properties": {
"type": "SnowflakeTable",
"typeProperties": {
"schema": "<Schema name for your Snowflake database>",
"table": "<Table name for your Snowflake database>"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"linkedServiceName": {
"referenceName": "<name of linked service>",
"type": "LinkedServiceReference"
}
}
}
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 a Snowflake forrás és fogadó által támogatott tulajdonságok listáját tartalmazza.
Snowflake mint forrás
A Snowflake-összekötő a Snowflake COPY into [location] parancsát használja a legjobb teljesítmény eléréséhez.
Ha a Snowflake COPY parancs natív módon támogatja a fogadó adattárát és formátumát, a Copy tevékenység használatával közvetlenül másolhatja a Snowflake-ből a fogadóba. Részletekért lásd: Közvetlen másolat a Snowflake-ből. Ellenkező esetben használja a Snowflake beépített szakaszos másolatát.
Az adatok Snowflake-ből való másolásához a következő tulajdonságok támogatottak a Copy tevékenység forrás szakaszban.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A Copy tevékenység forrás típustulajdonságát SnowflakeSource értékre kell állítani. | Yes |
query | Megadja azt az SQL-lekérdezést, amely adatokat olvas be a Snowflake-ből. Ha a séma, a tábla és az oszlopok neve kisbetűket tartalmaz, idézi az objektumazonosítót a lekérdezésben, például: . select * from "schema"."myTable" A tárolt eljárás végrehajtása nem támogatott. |
No |
exportSettings | Speciális beállítások az adatok Snowflake-ból való lekéréséhez. A COPY által támogatottakat konfigurálhatja olyan parancsba, amelyet a szolgáltatás a utasítás meghívásakor át fog adni. | Yes |
A alatt exportSettings : |
||
típus | Az exportálási parancs típusa, amely SnowflakeExportCopyCommand értékre van állítva. | Yes |
additionalCopyOptions | További másolási lehetőségek, kulcs-érték párok szótáraként. Példák: MAX_FILE_SIZE, FELÜLÍRÁS. További információ: Hópehely másolási beállításai. | No |
additionalFormatOptions | További fájlformátum-beállítások a COPY parancshoz kulcs-érték párok szótáraként. Példák: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. További információt a Snowflake formátumtípus-beállításai című témakörben talál. | No |
Megjegyzés
Győződjön meg arról, hogy rendelkezik engedéllyel a következő parancs végrehajtásához, valamint a séma INFORMATION_SCHEMA és az OSZLOPOK tábla eléréséhez.
COPY INTO <location>
Közvetlen másolat Snowflake-ből
Ha a fogadó adattára és formátuma megfelel az ebben a szakaszban ismertetett feltételeknek, a Copy tevékenység használatával közvetlenül másolhatja a Snowflake-ből a fogadóba. A szolgáltatás ellenőrzi a beállításokat, és nem futtatja a Copy tevékenység, ha a következő feltételek nem teljesülnek:
A fogadó társított szolgáltatása az Azure Blob Storageközös hozzáférésű jogosultságkód-hitelesítéssel . Ha közvetlenül az alábbi támogatott formátumban szeretne adatokat másolni Azure Data Lake Storage Gen2, létrehozhat egy Azure Blob társított szolgáltatást SAS-hitelesítéssel az ADLS Gen2-fiókján, hogy elkerülje a Snowflake-ből származó szakaszos másolás használatát.
A fogadó adatformátumaParquet, tagolt szöveg vagy JSON , az alábbi konfigurációkkal:
- Parquet formátum esetén a tömörítési kodek a None, a Snappy vagy a Lzo.
- Tagolt szövegformátum esetén:
rowDelimiter
\r\nvagy bármely karakter.compression
nem lehet tömörítés, gzip, bzip2 vagy deflátum.encodingName
az alapértelmezett érték marad, vagy az utf-8 értékre van állítva.quoteChar
dupla idézőjel, egyszeres idézőjel vagy üres sztring (nincs idézőjel).
- JSON-formátum esetén a közvetlen másolás csak azt az esetet támogatja, hogy a Snowflake forrástáblában vagy lekérdezési eredményben csak egyetlen oszlop szerepel, és az oszlop adattípusa VARIANT, OBJECT vagy ARRAY.
compression
nem lehet tömörítés, gzip, bzip2 vagy deflátum.encodingName
az alapértelmezett érték marad, vagy az utf-8 értékre van állítva.filePattern
a másolási tevékenység fogadója alapértelmezettként marad, vagy a setOfObjects értékre van állítva.
A másolási tevékenység forrásában
additionalColumns
nincs megadva.Nincs megadva oszlopleképezés.
Példa
"activities":[
{
"name": "CopyFromSnowflake",
"type": "Copy",
"inputs": [
{
"referenceName": "<Snowflake input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SnowflakeSource",
"sqlReaderQuery": "SELECT * FROM MYTABLE",
"exportSettings": {
"type": "SnowflakeExportCopyCommand",
"additionalCopyOptions": {
"MAX_FILE_SIZE": "64000000",
"OVERWRITE": true
},
"additionalFormatOptions": {
"DATE_FORMAT": "'MM/DD/YYYY'"
}
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Szakaszos másolat Snowflake-ből
Ha a fogadó adattára vagy formátuma natív módon nem kompatibilis a Snowflake COPY paranccsal, ahogy azt az előző szakaszban említettük, engedélyezze a beépített szakaszos példányt egy köztes Azure Blob Storage-példány használatával. A szakaszos másolási funkció jobb átviteli sebességet is biztosít. A szolgáltatás adatokat exportál a Snowflake-ból az átmeneti tárolóba, majd átmásolja az adatokat a fogadóba, és végül törli az ideiglenes adatokat az átmeneti tárolóból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért lásd: Szakaszos másolás .
A funkció használatához hozzon létre egy Azure Blob Storage társított szolgáltatást , amely átmeneti előkészítésként hivatkozik az Azure Storage-fiókra. Ezután adja meg a és stagingSettings
a enableStaging
tulajdonságot a Copy tevékenység.
Megjegyzés
Az átmeneti Azure Blob Storage társított szolgáltatásnak a Snowflake COPY parancs által megkövetelt közös hozzáférésű jogosultságkód-hitelesítést kell használnia. Győződjön meg arról, hogy megfelelő hozzáférési engedélyt ad a Snowflake-nek az átmeneti Azure Blob Storage-ban. Erről a cikkből tudhat meg többet.
Példa
"activities":[
{
"name": "CopyFromSnowflake",
"type": "Copy",
"inputs": [
{
"referenceName": "<Snowflake input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SnowflakeSource",
"sqlReaderQuery": "SELECT * FROM MyTable",
"exportSettings": {
"type": "SnowflakeExportCopyCommand"
}
},
"sink": {
"type": "<sink type>"
},
"enableStaging": true,
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingBlob",
"type": "LinkedServiceReference"
},
"path": "mystagingpath"
}
}
}
]
Hópehely fogadóként
A Snowflake-összekötő a Snowflake COPY into [table] parancsát használja a legjobb teljesítmény eléréséhez. Támogatja az adatok írását az Azure-beli Snowflake-be.
Ha a Snowflake COPY parancs natív módon támogatja a forrásadattárat és a formátumot, a Copy tevékenység használatával közvetlenül másolhat a forrásból a Snowflake-be. Részletekért lásd: Közvetlen másolás Snowflake-be. Ellenkező esetben használja a Snowflake beépített szakaszos másolatát.
Ha adatokat szeretne másolni a Snowflake-be, az alábbi tulajdonságok támogatottak a Copy tevékenység fogadó szakaszban.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A Copy tevékenység fogadó type tulajdonsága SnowflakeSink értékre állítva. | Yes |
preCopyScript | Adjon meg egy SQL-lekérdezést a Copy tevékenység futtatásához, mielőtt adatokat írna a Snowflake-be minden futtatás során. Ezzel a tulajdonságkal törölheti az előre betöltött adatokat. | No |
importSettings | Speciális beállítások az adatok Snowflake-be való írásához. A COPY által támogatottakat konfigurálhatja olyan parancsba, amelyet a szolgáltatás a utasítás meghívásakor át fog adni. | Yes |
A alatt importSettings : |
||
típus | Az importálási parancs típusa, amely SnowflakeImportCopyCommand értékre van állítva. | Yes |
additionalCopyOptions | További másolási lehetőségek, kulcs-érték párok szótáraként. Példák: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. További információ: Hópehely másolási beállításai. | No |
additionalFormatOptions | További fájlformátum-beállítások a COPY parancshoz, kulcs-érték párok szótáraként. Példák: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. További információt a Snowflake formátumtípus-beállításai című témakörben talál. | No |
Megjegyzés
Győződjön meg arról, hogy rendelkezik engedéllyel a következő parancs végrehajtásához, valamint a séma INFORMATION_SCHEMA és az OSZLOPOK tábla eléréséhez.
SELECT CURRENT_REGION()
COPY INTO <table>
SHOW REGIONS
CREATE OR REPLACE STAGE
DROP STAGE
Közvetlen másolás Snowflake-be
Ha a forrásadattár és a formátum megfelel az ebben a szakaszban ismertetett feltételeknek, a Copy tevékenység használatával közvetlenül másolhat a forrásból a Snowflake-be. A szolgáltatás ellenőrzi a beállításokat, és nem futtatja a Copy tevékenység, ha a következő feltételek nem teljesülnek:
A forrás társított szolgáltatás az Azure Blob Storageközös hozzáférésű jogosultságkód-hitelesítéssel . Ha a következő támogatott formátumban szeretne közvetlenül adatokat másolni Azure Data Lake Storage Gen2-ből, létrehozhat egy Azure Blob társított szolgáltatást SAS-hitelesítéssel az ADLS Gen2-fiókján, hogy elkerülje a Snowflake-be történő szakaszos másolás használatát.
A forrásadat-formátuma Parquet, a Tagolt szöveg vagy a JSON az alábbi konfigurációkkal:
Parquet formátum esetén a tömörítési kodek a None vagy a Snappy.
Tagolt szövegformátum esetén:
rowDelimiter
\r\nvagy bármely karakter. Ha a sorelválasztó nem "\r\n",firstRowAsHeader
hamisnak kell lennie, ésskipLineCount
nincs megadva.compression
nem lehet tömörítés, gzip, bzip2 vagy deflátum.encodingName
alapértelmezettként marad, vagy "UTF-8", "UTF-16", "UTF-16BE" értékre van állítva, "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9 ", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255".quoteChar
dupla idézőjel, egyszeres idézőjel vagy üres sztring (nincs idézőjel).
JSON-formátum esetén a közvetlen másolás csak azt az esetet támogatja, hogy a Fogadó Snowflake tábla csak egyetlen oszlopot tartalmaz, és ennek az oszlopnak az adattípusa VARIANT, OBJECT vagy ARRAY.
compression
nem lehet tömörítés, gzip, bzip2 vagy deflátum.encodingName
az alapértelmezett érték marad, vagy az utf-8 értékre van állítva.- Nincs megadva oszlopleképezés.
A Copy tevékenység forrásban:
additionalColumns
nincs megadva.- Ha a forrás egy mappa,
recursive
akkor igaz értékre van állítva. prefix
,modifiedDateTimeStart
,modifiedDateTimeEnd
ésenablePartitionDiscovery
nincs megadva.
Példa
"activities":[
{
"name": "CopyToSnowflake",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Snowflake output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "SnowflakeSink",
"importSettings": {
"type": "SnowflakeImportCopyCommand",
"copyOptions": {
"FORCE": "TRUE",
"ON_ERROR": "SKIP_FILE"
},
"fileFormatOptions": {
"DATE_FORMAT": "YYYY-MM-DD"
}
}
}
}
}
]
Szakaszos másolat a Snowflake-hez
Ha a forrásadattár vagy -formátum natív módon nem kompatibilis a Snowflake COPY paranccsal, ahogy azt az előző szakaszban említettük, engedélyezze a beépített szakaszos példányt egy köztes Azure Blob Storage-példány használatával. A szakaszos másolási funkció jobb átviteli sebességet is biztosít. A szolgáltatás automatikusan átalakítja az adatokat, hogy megfeleljenek a Snowflake adatformátum-követelményeinek. Ezután meghívja a COPY parancsot az adatok Snowflake-be való betöltéséhez. Végül törli az ideiglenes adatokat a blobtárolóból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért lásd: Szakaszos másolás .
A funkció használatához hozzon létre egy Azure Blob Storage társított szolgáltatást , amely átmeneti előkészítésként hivatkozik az Azure Storage-fiókra. Ezután adja meg a és stagingSettings
a enableStaging
tulajdonságot a Copy tevékenység.
Megjegyzés
Az átmeneti Azure Blob Storage társított szolgáltatásnak a Snowflake COPY parancs által megkövetelt közös hozzáférésű jogosultságkód-hitelesítést kell használnia.
Példa
"activities":[
{
"name": "CopyToSnowflake",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Snowflake output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "SnowflakeSink",
"importSettings": {
"type": "SnowflakeImportCopyCommand"
}
},
"enableStaging": true,
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingBlob",
"type": "LinkedServiceReference"
},
"path": "mystagingpath"
}
}
}
]
Adatfolyam-tulajdonságok leképezése
A leképezési adatfolyam adatainak átalakításakor a Snowflake-ban olvashat a táblákból, és beírhatja azokat a táblákba. További információkért lásd a forrásátalakítást és a fogadó transzformációt az adatfolyamok leképezésében. Választhat, hogy Snowflake-adatkészletet vagy beágyazott adatkészletet használ forrás- és fogadótípusként.
Forrásátalakítás
Az alábbi táblázat a Snowflake-forrás által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Forrásbeállítások lapon szerkesztheti. Az összekötő Snowflake belső adatátvitelt használ.
Név | Leírás | Kötelező | Megengedett értékek | Adatfolyam-szkript tulajdonság |
---|---|---|---|---|
Tábla | Ha bemenetként a Tábla lehetőséget választja, az adatfolyam a Snowflake-adatkészletben vagy a forrásbeállításokban megadott összes adatot lekéri beágyazott adathalmaz használatakor. | Nem | Sztring | (csak beágyazott adathalmaz esetén) tableName schemaName |
Lekérdezés | Ha bemenetként a Lekérdezés lehetőséget választja, adjon meg egy lekérdezést az adatok Snowflake-ból való lekéréséhez. Ez a beállítás felülbírálja az adathalmazban kiválasztott táblákat. Ha a séma, a tábla és az oszlopok neve kisbetűket tartalmaz, idézi az objektumazonosítót a lekérdezésben, például: . select * from "schema"."myTable" |
Nem | Sztring | query |
Példák a Snowflake forrásszkriptre
Ha a Snowflake-adatkészletet használja forrástípusként, a társított adatfolyam-szkript a következő:
source(allowSchemaDrift: true,
validateSchema: false,
query: 'select * from MYTABLE',
format: 'query') ~> SnowflakeSource
Beágyazott adathalmaz használata esetén a társított adatfolyam-szkript a következő:
source(allowSchemaDrift: true,
validateSchema: false,
format: 'query',
query: 'select * from MYTABLE',
store: 'snowflake') ~> SnowflakeSource
Fogadó átalakítása
Az alábbi táblázat a Snowflake fogadó által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Beállítások lapon szerkesztheti. Beágyazott adatkészlet használata esetén további beállítások jelennek meg, amelyek megegyeznek az adathalmaz tulajdonságainak szakaszában ismertetett tulajdonságokkal. Az összekötő Snowflake belső adatátvitelt használ.
Név | Leírás | Kötelező | Megengedett értékek | Adatfolyam-szkript tulajdonsága |
---|---|---|---|---|
Frissítési módszer | Adja meg, hogy milyen műveletek engedélyezettek a Snowflake-célhelyen. A sorok frissítéséhez, frissítéséhez vagy törléséhez alter row transformationre van szükség az adott műveletek sorainak címkézéséhez. |
Yes | true vagy false |
törölhető beszúrható Frissíthető upsertable |
Kulcsoszlopok | 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. | No | Tömb | keys |
Táblaművelet | Meghatározza, hogy az írás előtt újra létre kell-e hoznia vagy el kell-e távolítania 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ő. - Truncate: A céltábla összes sora el lesz távolítva. |
No | true vagy false |
Újra Megcsonkít |
Snowflake fogadó szkript példák
Ha a Snowflake adatkészletet fogadótípusként használja, a társított adatfolyam-szkript a következő:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
deletable:true,
insertable:true,
updateable:true,
upsertable:false,
keys:['movieId'],
format: 'table',
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> SnowflakeSink
Beágyazott adatkészlet használata esetén a társított adatfolyam-szkript a következő:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
format: 'table',
tableName: 'table',
schemaName: 'schema',
deletable: true,
insertable: true,
updateable: true,
upsertable: false,
store: 'snowflake',
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> SnowflakeSink
Keresési tevékenység tulajdonságai
A tulajdonságokról további információt a Keresési tevékenység című témakörben talál.
Következő lépések
Az Copy tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárak és formátumok című témakörben találja.