Tutorial Kerangka Data PySpark - Pengaturcaraan PySpark dengan Kerangka Data



Dalam blog tutorial PySpark Dataframe ini, anda akan belajar mengenai transformasi dan tindakan di Apache Spark dengan pelbagai contoh.

Dataframe adalah kata kunci dalam Industri pada masa kini. Orang cenderung menggunakannya dengan bahasa popular yang digunakan untuk Analisis Data seperti Python, Scala dan R.Ditambah lagi, dengan keperluan yang jelas untuk menangani analisis yang kompleks dan tugas pemetaan untuk Big Data, Python for Spark atau telah menjadi salah satu kemahiran yang paling dicari dalam industri hari ini.Jadi, mengapa semua orang menggunakannya begitu banyak? Mari fahami ini dengan kami Tutorial Rangka Data PySpark blog. Dalam blog ini saya akan membahas topik berikut:





Tutorial Kerangka Data PySpark: Apa itu Kerangka Data?

Kerangka data umumnya merujuk pada struktur data, yang berbentuk tabular. Ini mewakili Baris, masing-masing terdiri dari sejumlah pemerhatian. Baris boleh mempunyai pelbagai format data ( Heterogen ), sedangkan lajur boleh mempunyai data dari jenis data yang sama ( Homogen ). Bingkai data biasanya mengandungi beberapa metadata selain data misalnya, nama lajur dan baris.

Dataframe-Pyspark-Dataframe-Tutorial



Kita boleh mengatakan bahawa Kerangka Data tidak lain adalah Struktur Data 2-Dimensi, serupa dengan jadual SQL atau spreadsheet. Sekarang mari kita teruskan dengan Tutorial Kerangka Data PySpark ini dan fahami mengapa sebenarnya kita memerlukan Kerangka Data Pyspark?

Mengapa kita memerlukan Kerangka Data?

1. Memproses Data Berstruktur dan Separa Berstruktur



Rangka datadirancang untuk memproseske besar pengumpulan data berstruktur dan separa berstruktur . Pemerhatian dalam Spark DataFrame disusun di bawah lajur bernama, yang membantu Apache Spark untuk memahami skema DataFrame. Ini membantu Spark mengoptimumkan rancangan pelaksanaan pada pertanyaan ini. Ia juga dapat mengatasi Petabyte data.

2.S pelesenan dan Dicing

Rangka data API biasanya menyokong kaedah terperinci untuk menghiris-dan-mencincang data itu. Ia termasukoperasiseperti 'memilih' baris, lajur, dan sel dengan nama atau nombor, menyaring baris, dll. Data statistik biasanya sangat tidak kemas dan mengandungi banyak nilai dan pelanggaran yang hilang dan salah. Oleh itu, ciri bingkai data yang sangat penting adalah pengurusan data yang hilang secara eksplisit.

3. Sumber Data

DataFrame mempunyai sokongan untuk berbagai format dan sumber data, kami akan melihatnya nanti di blog Tutorial Dataframe Pyspark ini. Mereka dapat mengambil data dari pelbagai sumber.

4. Sokongan untuk Pelbagai Bahasa

Ia mempunyai sokongan API untuk berbagai bahasa seperti Python, R, Scala, Java,yang menjadikannya lebih mudah digunakan oleh orang yang mempunyai latar belakang pengaturcaraan yang berbeza.

Langgan saluran youtube kami untuk mendapatkan kemas kini baru ..!

Ciri-ciri Kerangka Data

  • Rangka data adalah Diagihkan di Alam, yang menjadikannya Kesalahan Toleran dan Struktur Data Sangat Tersedia.
  • Penilaian malas adalah strategi penilaian yang menahan penilaian ekspresi sehingga nilainya diperlukan. Ia mengelakkan penilaian berulang. Penilaian malas di Spark bermaksud bahawa pelaksanaan tidak akan bermula sehingga tindakan dicetuskan. Di Spark, gambaran penilaian malas muncul ketika transformasi Spark berlaku.
  • Rangka data adalah Tidak boleh berubah dalam alam semula jadi. Dengan tidak berubah saya maksudkan bahawa ia adalah objek yang keadaannya tidak dapat diubah suai setelah ia dibuat.Tetapi kita boleh berubahitunilai dengan menerapkansesetengahtransformasi, seperti dalam RDD.

Sumber Kerangka Data PySpark

Kerangka data di Pyspark dapat dibuat dengan pelbagai cara:

Data boleh dimuat melalui a CSV, JSON, XML atau fail parket. Ia juga boleh dibuat dengan menggunakan yang ada RDD dan melalui pangkalan data lain, seperti Sarang atau Cassandra juga. Ia juga dapat mengambil data dari HDFS atau sistem fail tempatan.

Penciptaan Rangka Data

Mari terus maju dengan blog Tutorial Kerangka Data PySpark ini dan fahami bagaimana membuat Bingkai Data.

Kami akan membuat contoh Pekerja dan Jabatan.

dari pyspark.sql import * Employee = Row ('firstName', 'lastName', 'email', 'gaji') pegawai1 = Pekerja ('Basher', 'armbrust', 'bash@edureka.co', 100000) pekerja2 = Pekerja ('Daniel', 'meng', 'daniel@stanford.edu', 120000) pegawai3 = Pekerja ('Muriel', Tiada, 'muriel@waterloo.edu', 140000) pekerja4 = Pekerja ('Rachel', 'wendell ',' rach_3@edureka.co ', 160000) pegawai5 = Pekerja (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) cetakan (Pekerja [0]) cetakan (pekerja3) jabatan1 = Baris (id = '123456', name = 'HR') department2 = Row (id = '789012', name = 'OPS') department3 = Row (id = '345678', name = 'FN') department4 = Row (id = ') 901234 ', nama =' DEV ')

Seterusnya, kami akan membuat contoh DepartmentWithEm Employees dari Pekerja dan Jabatan

jabatanWithEm Employees1 = Baris (jabatan = jabatan1, pekerja = [pekerja1, pekerja2, pekerja5]) jabatanWithEm Employees2 = Row (jabatan = jabatan2, pekerja = [pekerja3, pekerja4]) jabatanWithEm Employees3 = Baris (jabatan = jabatan3, pekerja = [pekerja1, pekerja4, pekerja3 ]) jabatanWithEm Employees4 = Baris (jabatan = jabatan4, pekerja = [pekerja2, pekerja3])

Mari buat Dataframe kami dari senarai Baris

departmentWithEm Employees_Seq = [departmentWithEm Employees1, departmentWithEm Employees2] dframe = spark.createDataFrame (departmentWithEm Employees_Seq) paparan (dframe) dframe.show ()

Rangka Data Pyspark Contoh 1: Set Data Piala Dunia FIFA

Di sini kita telah mengambil Dataset Pemain Piala Dunia FIFA. Kami akan memuatkan data ini dalam format CSVmenjadi akerangka data dan kemudian kita akan belajar mengenai pelbagai transformasi dan tindakan yang dapat dilakukan pada kerangka data ini.

Membaca Data dari fail CSV

Mari memuatkan data dari fail CSV. Di sini kita akan menggunakan percikan.read.csv kaedah untuk memuatkan data ke dalam bingkai data fifa_df. Kaedah 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 Kerangka Data

Untuk melihat skema iaitu. struktur kerangka data, kami akan menggunakan cetakSkema kaedah. Ini akan memberi kita lajur yang berlainan dalam kerangka data kami bersama dengan jenis data dan syarat yang tidak dapat dibatalkan untuk lajur tersebut.

fifa_df.printSchema ()

Nama dan Kiraan Lajur (Baris dan Lajur)

Apabila kita ingin melihat nama dan jumlah bilangan Baris dan Lajur Kerangka Data tertentu, kita menggunakan kaedah berikut.

fifa_df.columns // Column Names fifa_df.count () // Row Count len ​​(fifa_df.columns) // Jumlah lajur

37784 8

Memerihalkan Lajur Khusus

Sekiranya kita ingin melihat ringkasan lajur tertentu dari Kerangka Data, kita menggunakan menerangkan kaedah. Kaedah ini memberi kita ringkasan statistik dari lajur yang diberikan, jika tidak ditentukan, ia memberikan ringkasan statistik dari kerangka data.

cara belajar studio visual
fifa_df.describe ('Coach Name'). tunjukkan () fifa_df.describe ('Position'). tunjukkan ()

Memilih Pelbagai Lajur

Sekiranya kita ingin memilih lajur tertentu dari kerangka data, kita menggunakan pilih kaedah.

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

Memilih Berbilang Tiang

fifa_df.select ('Nama Pemain', 'Nama Pelatih'). berbeza (). tunjukkan ()

Menyaring Data

Untuk menyaring data, sesuai dengan kondisi yang ditentukan, kami menggunakan tapis arahan. Di sini kami menyaring kerangka data kami berdasarkan syarat bahawa ID Pencocokan harus sama dengan 1096 dan kemudian kami mengira berapa banyak catatan / baris yang ada dalam output yang disaring.

fifa_df.filter (fifa_df.MatchID == '1096'). tunjukkan () fifa_df.filter (fifa_df.MatchID == '1096'). hitung () // untuk mendapatkan kiraan

Menyaring Data (Beberapa Parameter)

Kami dapat menapis data kami berdasarkan pelbagai keadaan (DAN atau ATAU)

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

Menyusun Data (OrderBy)

Untuk menyusun data yang kami gunakan Perintah oleh kaedah. Secara lalai, ia disusun mengikut urutan menaik, tetapi kita juga dapat mengubahnya menjadi tertib menurun.

fifa_df.orderDengan (fifa_df.MatchID). tunjukkan ()

Rangka Data PySpark Contoh 2: Set Data Superheros

Memuatkan data

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

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

Menyaring Data

Superhero_df.filter (Superhero_df.Gender == 'Male'). Count () // Count Heros Lelaki Superhero_df.filter (Superhero_df.Gender == 'Female'). Count () // Count Heros Wanita

Mengumpulkan Data

KumpulanB digunakan untuk mengelompokkan kerangka data berdasarkan lajur yang ditentukan. Di sini, kami mengelompokkan kerangka data berdasarkan lajur Race dan kemudian dengan mengira fungsi, kita dapat mengetahui jumlah kaum tertentu.

Race_df = Superhero_df.groupby ('Race'). Jumlah (). Tunjukkan ()

Melakukan Pertanyaan SQL

Kita juga dapat menyampaikan pertanyaan SQL secara langsung ke kerangka data apa pun, untuk itu kita perlu membuat jadual dari kerangka data menggunakan daftarTempTable kaedah dan kemudian gunakan sqlContext.sql () untuk lulus pertanyaan SQL.

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

sqlContext.sql ('pilih yang berbeza (Eye_color) dari superhero_table'). tunjukkan ()

sqlContext.sql ('pilih berbeza (warna_ Mata) dari superhero_table'). hitung ()

2. 3

sqlContext.sql ('pilih maks (Berat) dari superhero_table'). tunjukkan ()

Dan dengan ini, kita akan mengakhiri Tutorial Dataframe PySpark ini.

Jadi ini, Guys!

Saya harap anda mendapat idea mengenai apa itu PySpark Dataframe, mengapa ia digunakan dalam industri dan ciri-cirinya dalam Blog Tutorial PySpark Dataframe ini. Tahniah, anda bukan lagi Pemula Dataframe. Sekiranya anda ingin mengetahui lebih lanjut mengenai PySpark dan Memahami Kes Penggunaan Industri yang berbeza, lihat di kami Bercakap dengan Python dan Tutorial PySpark Blog.