Dalam panduan ini, kita akan melihat cara memplot Data PySpark pada histogram. Kita bisa melihat dua skenario di sini. Histogram dibuat di PySpark Pandas DataFrame dan data RDD. Untuk dua skenario ini, PySpark menyediakan dua fungsi: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Topik Isi:
- Plot Histogram pada DataFrame PySpark Pandas
- Plot Histogram pada PySpark Pandas DataFrame dengan Bins Parameter
- Plot Histogram pada RDD PySpark dengan Menentukan Nomor Bucket
- Plot Histogram pada RDD PySpark dengan Menentukan Ukuran Setiap Bucket
Pyspark.pandas.DataFrame.plot.hist()
Dalam skenario ini, histogram ditampilkan sebagai representasi data seperti grafik yang mengelompokkan berbagai kelas ke dalam kolom (dari PySpark Pandas DataFrame) bersama dengan sumbu x horizontal. Sumbu y mewakili jumlah kemunculan di PySpark Pandas DataFrame untuk setiap kolom.
Sintaksis:
pyspark_pandas_DataFrame.plot.hist(tempat sampah,...)
Dibutuhkan jumlah total tempat sampah sebagai parameter opsional yang merupakan bilangan bulat dan beberapa argumen kata kunci opsional. Jika nampan tidak ditentukan untuk setiap kolom, bilah dibuat.
Plot Histogram pada DataFrame PySpark Pandas
Buat DataFrame PySpark Pandas yang memiliki 2 kolom dengan 4 catatan. Plot histogram tanpa meneruskan parameter apa pun ke fungsi plot.hist() .
dari panda impor pysparkpyspark_pandas_dataframe=pandas.DataFrame({ 'Bangunan_tinggi' :[ 120.56 , 234.67 , 12.0 , 200,45 ], 'Luas bangunan' :[ 2 , 3 , 1 , 4 ]})
cetak(pyspark_pandas_dataframe)
# histogram PySpark-Panda
pyspark_pandas_dataframe.plot.hist()
Keluaran:
Di sini, nama kolomnya adalah “Building_height” dan “Building_Area”.
Mari kita lihat Histogram:
Jumlah total baris pada DataFrame sebelumnya adalah 4. Jadi, 4 bin dibuat.
Plot Histogram pada PySpark Pandas DataFrame dengan Bins Parameter
Buat DataFrame PySpark Pandas yang memiliki 2 kolom dengan 4 catatan. Plot histogram tanpa meneruskan parameter apa pun ke fungsi plot.hist() .
dari panda impor pysparkpyspark_pandas_dataframe=pandas.DataFrame({ 'Bangunan_tinggi' :[ 120.56 , 234.67 , 12.0 , 200,45 ], 'Luas bangunan' :[ 2 , 3 , 1 , 4 ]})
# histogram PySpark-Pandas dengan 2 tempat sampah
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Keluaran:
Di sini, nama kolomnya adalah “Building_height” dan “Building_Area”.
Mari kita lihat histogram – merah mengacu pada “Building_Area” dan biru mengacu pada kolom “Building_height”:
Seperti yang kami tentukan, hanya 2 nampan dan 2 batang yang dibuat. Empat baris digabungkan menjadi 2 ember di sini.
Plot Histogram pada RDD PySpark dengan Menentukan Nomor Bucket
Saat Anda bekerja dengan RDD, histogram dapat dikembalikan dalam bentuk tuple yang menyertakan keranjang dan nilai total yang ada di setiap keranjang.
Sintaksis:
pyspark_RDD.histogram(ember)Dalam skenario ini, kami melewatkan jumlah ember (bilangan bulat) yang disertakan dalam Histogram. Ini mengembalikan tupel daftar yang menyertakan rentang keranjang dan kemunculan nilai terkait dalam format berikut: ([rentang bucket…], [nilai kejadian…]).
Contoh 1:
Mari buat RDD bernama 'Building_height' dengan 10 nilai dan buat histogram dengan 3 keranjang.
impor pysparkdari pyspark.sql impor SparkSession
dari pyspark.rdd impor RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Buat RDD dengan 10 nilai
Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
mencetak( 'Sebenarnya:' ,Building_height.collect())
# Menentukan 3 ember
Bangunan_tinggi.histogram( 3 )
Keluaran:
- Bucket-1 berkisar dari 12.0 hingga 86.223 : Dalam rentang ini, jumlah total nilai yang ada di bucket adalah 5.
- Bucket-2 berkisar dari 86.223 hingga 160.446 : Dalam rentang ini, jumlah total nilai yang ada di bucket adalah 3.
- Bucket-3 berkisar dari 160.446 hingga 234.67 : Dalam rentang ini, jumlah total nilai yang ada di bucket adalah 2.
Contoh 2:
Buat histogram dengan 2 bucket pada RDD yang dibuat sebelumnya.
impor pysparkdari pyspark.sql impor SparkSession
dari pyspark.rdd impor RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Buat RDD dengan 10 nilai
Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
mencetak( 'Sebenarnya:' ,Building_height.collect())
# Menentukan 2 ember
Bangunan_tinggi.histogram( 2 )
Keluaran:
- Bucket 1 berkisar dari 12.0 hingga 123.335. Dalam rentang ini, jumlah total nilai yang ada di keranjang adalah 8.
- Keranjang 2 berkisar dari 123,335 hingga 234,67: Dalam rentang ini, jumlah total nilai yang ada di keranjang adalah 2.
Plot Histogram pada RDD PySpark dengan Menentukan Ukuran Setiap Bucket
Dalam skenario sebelumnya, kami meneruskan bucket ke fungsi RDD.histogram(). Sekarang, kami meneruskan ukuran keranjang satu demi satu di dalam daftar dan meneruskan daftar ini sebagai parameter untuk fungsi ini. Pastikan bahwa kita perlu menentukan setidaknya dua keranjang dalam urutan meningkat/menaik dan tidak akan memiliki nilai duplikat.
Sintaksis:
pyspark_RDD.histogram([jangkauan ember…])Dalam skenario ini, kami melewatkan jumlah ember (bilangan bulat) yang disertakan dalam histogram. Ini mengembalikan tupel daftar yang menyertakan rentang keranjang dan kemunculan nilai terkait dalam format berikut: ([rentang bucket…], [nilai kejadian…]).
Contoh 1:
Mari buat RDD bernama 'Building_height' dengan 10 nilai dan buat histogram dengan rentang nilai bucker [0, 50, 100, 150, 200, 250].
impor pysparkdari pyspark.sql impor SparkSession
dari pyspark.rdd impor RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Buat RDD dengan 10 nilai
Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
mencetak( 'Sebenarnya:' ,Building_height.collect())
# Menentukan keranjang dengan ukuran - [0,50,100,150,200,250]
Bangunan_tinggi.histogram([ 0 , lima puluh , 100 , 150 , 200 , 250 ])
Keluaran:
- Keranjang 1: (0 hingga 50): Nilai total dalam keranjang ini adalah 3.
- Keranjang 1: (50 hingga 100): Nilai total dalam keranjang ini adalah 2.
- Keranjang 1: (100 hingga 150): Nilai total dalam keranjang ini adalah 2.
- Keranjang 1: (150 hingga 200): Nilai total dalam keranjang ini adalah 2.
- Keranjang 1: (200 hingga 250): Nilai total dalam keranjang ini adalah 2.
Contoh 2:
Buat histogram dengan rentang nilai keranjang [0, 100, 200, 300].
impor pysparkdari pyspark.sql impor SparkSession
dari pyspark.rdd impor RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Buat RDD dengan 10 nilai
Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
mencetak( 'Sebenarnya:' ,Building_height.collect())
# Menentukan keranjang dengan ukuran - [0,100,200,300]
Bangunan_tinggi.histogram([ 0 , 100 , 200 , 300 ])
Keluaran:
- Keranjang 1: (0 hingga 100). Nilai total dalam keranjang ini adalah 5.
- Ember 2: (100 hingga 200). Nilai total dalam keranjang ini adalah 3.
- Ember 3: (200 hingga 300). Nilai total dalam keranjang ini adalah 2.
Kesimpulan
Kami telah melihat cara membuat histogram di PySpark di PySpark Pandas DataFrame dan RDD. histogram() adalah fungsi yang digunakan untuk mendapatkan histogram pada data RDD. Plot.hist() digunakan untuk menampilkan histogram di PySpark Pandas DataFrame. Kami membahas fungsi-fungsi ini dengan contoh-contoh dengan mencakup semua parameter.