Selam Dalam Ke Babi



Catatan blog ini adalah mendalam mengenai Babi dan fungsinya. Anda akan menemui demo bagaimana anda boleh mengusahakan Hadoop menggunakan Babi tanpa bergantung pada Java.

Salah satu sebab terbesar mengapa populariti Hadoop melambung tinggi sejak kebelakangan ini adalah hakikat bahawa ciri seperti Pig dan Hive berjalan di atasnya yang membolehkan bukan pengaturcara dengan fungsi yang sebelumnya eksklusif untuk pengaturcara Java. Ciri-ciri ini merupakan akibat dari permintaan yang semakin meningkat bagi para profesional Hadoop. Ciri lain yang digunakan oleh profesional Hadoop dari latar belakang bukan Java adalah Flume, Sqoop, HBase dan Oozie.





Untuk memahami mengapa anda tidak memerlukan Java untuk mempelajari Hadoop, lihatlah blog ini .

Sejarah 1Pig



Mari fahami bagaimana ciri ini berfungsi.

Kita semua tahu bahawa pengetahuan pengaturcaraan adalah keperluan untuk menulis kod MapReduce. Tetapi bagaimana jika saya mempunyai alat yang dapat melakukan pengekodan jika saya hanya memberikan perinciannya? Di sinilah Babi menunjukkan kekuatan ototnya. Pig menggunakan platform yang disebut Pig Latin yang menyusun pengaturcaraan dari idiom Java MapReduce menjadi notasi yang menjadikan pengaturcaraan MapReduce tahap tinggi, mirip dengan SQL untuk sistem RDBMS. Kod yang ditulis dalam Pig Latin MapReduce secara automatik ditukar kepada fungsi MapReduce yang setara. Bukankah itu hebat? Fakta Mind-Blowing yang lain adalah bahawa hanya 10 Garis Babi diperlukan untuk menggantikan 200 Garis Jawa.



10 baris Babi = 200 baris Jawa

Ini bukan hanya bermaksud bahawa profesional bukan Java menggunakan Hadoop tetapi juga membuktikan fakta bahawa Pig digunakan oleh sebilangan pemaju teknikal yang sama.

Selain itu, jika anda ingin menulis kod MapReduce anda sendiri, anda boleh melakukannya dalam mana-mana bahasa seperti Perl, Python, Ruby atau C. Beberapa operasi asas yang dapat kita lakukan pada mana-mana Dataset menggunakan Babi adalah Kumpulan, Gabung, Tapis dan Susun . Operasi ini dapat dilakukan pada data berstruktur, tidak berstruktur dan juga separa berstruktur. Mereka menyediakan cara ad-hoc untuk membuat dan melaksanakan pekerjaan MapReduce pada set data yang sangat besar.

Selanjutnya, mari kita fahami Hive. Ini adalah sumber terbuka, kerangka penyimpanan data skala peta-byte berdasarkan Hadoop untuk ringkasan data, pertanyaan dan analisis. Hive menyediakan antara muka seperti SQL untuk Hadoop. Anda boleh menggunakan Hive untuk membaca dan menulis fail di Hadoop dan menjalankan laporan anda dari alat BI. Beberapa fungsi khas Hadoop adalah:

Izinkan saya menunjukkan demo menggunakan set data Babi pada Klikstream
Kami akan menggunakan data Clickstream ini dan melakukan Transformasi, Gabungan dan Pengelompokan.

ClickStream adalah rangkaian klik tetikus yang dibuat oleh pengguna semasa mengakses Internet terutamanya seperti yang dipantau untuk menilai minat seseorang untuk tujuan pemasaran. Ia digunakan terutamanya oleh laman web runcit dalam talian seperti Flipkart dan Amazon yang mengesan aktiviti anda untuk menghasilkan cadangan. Kumpulan data Clickstream yang telah kami gunakan mempunyai bidang berikut:

1. Jenis bahasa yang disokong oleh aplikasi web

2. Jenis penyemak imbas

3. Jenis penyambungan

4. ID Negara

5. Setem Masa

6. URL

7. Status pengguna

8. Jenis Pengguna

Ia akan kelihatan seperti ini dengan medan yang sesuai.

Berikut adalah senarai jenis penyemak imbas yang telah digunakan oleh pelbagai orang semasa melayari laman web tertentu. Antara senarai tersebut adalah penyemak imbas seperti Internet Explorer, Google Chrome, Lynx dan sebagainya.

Jenis sambungan internet boleh berupa Lan / Modem / Wifi. Lihat gambar di bawah untuk senarai lengkap:

Pada gambar seterusnya, anda akan menemui senarai negara dari mana laman web telah menarik penonton bersama dengan ID mereka.

Setelah mengumpulkan semua set data, kita harus melancarkan shell Pig's Grunt, yang dilancarkan untuk menjalankan perintah Babi.

Perkara pertama yang harus kita lakukan semasa melancarkan Grunt shell ialah memuatkan data Clickstream ke dalam hubungan Babi. Hubungan tidak lain hanyalah meja. Di bawah ini adalah perintah yang kami gunakan untuk memuatkan fail yang berada di HDFS ke hubungan Babi.

Kami dapat mengesahkan skema hubungan dengan arahan yang menerangkan click_stream.

Kita sekarang perlu menambahkan fail rujukan yang akan mengandungi perincian mengenai senarai negara dengan ID mereka dan jenis penyemak imbas yang berbeza dengan ID mereka.

Kami sekarang mempunyai dua fail rujukan, tetapi mereka perlu dihubungkan untuk membentuk hubungan.
Kami menjalankan perintah connection_ref untuk menunjukkan jenis sambungan.

Sekarang kita mempunyai hubungan yang berfungsi dan hubungan yang terjalin, kita akan menunjukkan kepada kita bagaimana kita dapat mengubah data tersebut.
Untuk setiap rekod di Clickstream, kami akan menghasilkan rekod baru dalam format yang berbeza, iaitu data yang diubah. Format baru akan merangkumi bidang seperti TimeStamp, jenis Penyemak Imbas, ID Negara dan beberapa lagi.

Kita boleh melakukan operasi Filter untuk mengurangkan Big Data. Jenis pengguna yang berbeza adalah Pentadbir, Tetamu atau Bot. Dalam demo kami, saya telah menyaring senarai untuk Tetamu.

Sekiranya anda ingat, ID Negara ada di Clickstream dan kami memuatkan file country_ref yang mengandungi nama-nama negara beserta IDnya. Oleh itu, kita dapat melakukan operasi Gabung antara kedua-dua fail dan menggabungkan data untuk mendapatkan pandangan.

Sekiranya kita telah bergabung dengan data, maka kita dapat mengetahui berbagai negara dari mana pengguna berada dalam Pengelompokan. Setelah kami mempunyai data ini, kami dapat melakukan operasi Count untuk mengenal pasti jumlah pengguna dari negara tertentu.

Bukan sains roket untuk memperoleh pandangan dari Big Data. Ini hanya beberapa dari banyak ciri yang telah saya laksanakan dan dengan alat seperti Hive, Hbase, Oozie, Sqoop dan Flume terdapat banyak data yang belum dapat diterokai. Jadi bagi anda yang menahan diri daripada belajar Hadoop, sudah tiba masanya untuk berubah.

menyusun susunan dalam program c ++

Ada soalan untuk kami? Sila sebutkan di bahagian komen dan kami akan menghubungi anda.

Catatan berkaitan:

4 Cara Menggunakan R dan Hadoop Bersama

Segala-galanya Mengenai Pembangun Bersertifikat Cloudera untuk Apache Hadoop