Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mode real time memungkinkan streaming latensi ultra-rendah dengan latensi end-to-end serendah lima milidetik, menjadikannya ideal untuk beban kerja operasional seperti deteksi penipuan dan personalisasi real time. Tutorial ini memandu Anda menyiapkan kueri streaming real-time pertama Anda menggunakan contoh sederhana.
Untuk informasi konseptual tentang mode real-time, kapan harus menggunakannya, dan fitur yang didukung, lihat Mode real time di Streaming Terstruktur. Untuk persyaratan konfigurasi, lihat Menyiapkan mode real-time.
Persyaratan
Sebelum memulai, pastikan Anda memiliki izin untuk membuat kluster komputasi klasik yang menggunakan konfigurasi yang ditentukan dalam Menyiapkan mode real-time. Atau, hubungi administrator ruang kerja Anda untuk membuat kluster mode real time untuk Anda.
Langkah 1: Membuat buku catatan
Notebook menyediakan lingkungan interaktif untuk mengembangkan dan menguji kueri streaming. Anda menggunakan buku catatan ini untuk menulis kueri real-time Anda dan melihat pembaruan hasil terus menerus.
Untuk membuat buku catatan:
- Klik Baru di bilah samping, lalu klik
Buku catatan.
- Di menu tarik-turun komputasi, pilih kluster mode real-time Anda.
- Pilih Python atau Scala sebagai bahasa default.
Langkah 2: Menjalankan kueri mode real-time
Salin dan tempel kode berikut ke dalam sel buku catatan dan jalankan. Contoh ini menggunakan sumber laju, yang menghasilkan baris pada laju tertentu, dan menampilkan hasilnya secara real time.
Nota
Fungsi display dengan pemicu realTime tersedia pada Databricks Runtime 17.1 dan versi yang lebih baru.
Python
inputDF = (
spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
)
display(inputDF, realTime="5 minutes", outputMode="update")
Scala
import org.apache.spark.sql.streaming.Trigger
import org.apache.spark.sql.streaming.OutputMode
val inputDF = spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
display(inputDF, trigger=Trigger.RealTime(), outputMode=OutputMode.Update())
Setelah menjalankan kode, Anda akan melihat tabel yang diperbarui secara real time saat baris baru dihasilkan. Tabel menampilkan timestamp kolom dan value kolom yang bertambah setiap baris.
Memahami kode
Kode di atas menunjukkan komponen penting dari kueri streaming real-time. Tabel berikut menjelaskan parameter kunci dan apa yang dikontrolnya:
Python
| Parameter | Deskripsi |
|---|---|
format("rate") |
Menggunakan sumber laju, sumber bawaan yang menghasilkan baris pada tingkat yang dapat dikonfigurasi. Ini berguna untuk pengujian tanpa dependensi eksternal. |
numPartitions |
Mengatur jumlah partisi untuk data yang dihasilkan. |
rowsPerSecond |
Mengontrol berapa banyak baris yang dihasilkan per detik. |
realTime="5 minutes" |
Mengaktifkan mode waktu nyata. Interval menentukan seberapa sering titik pemeriksaan kueri mengalami kemajuan. Interval yang lebih lama berarti titik pemeriksaan yang lebih jarang tetapi berpotensi waktu pemulihan yang lebih lama setelah kegagalan. |
outputMode="update" |
Mode real-time memerlukan mode keluaran pembaruan. |
Scala
| Parameter | Deskripsi |
|---|---|
format("rate") |
Menggunakan sumber laju, sumber bawaan yang menghasilkan baris pada tingkat yang dapat dikonfigurasi. Ini berguna untuk pengujian tanpa dependensi eksternal. |
numPartitions |
Mengatur jumlah partisi untuk data yang dihasilkan. |
rowsPerSecond |
Mengontrol berapa banyak baris yang dihasilkan per detik. |
Trigger.RealTime() |
Mengaktifkan mode real-time dengan interval titik pemeriksaan default. Anda juga dapat menentukan interval, misalnya Trigger.RealTime("5 minutes"). |
OutputMode.Update() |
Mode real-time memerlukan mode keluaran pembaruan. |
Langkah 3: Memvalidasi hasil
Saat Anda menjalankan kueri, display fungsi membuat tabel yang diperbarui secara real time karena sumber laju menghasilkan baris baru. Setiap baris berisi:
- Tanda waktu ketika baris dibuat oleh sumber tarif.
- Penghitung yang meningkat secara monoton yang bertambah setiap kali ada baris baru.
Tabel diperbarui terus-menerus dengan latensi minimal, menunjukkan bagaimana mode real-time memproses data segera setelah tersedia. Ini adalah manfaat inti dari mode real-time - kemampuan untuk melihat dan bertindak pada data segera daripada menunggu pemrosesan batch.
Sumber daya tambahan
Sekarang setelah Anda menjalankan kueri real-time pertama Anda, jelajahi sumber daya ini untuk membangun aplikasi streaming produksi dengan Kafka, Kinesis, dan sumber lain yang didukung: