Apache Spark adalah mesin analitik sumber terbuka untuk big data. Ini benar-benar mengubah permainan bagi organisasi yang berurusan dengan beban data yang besar. Spark cepat. Sangat cepat. Ini menggunakan pemrosesan dalam memori yang membuatnya melesat melewati kerangka kerja tradisional—sekitar 100 kali lebih cepat daripada MapReduce untuk operasi memori. Hal-hal berbasis disk? Masih 10 kali lebih cepat.
Fitur Unggulan Spark
Spark memberi Anda seluruh ekosistem ini:
Kecepatan: Mesin dalam memori yang melesat melalui pemrosesan data
Versatilitas: Melakukan berbagai hal—SQL, pembelajaran mesin, hal-hal waktu nyata, grafik
Platform Terpadu: Bekerja dengan baik dengan berbagai sumber data
Pemrosesan Terdistribusi: Membagi pekerjaan di seluruh kluster untuk dataset besar
Koleksi Kaya: Memiliki MLlib untuk pembelajaran mesin. Juga Spark Streaming. Dan GraphX untuk analitik graf.
Di Dalam Arsitektur Spark
Inti dari Apache Spark mencakup:
Spark Driver: Memiliki semua penjadwal dan manajer ini yang mengubah kode Anda menjadi pekerjaan
Pelaksana: Ini melakukan perhitungan yang sebenarnya
Manajer Kluster: Bisa Mandiri, YARN, atau apa pun. Mereka mengambil node pekerja.
Worker Nodes: Server yang melakukan pekerjaan berat
UDF PySpark: Membuat Spark Milik Anda
Spark memungkinkan Anda untuk memperluasnya dengan Fungsi yang Ditentukan Pengguna. Hal yang cukup keren. UDF ini di PySpark memungkinkan Anda untuk membuat logika kustom ketika fungsi bawaan tidak cukup.
Buat UDF seperti ini:
python
dari pyspark.sql.functions import udf
dari pyspark.sql.types mengimpor StringType
Definisikan fungsi Python
def convert_case(text):
return text.upper() if text else None
UDF tidaklah sempurna. Mereka lebih lambat daripada built-in karena masalah serialisasi. Mungkin coba UDF yang tervektorisasi jika kecepatan penting. Gunakan dengan hati-hati.
Menyesuaikan Spark dengan spark-defaults.conf
Anda dapat mengontrol Spark melalui file spark-defaults.conf ini. Ini hanya pasangan properti-nilai:
Penyetelan yang baik tampaknya melibatkan hal-hal terkait memori. Pengaturan partisi juga. Pengumpulan sampah bisa sangat berpengaruh. Opsi serialisasi mungkin membantu kinerja.
Spark terus berkembang. Ini besar di dunia data. Tidak sempurna, tetapi cukup penting.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Apa itu Apache Spark?
Apache Spark adalah mesin analitik sumber terbuka untuk big data. Ini benar-benar mengubah permainan bagi organisasi yang berurusan dengan beban data yang besar. Spark cepat. Sangat cepat. Ini menggunakan pemrosesan dalam memori yang membuatnya melesat melewati kerangka kerja tradisional—sekitar 100 kali lebih cepat daripada MapReduce untuk operasi memori. Hal-hal berbasis disk? Masih 10 kali lebih cepat.
Fitur Unggulan Spark
Spark memberi Anda seluruh ekosistem ini:
Di Dalam Arsitektur Spark
Inti dari Apache Spark mencakup:
UDF PySpark: Membuat Spark Milik Anda
Spark memungkinkan Anda untuk memperluasnya dengan Fungsi yang Ditentukan Pengguna. Hal yang cukup keren. UDF ini di PySpark memungkinkan Anda untuk membuat logika kustom ketika fungsi bawaan tidak cukup.
Buat UDF seperti ini:
python dari pyspark.sql.functions import udf dari pyspark.sql.types mengimpor StringType
Definisikan fungsi Python
def convert_case(text): return text.upper() if text else None
Daftar sebagai UDF
upper_case_udf = udf(convert_case, StringType())
Terapkan ke DataFrame
df = df.withColumn("upper_text", upper_case_udf(df.text_column))
UDF tidaklah sempurna. Mereka lebih lambat daripada built-in karena masalah serialisasi. Mungkin coba UDF yang tervektorisasi jika kecepatan penting. Gunakan dengan hati-hati.
Menyesuaikan Spark dengan spark-defaults.conf
Anda dapat mengontrol Spark melalui file spark-defaults.conf ini. Ini hanya pasangan properti-nilai:
spark.master=yarn spark.executor.memory=4g spark.driver.memory=2g spark.executor.cores=2 spark.sql.shuffle.partitions=200
Penyetelan yang baik tampaknya melibatkan hal-hal terkait memori. Pengaturan partisi juga. Pengumpulan sampah bisa sangat berpengaruh. Opsi serialisasi mungkin membantu kinerja.
Spark terus berkembang. Ini besar di dunia data. Tidak sempurna, tetapi cukup penting.