Tutorial PySpark Dataframe - Pemrograman PySpark dengan Dataframes



Dalam blog tutorial PySpark Dataframe ini, Anda akan belajar tentang transformasi dan tindakan di Apache Spark dengan banyak contoh.

Dataframes adalah kata kunci di Industri saat ini. Orang cenderung menggunakannya dengan bahasa populer yang digunakan untuk Analisis Data seperti Python, Scala, dan R.Plus, dengan kebutuhan yang jelas untuk menangani analisis kompleks dan tugas munging untuk Big Data, Python untuk Spark atau telah menjadi salah satu keterampilan yang paling dicari di industri saat ini.Jadi, mengapa semua orang menggunakannya begitu banyak? Mari kita pahami ini dengan kami Tutorial Dataframe PySpark blog. Di blog ini saya akan membahas topik-topik berikut:





Tutorial PySpark Dataframe: Apa itu Dataframes?

Dataframe umumnya mengacu pada struktur data, yang bersifat tabel. Ini mewakili Baris, yang masing-masing terdiri dari sejumlah pengamatan. Baris dapat memiliki berbagai format data ( Heterogen ), sedangkan kolom dapat memiliki data dengan tipe data yang sama ( Homogen ). Bingkai data biasanya berisi beberapa metadata selain data misalnya, nama kolom dan baris.

Dataframe-Pyspark-Dataframe-Tutorial



Kita dapat mengatakan bahwa Dataframes tidak lain adalah Struktur Data 2-Dimensi, mirip dengan tabel SQL atau spreadsheet. Sekarang mari kita lanjutkan dengan Tutorial Dataframe PySpark ini dan memahami mengapa sebenarnya kita membutuhkan Pyspark Dataframe?

Mengapa kita membutuhkan Dataframes?

1. Mengolah Data Terstruktur dan Semi Terstruktur



Kerangka datadirancang untuk diprosesuntuk besar kumpulan data terstruktur serta Semi-Terstruktur . Pengamatan di Spark DataFrame diatur di bawah kolom bernama, yang membantu Apache Spark untuk memahami skema DataFrame. Ini membantu Spark mengoptimalkan rencana eksekusi pada kueri ini. Itu juga bisa menangani Petabyte data.

2. S. licing dan Dicing

Kerangka data API biasanya mendukung metode yang rumit untuk mengiris dan memotong data. Itu termasukoperasins seperti 'memilih' baris, kolom, dan sel menurut nama atau nomor, menyaring baris, dll. Data statistik biasanya sangat berantakan dan mengandung banyak nilai yang hilang dan salah serta pelanggaran rentang. Jadi fitur yang sangat penting dari bingkai data adalah pengelolaan eksplisit data yang hilang.

3. Sumber Data

DataFrame memiliki dukungan untuk berbagai format dan sumber data, kita akan membahasnya nanti di blog Tutorial Pyspark Dataframe ini. Mereka dapat mengambil data dari berbagai sumber.

4. Dukungan untuk Berbagai Bahasa

Ini memiliki dukungan API untuk berbagai bahasa seperti Python, R, Scala, Java,yang membuatnya lebih mudah digunakan oleh orang-orang yang memiliki latar belakang pemrograman berbeda.

Berlangganan saluran youtube kami untuk mendapatkan pembaruan baru ..!

Fitur Dataframes

  • Dataframe adalah Didistribusikan di Alam, yang membuatnya Toleran Kesalahan dan Struktur Data Sangat Tersedia.
  • Evaluasi malas adalah strategi evaluasi yang mengevaluasi suatu ekspresi sampai nilainya dibutuhkan. Ini menghindari evaluasi berulang. Evaluasi malas di Spark berarti bahwa eksekusi tidak akan dimulai sampai tindakan dipicu. Di Spark, gambaran evaluasi malas muncul saat transformasi Spark terjadi.
  • Dataframe adalah Kekal di alam. Yang saya maksud dengan kekekalan itu adalah objek yang statusnya tidak dapat dimodifikasi setelah itu dibuat.Tapi kita bisa berubah-nyanilai-nilai dengan menerapkantertentutransformasi, seperti di RDD.

Sumber Dataframe PySpark

Dataframes di Pyspark dapat dibuat dengan berbagai cara:

Data dapat dimuat melalui a CSV, JSON, XML atau file Parket. Itu juga dapat dibuat menggunakan yang sudah ada RDD dan melalui database lain, seperti Sarang lebah atau Cassandra demikian juga. Itu juga dapat mengambil data dari HDFS atau sistem file lokal.

Pembuatan Dataframe

Mari kita lanjutkan dengan blog Tutorial Dataframe PySpark ini dan pahami cara membuat Bingkai Data.

Kami akan membuat instance Karyawan dan Departemen.

dari pyspark.sql import * Employee = Row ('firstName', 'lastName', 'email', 'gaji') employee1 = Karyawan ('Basher', 'armbrust', 'bash@edureka.co', 100000) employee2 = Karyawan ('Daniel', 'meng', 'daniel@stanford.edu', 120000) employee3 = Karyawan ('Muriel', Tidak ada, 'muriel@waterloo.edu', 140000) employee4 = Karyawan ('Rachel', 'wendell ',' rach_3@edureka.co ', 160000) employee5 = Karyawan (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (Karyawan [0]) print (employee3) department1 = Baris (id = '123456', name = 'HR') department2 = Baris (id = '789012', name = 'OPS') department3 = Row (id = '345678', name = 'FN') department4 = Row (id = ' 901234 ', nama =' DEV ')

Selanjutnya, kita akan membuat instance DepartmentWithEmployees dari Karyawan dan Departemen

departmentWithEmployees1 = Baris (departemen = departemen1, karyawan = [karyawan1, karyawan2, karyawan5]) departemenWithEmployees2 = Baris (departemen = departemen2, karyawan = [karyawan3, karyawan4]) departemenWithEmployees3 = Baris (departemen = departemen3, karyawan = [karyawan1, karyawan4, karyawan3 ]) departmentWithEmployees4 = Baris (departemen = departemen4, karyawan = [karyawan2, karyawan3])

Mari buat Dataframe kita dari daftar Baris

departmentsWithEmployees_Seq = [departmentWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departmentsWithEmployees_Seq) tampilan (dframe) dframe.show ()

Dataframes Pyspark Contoh 1: Kumpulan Data Piala Dunia FIFA

Di sini kami telah mengambil Set Data Pemain Piala Dunia FIFA. Kami akan memuat data ini dalam format CSVmenjadidataframe dan kemudian kita akan mempelajari tentang berbagai transformasi dan tindakan yang dapat dilakukan pada dataframe ini.

Membaca Data dari file CSV

Mari muat data dari file CSV. Di sini kita akan menggunakan spark.read.csv metode untuk memuat data ke dalam dataframe fifa_df. Metode sebenarnya adalah spark.read.format [csv / json] .

fifa_df = spark.read.csv ('path-of-file / fifa_players.csv', inferSchema = True, header = True) fifa_df.show ()

Skema Dataframe

Untuk melihat skema yaitu. struktur kerangka data, kami akan menggunakan printSchema metode. Ini akan memberi kita kolom yang berbeda di dataframe kita bersama dengan tipe data dan kondisi nullable untuk kolom tersebut.

fifa_df.printSchema ()

Nama dan Jumlah Kolom (Baris dan Kolom)

Saat kami ingin melihat nama dan hitungan jumlah Baris dan Kolom dari Dataframe tertentu, kami menggunakan metode berikut.

fifa_df.columns // Nama Kolom fifa_df.count () // Jumlah Baris len (fifa_df.columns) // Jumlah Kolom

37784 8

Menjelaskan Kolom Tertentu

Jika kami ingin melihat ringkasan kolom tertentu dari Dataframe, kami menggunakan menjelaskan metode. Metode ini memberi kita ringkasan statistik dari kolom yang diberikan, jika tidak ditentukan, metode ini memberikan ringkasan statistik dari kerangka data.

tipe data tanggal dalam sql
fifa_df.describe ('Nama Pelatih'). show () fifa_df.describe ('Posisi'). show ()

Memilih Beberapa Kolom

Jika kami ingin memilih kolom tertentu dari dataframe, kami menggunakan Pilih metode.

fifa_df.select ('Nama Pemain', 'Nama Pelatih'). show ()

Memilih Beberapa Kolom Berbeda

fifa_df.select ('Nama Pemain', 'Nama Pelatih'). different (). show ()

Memfilter Data

Untuk memfilter data, sesuai dengan kondisi yang ditentukan, kami menggunakan Saring perintah. Di sini kami memfilter kerangka data kami berdasarkan ketentuan bahwa ID Pencocokan harus sama dengan 1096 dan kemudian kami menghitung berapa banyak catatan / baris yang ada di keluaran yang difilter.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // untuk menghitung

Memfilter Data (Beberapa Parameter)

Kami dapat memfilter data kami berdasarkan beberapa kondisi (DAN atau ATAU)

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40' ')). show ()

Menyortir Data (OrderBy)

Untuk mengurutkan data kami menggunakan Dipesan oleh metode. Secara default, ini mengurutkan dalam urutan menaik, tetapi kita juga dapat mengubahnya menjadi urutan menurun.

fifa_df.orderBy (fifa_df.MatchID) .show ()

PySpark Dataframes Contoh 2: Superheros Dataset

Memuat data

Di sini kita akan memuat data dengan cara yang sama seperti yang kita lakukan sebelumnya.

Superhero_df = spark.read.csv ('path-of file / superheros.csv', inferSchema = True, header = True) Superhero_df.show (10)

Memfilter Data

Superhero_df.filter (Superhero_df.Gender == 'Pria'). Count () // Jumlah Pahlawan Pria Superhero_df.filter (Superhero_df.Gender == 'Wanita'). Count () // Jumlah Pahlawan Wanita

Mengelompokkan Data

GroupBy digunakan untuk mengelompokkan dataframe berdasarkan kolom yang ditentukan. Di sini, kami mengelompokkan dataframe berdasarkan pada kolom Race dan kemudian dengan menghitung fungsi, kita dapat menemukan hitungan ras tertentu.

Race_df = Superhero_df.groupby ('Race'] .count () .show ()

Melakukan Kueri SQL

Kita juga bisa mengirimkan query SQL langsung ke dataframe manapun, untuk itu kita perlu membuat tabel dari dataframe menggunakan registerTempTable metode dan kemudian gunakan sqlContext.sql () untuk meneruskan kueri SQL.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('pilih * dari superhero_table'). Show ()

sqlContext.sql ('pilih yang berbeda (Eye_color) dari superhero_table']. show ()

sqlContext.sql ('pilih yang berbeda (Eye_color) dari superhero_table']. count ()

2. 3

sqlContext.sql ('pilih max (Weight) dari superhero_table'). show ()

Dan dengan ini, kita sampai pada akhir Tutorial Dataframe PySpark ini.

Jadi ini dia, Guys!

Saya harap kalian mendapat gambaran tentang apa itu PySpark Dataframe, mengapa digunakan dalam industri dan fitur-fiturnya di Blog Tutorial PySpark Dataframe ini. Selamat, Anda bukan lagi Pemula dalam Dataframes. Jika Anda ingin mempelajari lebih lanjut tentang PySpark dan Memahami Berbagai Kasus Penggunaan Industri, lihat kami Percikan dengan Python dan Tutorial PySpark Blog.