Mengakses data Azure Cosmos DB for Apache Cassandra dari Azure Databricks
BERLAKU UNTUK: Cassandra
Artikel ini merinci cara bekerja dengan Azure Cosmos DB untuk Apache Cassandra dari Spark di Azure Databricks.
Prasyarat
Tinjau dasar-dasar menyambungkan ke Azure Cosmos DB untuk Apache Cassandra
API untuk konfigurasi instans Cassandra untuk konektor Cassandra:
Konektor untuk API untuk Cassandra mengharuskan detail koneksi Cassandra diinisialisasi sebagai bagian dari konteks spark. Ketika Anda meluncurkan notebook Databricks, konteks spark sudah diinisialisasi dan tidak disarankan untuk menghentikan dan menginisialisasi kembali. Salah satu solusinya adalah menambahkan API untuk konfigurasi instans Cassandra pada tingkat kluster, dalam konfigurasi spark kluster. Aktivitas ini dilakukan satu kali per kluster. Tambahkan kode berikut ke konfigurasi Spark sebagai pasangan nilai kunci yang dipisahkan spasi:
spark.cassandra.connection.host YOUR_COSMOSDB_ACCOUNT_NAME.cassandra.cosmosdb.azure.com spark.cassandra.connection.port 10350 spark.cassandra.connection.ssl.enabled true spark.cassandra.auth.username YOUR_COSMOSDB_ACCOUNT_NAME spark.cassandra.auth.password YOUR_COSMOSDB_KEY
Tambahkan dependensi yang diperlukan
Konektor Cassandra Spark: - Untuk mengintegrasikan Azure Cosmos DB for Apache Cassandra dengan Spark, konektor Cassandra harus dilampirkan ke kluster Azure Databricks. Untuk melampirkan kluster:
- Tinjau versi runtime Databricks, versi Spark. Kemudian temukan koordinat maven yang kompatibel dengan konektor Cassandra Spark, lalu lampirkan ke kluster. Lihat artikel "Unggah paket Maven atau paket Spark" untuk melampirkan pustaka konektor ke kluster. Sebaiknya pilih runtime Databricks versi 10.4 LTS yang mendukung Spark 3.2.1. Untuk menambahkan Apache Spark Cassandra Connector, klaster Anda, pilih Perpustakaan>Instal>Maven Baru, lalu tambahkan
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
koordinat Maven. Jika menggunakan Spark 2.x, kami merekomendasikan lingkungan dengan Spark versi 2.4.5, menggunakan konektor spark pada koordinat mavencom.datastax.spark:spark-cassandra-connector_2.11:2.4.3
.
- Tinjau versi runtime Databricks, versi Spark. Kemudian temukan koordinat maven yang kompatibel dengan konektor Cassandra Spark, lalu lampirkan ke kluster. Lihat artikel "Unggah paket Maven atau paket Spark" untuk melampirkan pustaka konektor ke kluster. Sebaiknya pilih runtime Databricks versi 10.4 LTS yang mendukung Spark 3.2.1. Untuk menambahkan Apache Spark Cassandra Connector, klaster Anda, pilih Perpustakaan>Instal>Maven Baru, lalu tambahkan
Pustaka khusus Azure Cosmos DB for Apache Cassandra: - Jika Anda menggunakan Spark 2.x, pabrik koneksi kustom diperlukan untuk mengonfigurasi kebijakan coba lagi dari konektor Cassandra Spark ke Azure Cosmos DB untuk Apache Cassandra. Tambahkan
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
koordinat maven untuk melampirkan pustaka ke kluster.
Catatan
Jika Anda menggunakan Spark 3.x, Anda tidak perlu menginstal pustaka khusus Azure Cosmos DB for Apache Cassandra yang disebutkan di atas.
Peringatan
Sampel Spark 3 yang ditampilkan dalam artikel ini telah diuji dengan Spark versi 3.2.1 dan Konektor Cassandra Spark yang sesuai com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0. Versi Spark dan/atau konektor Cassandra yang lebih baru mungkin tidak berfungsi seperti yang diharapkan.
Sampel notebook
Daftar sampel notebook Azure Databricks tersedia di repositori GitHub untuk Anda unduh. Sampel ini termasuk cara menyambungkan ke Azure Cosmos DB for Apache Cassandra dari Spark dan melakukan operasi CRUD yang berbeda pada data. Anda juga bisa mengimpor semua notebook ke dalam ruang kerja kluster Databricks Anda dan menjalankannya.
Mengakses Azure Cosmos DB untuk Apache Cassandra dari program Spark Scala
Program Spark harus dijalankan sebagai proses otomatis di Azure Databricks dikirimkan ke kluster dengan menggunakan spark-submit) dan dijadwalkan untuk berjalan melalui pekerjaan Azure Databricks.
Berikut ini adalah tautan untuk membantu Anda mulai membangun program Spark Scala untuk berinteraksi dengan Azure Cosmos DB untuk Apache Cassandra.
- Cara menyambungkan ke Azure Cosmos DB for Apache Cassandra dari program Spark Scala
- Cara menjalankan program Spark Scala sebagai pekerjaan otomatis di Azure Databricks
- Daftar lengkap sampel kode untuk bekerja dengan API untuk Cassandra
Langkah berikutnya
Mulai membuat API untuk akun Cassandra, database, dan tabel dengan menggunakan aplikasi Java.