Adatok másolása a Cassandra-ból az Azure Data Factory vagy a Synapse Analytics 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 azt ismerteti, hogyan másolhat adatokat cassandra-adatbázisból az Azure Data Factory vagy a Synapse Analytics-folyamat másolási tevékenységével. A másolási tevékenység áttekintési cikkére épül, amely a másolási tevékenység általános áttekintését mutatja be.

Támogatott képességek

Ez a Cassandra-összekötő a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/-) ① ②
Keresési tevékenység ① ②

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez a Cassandra-összekötő a következőket támogatja:

  • Cassandra 2.x és 3.x verzió.
  • Adatok másolása egyszerű vagy névtelen hitelesítéssel.

Megjegyzés:

A saját üzemeltetésű integrációs modulon futó tevékenységek esetében a Cassandra 3.x támogatott a 3.7-es és újabb integrációs modul óta.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.

Az integrációs modul egy beépített Cassandra-illesztőprogramot biztosít, ezért nem kell manuálisan telepítenie egyetlen illesztőprogramot sem, amikor adatokat másol a Cassandra-ból vagy a Cassandra-ba.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Társított szolgáltatás létrehozása a Cassandra számára felhasználói felülettel

Az alábbi lépésekkel létrehozhat egy társított szolgáltatást a Cassandra számára az Azure Portal felhasználói felületén.

  1. 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:

  2. Keresse meg a Cassandra-t, és válassza ki a Cassandra-összekötőt.

    Screenshot of the Cassandra connector.

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

    Screenshot of linked service configuration for Cassandra.

Csatlakozás or konfigurációjának részletei

Az alábbi szakaszok a Cassandra-összekötőre jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

A Cassandra társított szolgáltatás esetében a következő tulajdonságok támogatottak:

Property Leírás Required
típus A típustulajdonságnak a következőnek kell lennie: Cassandra Igen
házigazda A Cassandra-kiszolgálók egy vagy több IP-címe vagy gazdagépneve.
Adja meg az összes kiszolgálóhoz egyidejűleg csatlakozni kívánt IP-címek vagy gazdagépnevek vesszővel tagolt listáját.
Igen
kikötő A Cassandra-kiszolgáló által az ügyfélkapcsolatok figyelésére használt TCP-port. Nem (alapértelmezett érték: 9042)
authenticationType A Cassandra-adatbázishoz való csatlakozáshoz használt hitelesítés típusa.
Az engedélyezett értékek a következők: Alapszintű és Névtelen.
Igen
username Adja meg a felhasználói fiók felhasználónevét. Igen, ha az authenticationType értéke Alapszintű.
jelszó Adja meg a felhasználói fiók jelszavá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, ha az authenticationType értéke Alapszintű.
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Megjegyzés:

Jelenleg a Cassandra TLS-t használó kapcsolata nem támogatott.

Példa

{
    "name": "CassandraLinkedService",
    "properties": {
        "type": "Cassandra",
        "typeProperties": {
            "host": "<host>",
            "authenticationType": "Basic",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az adathalmazokról szóló cikkben találja. Ez a szakasz a Cassandra-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Ha adatokat szeretne másolni a Cassandra-ból, állítsa az adathalmaz típustulajdonságát CassandraTable értékre. A következő tulajdonságok támogatottak:

Property Leírás Required
típus Az adathalmaz típustulajdonságának a következőnek kell lennie: CassandraTable Igen
keyspace A Cassandra-adatbázisban található kulcstér vagy séma neve. Nem (ha a "CassandraSource" lekérdezése meg van adva)
tableName A Cassandra-adatbázisban lévő tábla neve. Nem (ha a "CassandraSource" lekérdezése meg van adva)

Példa

{
    "name": "CassandraDataset",
    "properties": {
        "type": "CassandraTable",
        "typeProperties": {
            "keySpace": "<keyspace name>",
            "tableName": "<table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Cassandra linked service name>",
            "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 Cassandra-forrás által támogatott tulajdonságok listáját tartalmazza.

Cassandra mint forrás

A Cassandra adatainak másolásához állítsa a másolási tevékenység forrástípusát a CassandraSource-ra. A másolási tevékenység forrás szakaszában a következő tulajdonságok támogatottak:

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságának a következőnek kell lennie: CassandraSource Igen
Lekérdezés Adatok olvasása az egyéni lekérdezés használatával. SQL-92-lekérdezés vagy CQL-lekérdezés. Lásd: CQL-referencia.

SQL-lekérdezés használatakor adja meg a keyspace name.table nevet a lekérdezni kívánt tábla megjelenítéséhez.
Nem (ha a "tableName" és a "keyspace" az adathalmazban meg van adva).
konzisztencialevel A konzisztenciaszint azt határozza meg, hogy hány replikának kell válaszolnia egy olvasási kérésre, mielőtt adatokat ad vissza az ügyfélalkalmazásnak. A Cassandra ellenőrzi a replikák megadott számát az olvasási kérés teljesítéséhez. Részletekért lásd az adatkonzisztencia konzisztenciájának konfigurálását ismertető cikket.

Az engedélyezett értékek: EGY, KETTŐ, THR Enterprise kiadás, KVÓRUM, ALL, LOCAL_QUORUM, EACH_QUORUM és LOCAL_ONE.
Nem (alapértelmezett érték ONE)

Példa

"activities":[
    {
        "name": "CopyFromCassandra",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Cassandra input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "CassandraSource",
                "query": "select id, firstname, lastname from mykeyspace.mytable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

A Cassandra adattípus-leképezése

Amikor adatokat másol a Cassandra-ból, a cassandra adattípusokból a szolgáltatáson belül használt köztes adattípusokra az alábbi leképezéseket használja a rendszer. A séma- és adattípus-leképezések segítségével megtudhatja , hogy a másolási tevékenység hogyan rendeli le a forrásséma és az adattípust a fogadóhoz.

Cassandra-adattípus Köztes szolgáltatás adattípusa
ASCII Sztring
BIGINT Int64
BLOB Bájt[]
LOGIKAI Logikai
DECIMÁLIS Decimális
DUPLA Dupla
ÚSZÓ Egyszeres
INET Sztring
INT Int32
SZÖVEG Sztring
TIMESTAMP DateTime
TIMEUUID GUID
UUID GUID
VARCHAR Sztring
VARINT Decimális

Megjegyzés:

Gyűjteménytípusok (térkép, készlet, lista stb.) esetén tekintse meg a Cassandra-gyűjteménytípusok használata virtuális táblaszakasz használatával című témakört .

A felhasználó által definiált típusok nem támogatottak.

A bináris oszlop és a sztringoszlop hossza nem lehet nagyobb 4000-nél.

Gyűjtemények használata virtuális táblával

A szolgáltatás egy beépített ODBC-illesztőprogramot használ a Cassandra-adatbázishoz való csatlakozáshoz és adatok másolásához. Az olyan gyűjteménytípusok esetében, mint a térkép, a beállítás és a lista, az illesztő újranormalizálja az adatokat a megfelelő virtuális táblákba. Pontosabban, ha egy tábla gyűjteményoszlopokat tartalmaz, az illesztőprogram a következő virtuális táblákat hozza létre:

  • Alaptábla, amely ugyanazokat az adatokat tartalmazza, mint a valódi tábla, kivéve a gyűjteményoszlopokat. Az alaptábla ugyanazt a nevet használja, mint az általa képviselt valódi tábla.
  • Minden gyűjteményoszlophoz tartozik egy virtuális tábla , amely kibontja a beágyazott adatokat. A gyűjteményeket ábrázoló virtuális táblák neve a valódi tábla, a "vt" elválasztó és az oszlop neve alapján történik.

A virtuális táblák a valós táblában lévő adatokra hivatkoznak, így az illesztőprogram hozzáférhet a normalizált adatokhoz. Részletekért lásd a Példa szakaszt. A Cassandra-gyűjtemények tartalmát a virtuális táblák lekérdezésével és összekapcsolásával érheti el.

Példa

A következő "ExampleTable" például egy Cassandra-adatbázistábla, amely egy "pk_int" nevű egész szám elsődleges kulcsoszlopot, egy névvel ellátott szöveges oszlopot, egy listaoszlopot, egy térképoszlopot és egy beállított oszlopot (StringSet) tartalmaz.

pk_int Value List Map Sztringkészlet
1 "1. mintaérték" ["1", "2", "3"] {"S1": "a", "S2": "b"} {"A", "B", "C"}
3 "3. mintaérték" ["100", "101", "102", "105"] {"S1": "t"} {"A", "E"}

Az illesztő több virtuális táblát hozna létre, hogy az egyetlen táblát képviselje. A virtuális táblákban lévő idegenkulcs-oszlopok a valós tábla elsődleges kulcsoszlopaira hivatkoznak, és jelzik, hogy a virtuális tábla sor melyik valódi táblasorának felel meg.

Az első virtuális tábla az "ExampleTable" nevű alaptábla, amely az alábbi táblázatban látható:

pk_int Value
1 "1. mintaérték"
3 "3. mintaérték"

Az alaptábla ugyanazokat az adatokat tartalmazza, mint az eredeti adatbázistábla, kivéve azokat a gyűjteményeket, amelyek nem szerepelnek a táblából, és más virtuális táblákban vannak kibontva.

Az alábbi táblázatok azokat a virtuális táblákat mutatják be, amelyek újranormalizálják az adatokat a Lista, a Térkép és a StringSet oszlopból. A "_index" vagy "_key" végződésű oszlopok jelzik az adatok helyét az eredeti listában vagy térképen. A "_value" végződésű neveket tartalmazó oszlopok tartalmazzák a gyűjteményből származó kibontott adatokat.

"ExampleTable_vt_List" tábla:

pk_int List_index List_value
1 0 0
1 0 2
1 2 3
3 0 100
3 1 101
3 2 102
3 3 103

"ExampleTable_vt_Map" tábla:

pk_int Map_key Map_value
1 S1 A
1 S2 b
3 S1 t

"ExampleTable_vt_StringSet" táblázat:

pk_int StringSet_value
1 A
1 h
1 K
3 A
3 E

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.