Apa itu Apache Spark di Azure HDInsight

Apache Spark merupakan kerangka kerja pemrosesan paralel yang mendukung pemrosesan dalam memori untuk meningkatkan performa aplikasi analitik data besar. Apache Spark di Azure HDInsight adalah implementasi Microsoft Apache Spark di cloud, dan merupakan salah satu dari beberapa penawaran Spark di Azure.

  • Apache Spark di Azure HDInsight memudahkan untuk membuat dan mengonfigurasi kluster Spark, memungkinkan Anda menyesuaikan dan menggunakan lingkungan Spark penuh dalam Azure.

  • Kumpulan Spark di Azure Synapse Analytics menggunakan kumpulan Spark terkelola untuk memungkinkan data dimuat, dimodelkan, diproses, dan didistribusikan untuk wawasan analitik dalam Azure.

  • Apache Spark di Azure Databricks menggunakan kluster Spark untuk menyediakan ruang kerja interaktif yang memungkinkan kolaborasi antara pengguna Anda untuk membaca data dari berbagai sumber data dan mengubahnya menjadi wawasan terobosan.

  • Aktivitas Spark di Azure Data Factory memungkinkan Anda menggunakan analitik Spark di alur data Anda, menggunakan kluster Spark sesuai permintaan atau yang sudah ada sebelumnya.

Dengan Apache Spark di Azure HDInsight, Anda dapat menyimpan dan memproses data Anda semua dalam Azure. Kluster Spark di HDInsight kompatibel dengan penyimpanan Azure Blob, Azure Data Lake Storage Gen1, atau Azure Data Lake Storage Gen2, memungkinkan Anda menerapkan pemrosesan Spark di penyimpanan data yang ada.

Spark: a unified framework.

Untuk memulai Apache Spark di Azure HDInsight, ikuti tutorial kami untuk membuat kluster HDInsight Spark.

Untuk informasi tentang Apache Spark dan cara berinteraksi dengan Azure, lanjutkan membaca artikel di bawah ini.

Untuk komponen dan informasi penerapan versi, lihat Komponen dan versi Apache Hadoop di Azure HDInsight.

Apa itu Apache Spark?

Spark menyediakan primitif untuk komputasi kluster dalam memori. Spark digunakan untuk memuat dan menyimpan data ke dalam memori dan memintanya berulang kali. Komputasi dalam memori jauh lebih cepat daripada aplikasi berbasis disk, seperti Hadoop, yang berbagi data melalui sistem file terdistribusi Hadoop (HDFS). Spark juga terintegrasi ke dalam bahasa pemrograman Scala untuk memungkinkan Anda memanipulasi kumpulan data terdistribusi seperti koleksi lokal. Tidak perlu menyusun semuanya sebagai peta dan mengurangi operasi.

Traditional MapReduce vs. Spark.

Kluster Spark di HDInsight menawarkan layanan Spark yang dikelola sepenuhnya. keuntungan membuat kluster Spark di HDInsight tercantum di sini.

Fitur Deskripsi
Pembuatan yang mudah Anda dapat membuat kluster Spark baru di HDInsight dalam hitungan menit menggunakan portal Microsoft Azure, Azure PowerShell, atau HDInsight .NET SDK. Lihat Mulai menggunakan kluster Apache Spark di HDInsight.
Kemudahan penggunaan Kluster Spark di HDInsight termasuk Jupyter Notebooks dan Apache Zeppelin Notebooks. Anda bisa menggunakan buku catatan ini untuk visualisasi dan pemrosesan data interaktif. Lihat Gunakan buku catatan Apache Zeppelin dengan Apache Spark dan Muat data dan jalankan kueri pada kluster Apache Spark.
REST API Kluster Spark dalam HDInsight mencakup Apache Livy,server pekerjaan Spark berbasis REST API untuk mengirimkan dan memantau pekerjaan dari jarak jauh. Lihat Gunakan Apache Spark REST API untuk mengirimkan pekerjaan jarak jauh ke klaster HDInsight Spark.
Dukungan untuk Azure Storage Kluster Spark dalam HDInsight dapat menggunakan Azure Data Lake Storage Gen1/Gen2 sebagai penyimpanan utama atau penyimpanan tambahan. Untuk informasi selengkapnya tentang Data Lake Storage Gen1, lihat Azure Data Lake Storage Gen1. Untuk informasi selengkapnya tentang Data Lake Storage Gen2, lihat Azure Data Lake Storage Gen2.
Integrasi dengan layanan Azure Kluster Spark di HDInsight dilengkapi dengan konektor ke Azure Event Hubs. Anda dapat membuat aplikasi streaming menggunakan Event Hubs. Termasuk Apache Kafka, yang sudah tersedia sebagai bagian dari Spark.
Integrasi dengan ID pihak ketiga HDInsight menyediakan beberapa plugin IDE yang berguna untuk membuat dan mengirimkan aplikasi ke kluster HDInsight Spark. Untuk informasi selengkapnya, lihat Gunakan Azure Toolkit untuk IntelliJ IDEA, Gunakan Spark & Hive Tools untuk VSCode, dan Gunakan Azure Toolkit untuk Eclipse.
Kueri Serentak Kluster Spark dalam HDInsight mendukung kueri bersamaan. Kemampuan ini memungkinkan beberapa kueri dari satu pengguna atau beberapa kueri dari berbagai pengguna dan aplikasi untuk berbagi sumber daya kluster yang sama.
Penembolokan pada SSD Anda dapat memilih untuk menyimpan data baik dalam memori atau di SSD yang dilampirkan ke node kluster. Penembolokan dalam memori memberikan performa kueri terbaik tetapi bisa mahal. Penembolokan dalam SSD menyediakan opsi yang baik untuk meningkatkan performa kueri tanpa perlu membuat kluster dengan ukuran yang diperlukan agar sesuai dengan seluruh himpunan data dalam memori. Lihat Tingkatkan performa beban kerja Apache Spark menggunakan Azure HDInsight IO Cache.
Integrasi dengan Alat BI Kluster Spark di HDInsight menyediakan konektor untuk alat BI seperti Power BI untuk analitik data.
Pustaka Anaconda yang telah dimuat sebelumnya Kluster Spark di HDInsight dilengkapi dengan pustaka Anaconda yang telah diinstal sebelumnya. Anaconda menyediakan hampir 200 pustaka untuk pembelajaran mesin, analisis data, visualisasi, dan sebagainya.
Adaptasi HDInsight memungkinkan Anda untuk mengubah jumlah node kluster secara dinamis dengan fitur Autoscale. LihatMenskalakan klaster Azure HDInsight secara otomatis. Selain itu, kluster Spark dapat dijatuhkan tanpa kehilangan data karena semua data disimpan di penyimpanan Azure Blob, Azure Data Lake Storage Gen1 atau Azure Data Lake Storage Gen2.
SLA Kluster Spark dalam HDInsight hadir dengan dukungan 24/7 dan SLA 99.9% up-time.

Kluster Apache Spark di HDInsight menyertakan komponen berikut yang tersedia pada kluster secara default.

HDInsight Spark mengelompokkan driver ODBC untuk konektivitas dari alat BI seperti Microsoft Power BI.

Arsitektur kluster spark

The architecture of HDInsight Spark.

Sangat mudah untuk memahami komponen Spark dengan memahami bagaimana Spark berjalan pada kluster HDInsight.

Aplikasi Spark berjalan sebagai serangkaian proses independen pada kluster. Dikoordinasikan oleh objek SparkContext di program utama Anda (disebut program driver).

SparkContext dapat terhubung ke beberapa jenis manajer klaster, yang memberikan sumber daya di seluruh aplikasi. Manajer kluster ini termasuk Apache Mesos, Apache Hadoop YARN, atau manajer klaster Spark. Dalam HDInsight, Spark berjalan menggunakan manajer klaster YARN. Setelah terhubung, Spark memperoleh pelaksana pada simpul pekerja di kluster, merupakan proses yang menjalankan komputasi dan menyimpan data untuk aplikasi Anda. Selanjutnya, Spark mengirimkan kode aplikasi Anda (didefinisikan oleh file JAR atau Python yang diteruskan ke SparkContext) ke pelaksana. Akhirnya, SparkContext mengirim tugas ke pelaksana untuk dijalankan.

SparkContext menjalankan fungsi utama pengguna dan menjalankan berbagai operasi paralel pada simpul pekerja. Kemudian, SparkContext mengumpulkan hasil operasi. Simpul pekerja membaca dan menulis data dari dan ke sistem file terdistribusi Hadoop. Simpul pekerja juga menyimpan data dalam memori yang ditransformasi sebagai Himpunan Data Terdistribusi Tangguh (RDD).

SparkContext terhubung ke master Spark dan bertanggung jawab untuk mengonversi aplikasi ke grafik terarah (DAG) dari tugas individu. Tugas yang dijalankan dalam proses pelaksana pada simpul pekerja. Setiap aplikasi mendapatkan proses pelaksananya sendiri. Yang tetap terjaga selama seluruh aplikasi dan menjalankan tugas di banyak utas.

Spark dalam kasus penggunaan HDInsight

Klaster Spark dalam HDInsight memungkinkan skenario utama berikut:

Analisis data interaktif dan BI

Apache Spark di HDInsight menyimpan data di Azure Blob Storage, Azure Data Lake Gen1, atau Azure Data Lake Storage Gen2. Pakar bisnis dan pembuat keputusan utama dapat menganalisis dan membangun laporan atas data tersebut. Dan gunakan Microsoft Power BI untuk menyusun laporan interaktif dari data yang dianalisis. Analis dapat memulai dari data terstruktur/semi terstruktur yang tidak terstruktur dalam penyimpanan kluster, menentukan skema untuk data menggunakan buku catatan, lalu menyusun model data menggunakan Microsoft Power BI. Kluster Spark di HDInsight juga mendukung banyak alat BI pihak ketiga. Seperti Tableau, mempermudah analis data, pakar bisnis, dan pembuat keputusan utama.

Spark Machine Learning

Apache Spark dilengkapi dengan MLlib. MLlib merupakan pustaka pembelajaran mesin yang dibangun di atas Spark yang dapat Anda gunakan dari klaster Spark di HDInsight. Kluster Spark di HDInsight juga mencakup Anaconda, distribusi Python dengan berbagai jenis paket untuk pembelajaran mesin. Dan dengan dukungan bawaan untuk buku catatan Jupyter dan Zeppelin, Anda memiliki lingkungan untuk membuat aplikasi pembelajaran mesin.

Streaming Spark dan analisis data real-time

Kluster Spark di HDInsight menawarkan dukungan yang kaya untuk membangun solusi analitik real-time. Spark sudah memiliki konektor untuk menyerap data dari banyak sumber seperti Kafka, Flume, Twitter, ZeroMQ, atau soket TCP. Spark in HDInsight menambahkan dukungan kelas satu untuk menyerap data dari Azure Event Hubs. Event Hubs merupakan layanan antrian yang paling banyak digunakan di Azure. Memiliki dukungan penuh untuk Event Hubs menjadikan klaster Spark di HDInsight sebagai platform yang ideal untuk membangun alur analitik real-time.

Langkah berikutnya

Dalam tinjauan ini, Anda memiliki pemahaman dasar tentang Apache Spark di Azure HDInsight. Anda dapat menggunakan artikel berikut untuk mempelajari lebih lanjut tentang Apache Spark di HDInsight, membuat kluster HDInsight Spark, dan menjalankan beberapa contoh kueri Spark lebih lanjut: