Tugas Hadoop MapReduce dengan Bigtable
Contoh ini menggunakan Hadoop untuk melakukan tugas MapReduce sederhana yang menghitung jumlah kemunculan suatu kata dalam file teks. Job MapReduce
menggunakan Bigtable untuk menyimpan hasil operasi peta. Kode untuk contoh ini ada di repositori GitHub GoogleCloudPlatform/cloud-bigtable-examples, di direktori java/dataproc-wordcount.
Menyiapkan autentikasi
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ringkasan contoh kode
Contoh kode ini menyediakan antarmuka command-line sederhana yang menggunakan satu atau beberapa
file teks dan nama tabel sebagai input, menemukan semua kata yang muncul dalam
file, dan menghitung berapa kali setiap kata muncul. Logika MapReduce muncul
di class WordCountHBase.
Pertama, mapper melakukan tokenisasi pada konten file teks dan menghasilkan pasangan
nilai kunci, dengan kunci adalah kata dari file teks dan nilai adalah 1:
Kemudian, pereduksi menjumlahkan nilai untuk setiap kunci dan menulis hasilnya ke tabel Bigtable yang Anda tentukan. Setiap kunci baris adalah kata dari file teks. Setiap baris berisi kolom cf:count, yang berisi jumlah kemunculan row key dalam file teks.