Tugas MapReduce Hadoop dengan Bigtable
Contoh ini menggunakan Hadoop untuk melakukan tugas MapReduce sederhana yang menghitung berapa kali suatu kata muncul 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.
Menginstal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.
Ringkasan contoh kode
Contoh kode menyediakan antarmuka command line sederhana yang mengambil 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
kunci-nilai, 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 kunci baris dalam file teks.