Adatok másolása és átalakítása Snowflake-Azure Data Factory vagy Azure Synapse Analytics

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Ez a cikk bemutatja, hogyan használhatja a Copy tevékenység-t Azure Data Factory- és Azure Synapse-folyamatokban adatok másolására a Snowflake-be és a Snowflake-be, és hogyan használhatja a Data Flow-t az adatok Átalakítására a Snowflake-ban. További információért tekintse meg a Data Factory vagy Azure Synapse Analytics bevezető Azure Synapse Analytics.

Támogatott képességek

Ez a Snowflake-összekötő a következő tevékenységekhez támogatott:

A Copy tevékenység Snowflake-összekötő a következő függvényeket támogatja:

  • Másolja az adatokat a Snowflake-ről, amely a Snowflake COPY parancsát használja a [location] parancsba a legjobb teljesítmény elérése érdekében.
  • Másolja az adatokat a Snowflake-be, amely a Snowflake COPY parancsát használja a [table] parancsba a legjobb teljesítmény elérése érdekében. Támogatja a Snowflake-et az Azure-ban.
  • Ha proxy szükséges a Snowflake-hez való csatlakozáshoz egy saját Integration Runtime-ről, konfigurálnia kell a HTTP_PROXY és HTTPS_PROXY környezeti Integration Runtime gazdagépen.

Bevezetés

A Copy tevékenység folyamatokkal való végrehajtásához a következő eszközök vagy AZDK-k egyikét használhatja:

A Snowflake-hez csatolt szolgáltatás létrehozása a felhasználói felület használatával

Az alábbi lépésekkel hozhat létre egy, a Snowflake-hez csatolt szolgáltatást a Azure Portal felhasználói felületén.

  1. Lépjen a Kezelés lapra a Azure Data Factory Synapse-munkaterületen, és válassza a Csatolt szolgáltatások lehetőséget, majd kattintson az Új elemre:

  2. Keressen rá a Snowflake kifejezésre, és válassza ki a Snowflake-összekötőt.

    A Snowflake-összekötő képernyőképe.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új csatolt szolgáltatást.

    Képernyőkép a Snowflake-hez kapcsolódó szolgáltatás konfigurációról.

Az összekötő konfigurációjának részletei

A következő szakaszok a Snowflake-összekötőkre jellemző entitásokat meghatározó tulajdonságokat ismertetik.

Csatolt szolgáltatás tulajdonságai

A Snowflake-hez csatolt szolgáltatások az alábbi tulajdonságokat támogatják.

Tulajdonság Leírás Kötelező
típus A type (típus) tulajdonságot Snowflake (Hópehely) tulajdonságra kell állítani. Yes
connectionString (kapcsolati karakterlánc) A Snowflake-példányhoz való csatlakozáshoz szükséges adatokat adja meg. Dönthet úgy, hogy a jelszót vagy a teljes kapcsolati sztringet a Azure Key Vault. További részletekért tekintse meg az alábbi táblázatban található példákat, valamint Azure Key Vault Store credentials in Azure Key Vault (Üzlet hitelesítő adatai) cikket.

Néhány tipikus beállítás:
- Fióknév: A Snowflake-fiók teljes fiókneve (beleértve a régiót és a felhőplatformot azonosító további szegmenseket), például xy12345.east-us-2.azure.
- Felhasználónév: A kapcsolat felhasználónevét.
- Jelszó: A felhasználó jelszava.
- Adatbázis: A csatlakozás után használt alapértelmezett adatbázis. Olyan meglévő adatbázisnak kell lennie, amelyhez a megadott szerepkör rendelkezik jogosultságokkal.
- Warehouse (Raktár): A csatlakozás után használható virtuális adattárház. Olyan meglévő adattárháznak kell lennie, amelyhez a megadott szerepkör rendelkezik jogosultságokkal.
- Szerepkör: A Snowflake-munkamenetben használt 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á van rendelve a megadott felhasználóhoz. Az alapértelmezett szerepkör a PUBLIC.
Yes
connectVia Az adattárhoz való csatlakozáshoz használt integrációskörnyezet. Használhatja az Azure integrációs és helyi integrációskörnyezetet (ha az adattár egy magánhálózatban található). Ha nincs megadva, az alapértelmezett Azure-integrációskörnyezetet használja. No

Példa

{
    "name": "SnowflakeLinkedService",
    "properties": {
        "type": "Snowflake",
        "typeProperties": {
            "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ó a Azure Key Vault:

{
    "name": "SnowflakeLinkedService",
    "properties": {
        "type": "Snowflake",
        "typeProperties": {
            "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 adatkészletek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adatkészletek cikkben olvashatja el.

A Snowflake-adatkészlet az alábbi tulajdonságokat támogatja.

Tulajdonság Leírás Kötelező
típus Az adatkészlet type (típus) tulajdonságát SnowflakeTable (SnowflakeTable) tulajdonságra kell állítani. Yes
schema A séma neve. Vegye figyelembe, hogy a séma neve megkülönbözteti a kis- és nagybetűket. Nem a forráshoz, igen a fogadóhoz
tábla A tábla/nézet neve. Figyelje meg, hogy a tábla neve megkülönbözteti a kis- és nagybetűket. 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 cikkben olvashatja el. Ez a szakasz a Snowflake-forrás és -fogadó által támogatott tulajdonságok listáját tartalmazza.

A 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árat és a formátumot, a Copy tevékenység használatával közvetlenül másolhat a Snowflake-ről a fogadóba. Részletekért lásd: Közvetlen másolat a Snowflake-ről. Ellenkező esetben használja a Snowflake beépített szakaszos másolatát.

Ha adatokat másol a Snowflake-ről, az alábbi tulajdonságok támogatottak a Copy tevékenység szakaszban.

Tulajdonság Leírás Kötelező
típus Az adatforrás type (típus) Copy tevékenység snowflakeSource (SnowflakeSource) értéknek kell lennie. Yes
lekérdezés Megadja a SQL lekérdezést, amely a Snowflake-től olvas adatokat. Ha a séma, a tábla és az oszlopok neve kisbetűt tartalmaz, idézőjelek közé kell tenni a lekérdezésben szereplő objektumazonosítót( például select * from "schema"."myTable" ).
A tárolt eljárás végrehajtása nem támogatott.
No
exportSettings (Beállítások exportálása) Speciális beállítások az adatok Snowflake-től való lekéréséhez. A COPY into parancs által támogatottakat konfigurálhatja, amelyeken a szolgáltatás áthalad a utasítás meghívjakor. No
A exportSettings alatt:
típus Az exportálási parancs típusa, a snowflakeExportCopyCommand beállítással. Yes
additionalCopyOptions További másolási lehetőségek, amelyek kulcs-érték párok szótáraként biztosítanak. Például: MAX_FILE_SIZE, FELÜLÍRÁS. További információ: Snowflake Copy Options. No
additionalFormatOptions A COPY parancshoz kulcs-érték párok szótáraként biztosított további fájlformátum-beállítások. Például: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. További információ: Snowflake Format Type Options (Snowflake formátumtípus-beállítások). No

Közvetlen másolat a Snowflake-ről

Ha a fogadó adattár és a formátum megfelel az ebben a szakaszban ismertetett feltételeknek, a Copy tevékenység közvetlenül másolhatja a Snowflake-ről a fogadóba. A szolgáltatás ellenőrzi a beállításokat, és Copy tevékenység futtatása sikertelen lesz, ha a következő feltételek nem teljesülnek:

  • A fogadó csatolt szolgáltatás az Azure Blob Storage közös hozzáférésű jogosultságaláírás-hitelesítéssel. Ha közvetlenül szeretne adatokat másolni az Azure Data Lake Storage Gen2-be a következő támogatott formátumban, létrehozhat egy SAS-hitelesítést használó Azure Blob-beli összekapcsolt szolgáltatást a ADLS Gen2-fiókján, hogy elkerülje a Snowflake-rőlszármazó szakaszos másolat használatát.

  • A fogadó adatformátuma Parquet, tagolt szöveg vagy JSON, az alábbi konfigurációval:

    • Parquet formátum esetén a tömörítési kodek a Következő: None, Snappy, vagy Lzo.
    • Tagolt szövegformátumhoz:
      • rowDelimiter A \r\n, vagy bármilyen egyetlen karakterből áll.
      • compressionA nem lehet tömörítés, gzip, bzip2, vagy leered.
      • encodingNameaz alapértelmezett érték, vagy utf-8.
      • quoteChar A dupla idézőjel, egyszeres idézőjel, vagy üres sztring (idézőjel nélkül).
    • JSON formátum esetén a közvetlen másolás csak azt az esetet támogatja, ha a forrás Snowflake-tábla vagy lekérdezés eredménye csak egy oszlopot tartalmaz, és ennek az oszlopnak az adattípusa VARIANT, OBJECT vagy ARRAY.
      • compressionA nem lehet tömörítés, gzip, bzip2, vagy leered.
      • encodingNameaz alapértelmezett érték, vagy utf-8.
      • filePatternA másolási tevékenység fogadóban az alapértelmezett érték marad, vagy a setOfObjects lesz beá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>"
            }
        }
    }
]

A Snowflake-ről származó szakaszos másolat

Ha a fogadó adattár vagy formátum nem natív módon kompatibilis a Snowflake COPY paranccsal, ahogyan azt az előző szakaszban említettük, engedélyezze a beépített, szakaszos másolást egy ideiglenes Azure Blob Storage-példány használatával. Az szakaszos másolási funkció jobb átviteli sebességet is biztosít. A szolgáltatás adatokat exportál a Snowflake-ről egy átmeneti tárolóba, majd átmásolja az adatokat a fogadóba, végül pedig megtisztítja az ideiglenes adatokat az átmeneti tárolóból. Az adatok átmeneti használatával való 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-beli csatolt szolgáltatást, amely átmeneti szolgáltatásként hivatkozik az Azure Storage-fiókra. Ezután adja meg enableStaging a és stagingSettings a tulajdonságot a Copy tevékenység.

Megjegyzés

Az átmeneti Azure Blob Storage-beli csatolt szolgáltatásnak közös hozzáférésű jogosultságaláírás-hitelesítést kell használnia, a Snowflake COPY parancs által megkövetelt módon.

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"
            },
            "sink": {
                "type": "<sink type>"
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "mystagingpath"
            }
        }
    }
]

Snowflake mint fogadó

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 Snowflake-be való írását az Azure-ban.

Ha a forrásadattárat és a formátumot natív módon támogatja a Snowflake COPY parancs, 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 a Snowflake-be. Ellenkező esetben használja a Beépített Szakaszos másolást a Snowflake-be.

Az adatok Snowflake-be való másolása a következő tulajdonságokat támogatja a Copy tevékenység szakaszban.

Tulajdonság Leírás Kötelező
típus A fogadó type (típus Copy tevékenység tulajdonsága SnowflakeSink (SnowflakeSink) lesz. Yes
preCopyScript Adjon meg SQL lekérdezést a Copy tevékenység, mielőtt adatokat ír a Snowflake-be minden futtatáskor. Ezzel a tulajdonságkal tisztítja meg az előre betöltött adatokat. No
importSettings Speciális beállítások az adatok Snowflake-be való írására. A COPY into parancs által támogatottakat konfigurálhatja, amelyeken a szolgáltatás áthalad a utasítás meghívjakor. No
A importSettings alatt:
típus Az importálási parancs típusa, a snowflakeImportCopyCommand beállítással. Yes
additionalCopyOptions További másolási lehetőségek, amelyek kulcs-érték párok szótáraként biztosítanak. Példák: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. További információ: Snowflake Copy Options. No
additionalFormatOptions A COPY parancshoz elérhető további fájlformátum-beállítások, amelyek kulcs-érték párok szótáraként biztosítanak. Például: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. További információ: Snowflake Format Type Options (Snowflake formátumtípus-beállítások). No

Közvetlen másolás a Snowflake-be

Ha a forrásadattár és a formátum megfelel az ebben a szakaszban ismertetett feltételeknek, a Copy tevékenység másolhat közvetlenül a forrásból a Snowflake-be. A szolgáltatás ellenőrzi a beállításokat, és Copy tevékenység futtatása sikertelen lesz, ha a következő feltételek nem teljesülnek:

  • A forrásként hivatkozott szolgáltatás az Azure Blob Storage közös hozzáférésű jogosultságaláírás-hitelesítéssel. Ha közvetlenül szeretne adatokat másolni az Azure Data Lake Storage Gen2-ről a következő támogatott formátumban, létrehozhat egy SAS-hitelesítést használó Azure Blob-beli összekapcsolt szolgáltatást a ADLS Gen2-fiókján, hogy elkerülje a Snowflake-bevaló szakaszos másolás használatát.

  • A forrásadatformátum Parquet, tagolt szöveg, vagy JSON a következő konfigurációval:

    • Parquet formátum esetén a tömörítési kodek None ( Nincs) vagy Snappy (Snappy) lehet.

    • Tagolt szövegformátumhoz:

      • rowDelimiter A \r\n, vagy bármilyen egyetlen karakterből áll. Ha a sorhatároló nem "\r\n", akkor a értéknek firstRowAsHeader hamisnak kell lennie, és skipLineCount nincs megadva.
      • compressionA nem lehet tömörítés, gzip, bzip2, vagy leered.
      • encodingName az alapértelmezett érték, vagy "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "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 A dupla idézőjel, egyszeres idézőjel, vagy üres sztring (idézőjel nélkül).
    • JSON formátum esetén a közvetlen másolás csak azt az esetet támogatja, ha a fogadó Snowflake-tábla csak egy oszlopot tartalmaz, és ennek az oszlopnak az adattípusa VARIANT, OBJECT vagy ARRAY.

      • compressionA nem lehet tömörítés, gzip, bzip2, vagy leered.
      • encodingNameaz alapértelmezett érték, vagy utf-8.
      • Nincs megadva oszlopleképezés.
  • A forrás Copy tevékenység:

    • additionalColumns nincs megadva.
    • Ha a forrás egy mappa, a recursive true (igaz) értékre van állítva.
    • prefix, modifiedDateTimeStart , és nincs modifiedDateTimeEnd enablePartitionDiscovery 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ásolás a Snowflake-be

Ha a forrásadattár vagy -formátum nem natív módon kompatibilis a Snowflake COPY paranccsal, ahogyan azt az előző szakaszban említettük, engedélyezze a beépített, szakaszos másolatot egy ideiglenes Azure Blob Storage-példány használatával. Az szakaszos másolási funkció jobb átviteli sebességet is biztosít. A szolgáltatás automatikusan átalakítja az adatokat, hogy megfeleljen a Snowflake adatformátumra vonatkozó követelményeinek. Ezután meghívja a COPY parancsot az adatok Snowflake-be való betöltéséhez. Végül megtisztítja az ideiglenes adatokat a blobtárolóból. Az adatok átmeneti használatával való 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-beli összekapcsolt szolgáltatást, amely átmeneti előkészítésként hivatkozik az Azure Storage-fiókra. Ezután adja meg a enableStaging és stagingSettings a tulajdonságot a Copy tevékenység.

Megjegyzés

Az átmeneti Azure Blob Storage-beli csatolt szolgáltatásnak a Snowflake COPY parancs által megkövetelt közös hozzáférésű jogosultságaláírás-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"
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "mystagingpath"
            }
        }
    }
]

Adatfolyam-tulajdonságok leképezése

Az adatok leképezési adatfolyamban való átalakításakor a Snowflake tábláiból olvashat és írhat is. További információért tekintse meg a forrás-átalakítást és a fogadóátalakítást a leképezési adatfolyamok között. Választhat, hogy egy Snowflake-adatkészletet vagy egy 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ő belső Snowflake-adatátvitelt használ.

Név Leírás Kötelező Megengedett értékek Adatfolyam-szkript tulajdonsága
Tábla Ha a Tábla lehetőséget választja bemenetként, az adatfolyam a Snowflake-adatkészletben vagy a forrásbeállításokban megadott táblázat összes adatát lekéri beágyazott adatkészlet használata esetén. Nem Sztring (csak beágyazott adatkészlet esetén)
tableName
schemaName (sémanév)
Lekérdezés Ha a Lekérdezés lehetőséget választja bemenetként, adjon meg egy lekérdezést, amely adatokat fog lekérni a Snowflake-ból. Ez a beállítás felülírja az adatkészletben kiválasztott összes táblát.
Ha a séma, a tábla és az oszlopok neve kisbetűt tartalmaz, idézőjelek közé kell tenni a lekérdezésben szereplő objektumazonosítót,például: select * from "schema"."myTable" .
Nem Sztring lekérdezés

Példák Snowflake-forrásszk szkriptre

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 adatkészlet 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ás

Az alábbi táblázat a Snowflake-fogadó által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Gépház szerkesztheti. Beágyazott adatkészlet használata esetén további beállításokat fog látni, amelyek ugyanazok, mint az adatkészlet tulajdonságai szakaszban leírt tulajdonságok. Az összekötő belső Snowflake-adatátvitelt használ.

Név Leírás Kötelező Megengedett értékek Adatfolyam-szkript tulajdonsága
Update metódus Adja meg, hogy milyen műveletek engedélyezettek a Snowflake-célhelyen.
A sorok frissítéséhez, upsert műveletéhez vagy törléséhez alter row transformation (Sor átalakítása) műveletre van szükség az ilyen műveletek sorai címkézéséhez.
Yes true vagy false törölhető
beszúrható
Frissíthető
upsertable
Fő oszlopok A frissítésekhez, upserts és deletes oszlopokhoz be kell állítani egy kulcsoszlopot vagy -oszlopokat annak meghatározásához, hogy melyik sort kell módosítani. No Tömb keys
Tábla művelet Meghatározza, hogy az összes sort újra létre kell-e hozni vagy el kell-e távolítani a céltáblából az írás előtt.
- Nincs: A táblán nem történik művelet.
- Újra: A tábla el lesz dobva, majd újra létre lesz hozva. Kötelező, ha dinamikusan hoz létre új táblát.
- Truncate: A céltábla összes sorát eltávolítja a rendszer.
No true vagy false Újra
Megcsonkít

Példák Snowflake-fogadószk szkriptre

Ha a Snowflake-adatkészletet használja fogadótípusként, 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ágokkal kapcsolatos további információkért lásd: Keresési tevékenység.

Következő lépések

A forrásként és fogadóként támogatott adatt Copy tevékenység támogatott adattárakat és formátumokat.