使用 Bigtable 执行 Hadoop MapReduce 作业
此示例使用 Hadoop 执行简单的 MapReduce 作业,该作业用于统计某一单词在文本文件中出现的次数。MapReduce 作业使用 Bigtable 来存储映射操作的结果。该示例的代码位于 GitHub 代码库 GoogleCloudPlatform/cloud-bigtable-examples 的 java/dataproc-wordcount
目录中。
设置身份验证
如需从本地开发环境使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用用户凭据设置应用默认凭据。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
为您的 Google 账号创建本地身份验证凭据:
gcloud auth application-default login
如需了解详情,请参阅 为本地开发环境设置身份验证。
代码示例概览
代码示例提供了一个简单的命令行界面,该界面使用一个或多个文本文件和一个表名作为输入,查找文件中出现的所有单词,并统计每个单词出现的次数。MapReduce 逻辑显示在 WordCountHBase
类中。
首先,映射器将文本文件的内容令牌化并生成键值对,其中键为文本文件中的一个单词,值为 1
:
然后,缩减器对每个键的值进行求和,并将所得结果写入您指定的 Bigtable 表中。每个行键对应文本文件中的一个字词。每行都有一个 cf:count
列,其中包含该行键在文本文件中出现的次数。