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/-) | (1) (2) |
Keresési tevékenység | (1) (2) |
(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.
Feljegyzé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:
- 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 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.
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 Cassandra-t, és válassza ki a Cassandra-ö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
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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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 |
Feljegyzé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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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 a következők: EGY, KETTŐ, HÁROM, 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 |
TIZEDES | Decimális |
DUPLA | Kétszeres |
LEBEG | Egyszeres |
INET | Sztring |
INT | Int32 |
SMS | Sztring |
TIMESTAMP | Dátum/idő |
TIMEUUID | GUID |
UUID | GUID |
VARCHAR | Sztring |
VARINT | Decimális |
Feljegyzé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 | Érték | Lista | Térkép | Sztringkészlet |
---|---|---|---|---|
0 | "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 | Érték |
---|---|
0 | "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 |
---|---|---|
0 | 0 | 0 |
0 | 0 | 2 |
0 | 2 | 3 |
3 | 0 | 100 |
3 | 0 | 101 |
3 | 2 | 102 |
3 | 3 | 103 |
"ExampleTable_vt_Map" tábla:
pk_int | Map_key | Map_value |
---|---|---|
0 | S1 | A |
0 | S2 | b |
3 | S1 | t |
"ExampleTable_vt_StringSet" táblázat:
pk_int | StringSet_value |
---|---|
0 | A |
0 | h |
0 | C |
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.
Kapcsolódó tartalom
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.