Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sistem big data berbasis Apache Hadoop seperti HDInsight memungkinkan pemrosesan data menggunakan berbagai alat dan teknologi. Tabel berikut menjelaskan keuntungan dan pertimbangan utama untuk masing-masing tabel.
Mekanisme kueri | Kelebihan | Pertimbangan |
---|---|---|
Apache Hive menggunakan HiveQL |
|
|
Apache Pig menggunakan Pig Latin |
|
|
MapReduce Kustom |
|
|
Apache HCatalog |
|
|
Biasanya, Anda menggunakan pendekatan paling sederhana ini yang dapat memberikan hasil yang Anda butuhkan. Misalnya, Anda mungkin dapat mencapai hasil tersebut dengan hanya menggunakan Hive, tetapi untuk skenario yang lebih kompleks Anda mungkin perlu menggunakan Pig, atau bahkan menulis komponen map dan reduce Anda sendiri. Anda juga dapat memutuskan, setelah bereksperimen dengan Hive atau Pig, bahwa komponen map dan reduce dapat memberikan kinerja yang lebih baik dengan memungkinkan Anda untuk menyempurnakan dan mengoptimalkan pemrosesan.
Komponen MapReduce kustom
Kode MapReduce terdiri dari dua fungsi terpisah yang diimplementasikan sebagai komponen peta dan pengurangan . Komponen map dijalankan secara paralel pada beberapa node kluster, setiap node menerapkan pemetaan ke subset data node sendiri. Komponen reduce menyusun dan meringkas hasil dari semua fungsi peta. Untuk informasi selengkapnya tentang kedua komponen ini, lihat Menggunakan MapReduce pada Hadoop di HDInsight.
Dalam sebagian besar skenario pemrosesan HDInsight, lebih sederhana dan lebih efisien untuk menggunakan abstraksi tingkat yang lebih tinggi seperti Pig atau Hive. Anda juga dapat membuat komponen 'map' dan 'reduce' khusus untuk digunakan dalam skrip Hive guna melakukan pemrosesan yang lebih canggih.
Komponen MapReduce kustom biasanya ditulis dalam Java. Hadoop menyediakan antarmuka streaming yang juga memungkinkan komponen untuk digunakan yang dikembangkan dalam bahasa lain seperti C#, F#, Visual Basic, Python, dan JavaScript.
- Untuk panduan tentang mengembangkan program Java MapReduce kustom, lihat Mengembangkan program Java MapReduce untuk Hadoop di HDInsight.
Pertimbangkan untuk membuat komponen pemetaan dan pengurangan untuk kondisi-kondisi berikut:
- Anda perlu memproses data yang benar-benar tidak terstruktur dengan memparsing data dan menggunakan logika kustom untuk mendapatkan informasi terstruktur darinya.
- Anda ingin melakukan tugas-tugas kompleks yang sulit (atau tidak mungkin) untuk diekspresikan melalui Pig atau Hive tanpa harus membuat UDF. Misalnya, Anda mungkin perlu menggunakan layanan geocoding eksternal untuk mengonversi koordinat lintang dan bujur atau alamat IP dalam data sumber ke nama lokasi geografis.
- Anda ingin menggunakan kembali kode .NET, Python, atau JavaScript yang ada di komponen MapReduce dengan menggunakan antarmuka streaming Hadoop.
Mengunggah dan menjalankan program MapReduce kustom Anda
Program MapReduce yang paling umum ditulis di Java dan dikompilasi ke file jar.
Setelah mengembangkan, menyusun, dan menguji program MapReduce, gunakan perintah
scp
untuk mengunggah file jar Anda ke headnode.scp mycustomprogram.jar sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Ganti CLUSTERNAME dengan nama kluster. Jika Anda menggunakan kata sandi untuk mengamankan akun SSH, Anda akan diminta untuk memasukkan kata sandi. Jika Anda menggunakan sertifikat, Anda mungkin perlu menggunakan parameter
-i
untuk menentukan file kunci pribadi.Gunakan perintah ssh untuk menyambungkan ke kluster Anda. Edit perintah di bawah ini dengan mengganti CLUSTERNAME dengan nama klaster Anda, lalu masukkan perintah:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Dari sesi SSH, jalankan program MapReduce Anda melalui YARN.
yarn jar mycustomprogram.jar mynamespace.myclass /example/data/sample.log /example/data/logoutput
Perintah ini mengirimkan tugas MapReduce ke YARN. File inputnya adalah
/example/data/sample.log
, dan direktori outputnya adalah/example/data/logoutput
. File input dan file output apa pun disimpan ke penyimpanan default untuk kluster.
Langkah berikutnya
- Gunakan C# dengan streaming MapReduce di Apache Hadoop di HDInsight
- Kembangkan program Java MapReduce untuk Apache Hadoop di HDInsight
- Gunakan Azure Toolkit for Eclipse untuk membuat aplikasi Apache Spark untuk kluster HDInsight
- Gunakan Python User Defined Functions (UDF) dengan Apache Hive dan Apache Pig di HDInsight