Operator di Apache Pig: Bagian 1- Operator Relasional



Posting ini menjelaskan tentang Operator di Apache Pig. Lihatlah posting ini untuk Operator di Apache Pig: Bagian 1 - Operator Relasional.

Posting ini tentang operator di Apache Pig.Apache Pig juga memungkinkan Anda untuk menulis transformasi data yang kompleks tanpa pengetahuan tentang Java, sehingga sangat penting untuk file .Mari kita lihat sekilas tentang apa itu Pig dan Pig Latin dan berbagai mode di mana keduanya dapat dioperasikan, sebelum menuju ke Operator.

Apa itu Apache Pig?

Apache Pig adalah bahasa prosedural tingkat tinggi untuk menanyakan kumpulan data besar menggunakan Hadoop dan Platform Pengurangan Peta. Ini adalah paket Java, di mana skrip dapat dieksekusi dari implementasi bahasa apa pun yang berjalan di JVM. Ini sangat digunakan dalam proses berulang.





Apache Pig menyederhanakan penggunaan Hadoop dengan mengizinkan kueri seperti SQL ke kumpulan data terdistribusi dan memungkinkan pembuatan tugas kompleks untuk memproses data dalam jumlah besar dengan cepat dan efektif. Fitur terbaik dari Pig adalah, ia mendukung banyak fitur relasional seperti Gabung, Grup, dan Agregat.

Saya tahu Pig terdengar lebih seperti alat ETL dan memang memiliki banyak fitur yang sama dengan alat ETL. Tetapi keunggulan Pig dibandingkan alat ETL adalah dapat berjalan di banyak server secara bersamaan.



Apa itu Apache Pig Latin?

Apache Pig membuat abstraksi bahasa prosedural yang lebih sederhana melalui Map Reduce untuk mengekspos antarmuka yang lebih mirip Structured Query Language (SQL) untuk aplikasi Hadoop yang disebut Apache Pig Latin, Jadi alih-alih menulis aplikasi Map Reduce yang terpisah, Anda dapat menulis satu skrip di Apache Pig Latin yang secara otomatis diparalelkan dan didistribusikan ke seluruh cluster. Dengan kata sederhana, Pig Latin, adalah urutan pernyataan sederhana yang mengambil masukan dan menghasilkan keluaran. Data masukan dan keluaran terdiri dari tas, peta, tupel dan skalar.

Mode Eksekusi Apache Pig:

Apache Pig memiliki dua mode eksekusi:

  • Mode lokal

Dalam 'Mode Lokal', data sumber akan diambil dari direktori lokal di sistem komputer Anda. Mode MapReduce dapat ditentukan menggunakan perintah 'pig –x local'.



Operator di Apache Pig - 1

  • Mode MapReduce:

Untuk menjalankan Pig dalam mode MapReduce, Anda memerlukan akses ke cluster Hadoop dan instalasi HDFS. Mode MapReduce dapat ditentukan menggunakan perintah 'pig'.

Operator Apache Pig:

Apache Pig Operator adalah bahasa prosedural tingkat tinggi untuk menanyakan kumpulan data besar menggunakan Hadoop dan Platform Pengurangan Peta. Pernyataan Pig Latin adalah operator yang mengambil relasi sebagai masukan dan menghasilkan relasi lain sebagai keluaran. Operator ini adalah alat utama yang disediakan Pig Latin untuk mengoperasikan data. Mereka memungkinkan Anda untuk mengubahnya dengan menyortir, mengelompokkan, bergabung, memproyeksikan, dan memfilter.

Mari buat dua file untuk menjalankan perintah:

Kami memiliki dua file dengan nama 'pertama' dan 'kedua.' File pertama berisi tiga bidang: pengguna, url & id.

File kedua berisi dua bidang: url & peringkat. Kedua file ini adalah file CSV.

Operator Apache Pig dapat diklasifikasikan sebagai: Relasional dan Diagnostik.

Operator Relasional:

Operator relasional adalah alat utama yang disediakan Pig Latin untuk mengoperasikan data. Ini memungkinkan Anda untuk mengubah data dengan menyortir, mengelompokkan, bergabung, memproyeksikan, dan memfilter. Bagian ini membahas operator relasional dasar.

BEBAN:

Operator LOAD digunakan untuk memuat data dari sistem file atau penyimpanan HDFS ke dalam relasi Pig.

Dalam contoh ini, operator Load memuat data dari file 'first' untuk membentuk relasi 'loading1'. Nama field adalah pengguna, url, id.

UNTUK SETIAP:

Operator ini menghasilkan transformasi data berdasarkan kolom data. Ini digunakan untuk menambah atau menghapus field dari suatu relasi. Gunakan operasi FOREACH-GENERATE untuk bekerja dengan kolom data.

Hasil FOREACH:

SARING:

Operator ini memilih tupel dari relasi berdasarkan suatu kondisi.

apa itu interpreter di java

Dalam contoh ini, kita memfilter catatan dari 'loading1' ketika kondisi 'id' lebih besar dari 8.

Hasil FILTER:

IKUTI:

Operator JOIN digunakan untuk melakukan gabungan dalam, ekuivalen dari dua atau lebih relasi berdasarkan nilai bidang yang sama. Operator JOIN selalu melakukan inner join. Inner join mengabaikan kunci null, jadi masuk akal untuk memfilternya sebelum join.

Dalam contoh ini, menggabungkan dua relasi berdasarkan kolom 'url' dari 'loading1' dan 'loading2'.

GABUNG Hasil:

DIPESAN OLEH:

Order By digunakan untuk mengurutkan relasi berdasarkan satu atau lebih field. Anda dapat melakukan sortir dalam urutan ascending atau descending menggunakan kata kunci ASC dan DESC.

Dalam contoh di bawah ini, kami mengurutkan data dalam memuat2 dalam urutan menaik pada bidang peringkat.

ORDER BY Hasil :

BERBEDA:

Distinct menghapus duplikat tupel dalam suatu relasi. Mari kita ambil file input seperti di bawah ini, yang memiliki amr, crap, 8 dan amr, myblog, 10 dua kali dalam file. Ketika kami menerapkan berbeda pada data dalam file ini, entri duplikat akan dihapus.

HASIL BERBEDA:

TOKO:

Simpan digunakan untuk menyimpan hasil ke sistem file.

Di sini kami menabung memuat3 data ke dalam file bernama menyimpan di HDFS.

Hasil TOKO:

KELOMPOK:

Operator GROUP mengelompokkan tupel dengan kunci grup yang sama (bidang kunci). Bidang kunci akan menjadi tupel jika kunci grup memiliki lebih dari satu bidang, jika tidak maka akan menjadi jenis yang sama dengan kunci grup. Hasil operasi GROUP adalah relasi yang menyertakan satu tupel per grup.

Dalam contoh ini, grup th

Hubungan 'loading1' dengan url kolom.

Hasil GROUP:

KELOMPOK:

COGROUP sama dengan operator GROUP. Untuk keterbacaan, pemrogram biasanya menggunakan GROUP ketika hanya satu relasi yang terlibat dan COGROUP ketika beberapa relasi terlibat.

Dalam contoh ini, kelompokkan bidang 'loading1' dan 'loading2' menurut url di kedua relasi.

Hasil COGROUP:

MENYEBERANG:

Operator CROSS digunakan untuk menghitung produk silang (produk Cartesian) dari dua atau lebih relasi.

Menerapkan produk silang pada pemuatan1 dan pemuatan2.

Hasil CROSS:

MEMBATASI:

Operator LIMIT digunakan untuk membatasi jumlah tupel keluaran. Jika jumlah tupel keluaran yang ditentukan sama dengan atau melebihi jumlah tupel dalam relasi, keluaran akan menyertakan semua tupel dalam relasi.

BATAS Hasil:

MEMBAGI:

Operator SPLIT digunakan untuk mempartisi konten relasi menjadi dua relasi atau lebih berdasarkan beberapa ekspresi. Bergantung pada kondisi yang dinyatakan dalam ekspresi.

Bagi loading2 menjadi dua relasi x dan y. x relasi yang dibuat oleh loading2 berisi field yang ratingnya lebih besar dari 8 dan relasi y berisi field yang ratingnya kurang dari atau sama dengan 8.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dan kami akan menghubungi Anda kembali.

Posting terkait:

Operator di Apache Pig - Operator Diagnostik

c vs c ++ vs java

Langkah-langkah Membuat UDF di Apache Pig