Menyalin data dari Cassandra menggunakan Azure Data Factory atau Azure Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Azure Synapse Analytics untuk menyalin data dari database Cassandra. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Kemampuan yang didukung

Konektor Cassandra ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Aktivitas pencarian ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber/sink, lihat tabel Penyimpanan data yang didukung.

Khususnya, konektor Cassandra ini mendukung:

  • Cassandra versi 2.x dan 3.x.
  • Menyalin data menggunakan autentikasi Dasar atau Anonim.

Catatan

Untuk aktivitas yang berjalan pada Microsoft Integration Runtime yang Di-host Sendiri, Cassandra 3.x didukung sejak IR versi 3.7 ke atas.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Integration Runtime dilengkapi dengan driver Cassandra bawaan, sehingga Anda tidak perlu menginstal driver apa pun secara manual saat menyalin data dari/ke Cassandra.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke Cassandra menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Cassandar di UI portal Microsoft Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Cassandra dan pilih konektor Cassandra.

    Screenshot of the Cassandra connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Screenshot of linked service configuration for Cassandra.

Detail konfigurasi konektor

Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor Cassandra.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut Cassandra:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: Cassandra Ya
tuan rumah Satu atau beberapa alamat IP atau nama host server Cassandra.
Tentukan daftar alamat IP atau nama host yang dipisahkan koma untuk dihubungkan ke semua server secara bersamaan.
Ya
pelabuhan Port TCP yang digunakan server Cassandra untuk mendengarkan koneksi klien. Tidak (defaultnya adalah 9042)
authenticationType Jenis autentikasi yang digunakan untuk terhubung ke database Cassandra.
Nilai yang diizinkan adalah: Dasar dan Anonim.
Ya
Nama pengguna Tentukan nama pengguna untuk akun pengguna. Ya, jika authenticationType diatur ke Dasar.
kata sandi Tentukan kata sandi untuk akun pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Ya, jika authenticationType diatur ke Dasar.
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. Tidak

Catatan

Saat ini koneksi ke Cassandra menggunakan TLS tidak didukung.

Contoh:

{
    "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"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Cassandra.

Untuk menyalin data dari Cassandra, atur properti jenis himpunan data ke CassandraTable. Berikut adalah properti yang didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke CassandraTable Ya
keyspace Nama keyspace atau skema dalam database Cassandra. Tidak (jika "kueri" untuk "CassandraSource" ditentukan)
tableName Nama tabel dalam database Cassandra. Tidak (jika "kueri" untuk "CassandraSource" ditentukan)

Contoh:

{
    "name": "CassandraDataset",
    "properties": {
        "type": "CassandraTable",
        "typeProperties": {
            "keySpace": "<keyspace name>",
            "tableName": "<table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Cassandra linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber Cassandra.

Cassandra sebagai sumber

Untuk menyalin data dari Cassandra, atur jenis sumber dalam aktivitas penyalinan ke CassandraSource. Berikut ini properti yang didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas penyalinan harus diatur ke: CassandraSource Ya
pertanyaan Gunakan kueri kustom untuk membaca data. Kueri SQL-92 atau kueri CQL. Lihat referensi CQL.

Saat menggunakan kueri SQL, tentukan nama keyspace name.table untuk mewakili tabel yang kuerinya ingin Anda buat.
Tidak (jika "tableName" dan "keyspace" dalam himpunan data ditentukan).
consistencyLevel Tingkat konsistensi menentukan berapa banyak replika yang harus merespons permintaan baca sebelum menampilkan data ke aplikasi klien. Cassandra memeriksa jumlah replika data yang ditentukan untuk memenuhi permintaan baca. Untuk mengetahui detailnya, lihat Mengonfigurasi konsistensi data.

Nilai yang diperbolehkan meliputi: SATU, DUA, TIGA, KUORUM, SEMUA, LOCAL_QUORUM, EACH_QUORUM, dan LOCAL_ONE.
Tidak (defaultnya adalah ONE)

Contoh:

"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>"
            }
        }
    }
]

Pemetaan jenis untuk Cassandra

Saat menyalin data dari Cassandra, pemetaan berikut digunakan dari jenis data Cassandra ke jenis data sementara yang digunakan secara internal dalam layanan. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.

Jenis data Cassandra Jenis data layanan sementara
ASCII String
BIGINT Int64
BLOB Byte[]
BOOLEAN Boolean
DECIMAL Decimal
DOUBLE Laju
FLOAT Tunggal
INET String
INT Int32
TEXT String
TANDA WAKTU DateTime
TIMEUUID Guid
UUID Guid
VARCHAR String
VARINT Decimal

Catatan

Untuk jenis koleksi (peta, set, daftar, dll.), lihat bagian Bekerja dengan jenis koleksi Cassandra menggunakan tabel virtual.

Jenis yang ditentukan pengguna tidak didukung.

Panjang Kolom Biner dan Kolom String tidak boleh lebih besar dari 4000.

Bekerja dengan koleksi menggunakan tabel virtual

Layanan menggunakan driver ODBC bawaan untuk menyambungkan dan menyalin data dari database Cassandra Anda. Untuk jenis koleksi termasuk peta, set, dan daftar, driver menormalkan ulang data ke dalam tabel virtual terkait. Khususnya, jika tabel berisi kolom koleksi apa pun, driver menghasilkan tabel virtual berikut:

  • Tabel dasar, yang berisi data yang sama dengan tabel nyata kecuali untuk kolom koleksi. Tabel dasar menggunakan nama yang sama dengan tabel asli yang diwakilinya.
  • Tabel virtual untuk setiap kolom koleksi, yang memperluas data bertumpuk. Tabel virtual yang mewakili koleksi diberi nama menggunakan nama tabel nyata, pemisah "vt" dan nama kolom.

Tabel virtual merujuk ke data dalam tabel nyata, yang memungkinkan driver mengakses data yang dinormalisasi. Lihat bagian Contoh untuk mengetahui detailnya. Anda dapat mengakses konten koleksi Cassandra dengan mengajukan kueri dan menggabungkan tabel virtual.

Contoh

Misalnya, "ExampleTable" berikut adalah tabel database Cassandra yang berisi kolom kunci utama bilangan bulat bernama "pk_int", kolom teks bernama nilai, kolom daftar, kolom peta, dan kolom set (bernama "StringSet").

pk_int Value Daftar Peta StringSet
1 "nilai sampel 1" ["1", "2", "3"] {"S1": "a", "S2": "b"} {"A", "B", "C"}
3 "nilai sampel 3" ["100", "101", "102", "105"] {"S1": "t"} {"A", "E"}

Driver akan menghasilkan beberapa tabel virtual untuk mewakili tabel tunggal ini. Kolom kunci asing dalam tabel virtual mereferensikan kolom kunci utama dalam tabel nyata, dan menunjukkan baris tabel nyata yang terkait dengan baris tabel virtual.

Tabel virtual pertama adalah tabel dasar bernama "ExampleTable" yang diperlihatkan dalam tabel berikut:

pk_int Value
1 "nilai sampel 1"
3 "nilai sampel 3"

Tabel dasar berisi data yang sama dengan tabel database asli kecuali untuk kumpulan, yang dihilangkan dari tabel ini dan diperluas dalam tabel virtual lainnya.

Tabel berikut ini memperlihatkan tabel virtual yang menormalkan ulang data dari kolom Daftar, Peta, dan StringSet. Kolom dengan nama yang diakhiri dengan "_index" atau "_key" menunjukkan posisi data dalam daftar atau peta asli. Kolom dengan nama yang diakhiri dengan "_value" berisi data koleksi yang diperluas.

Tabel "ExampleTable_vt_List":

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

Tabel "ExampleTable_vt_Map":

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

Tabel "ExampleTable_vt_StringSet":

pk_int StringSet_value
1 A
1 B
1 C
3 A
3 E

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.