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/-) | (1) (2) |
Aktivitas pencarian | (1) (2) |
① 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:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Membuat layanan tertaut ke Cassandra menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Cassandar di UI portal Microsoft Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Cassandra dan pilih konektor Cassandra.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
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. | No |
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 | Nilai | List | 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 | Nilai |
---|---|
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.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.