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:
- Apa itu Kerangka Data?
- Mengapa kita memerlukan Kerangka Data?
- Ciri-ciri Kerangka Data
- Sumber Kerangka Data PySpark
- Penciptaan Rangka Data
- Kerangka Data Pyspark dengan FIFA World Cup & Superheroes Dataset
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.
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.