Hadoop WordCount 程序实现与执行指南

Hadoop WordCount 程序实现与执行指南

下面是使用Python实现的Hadoop WordCount程序,包含完整的Mapper和Reducer部分。
这个程序可以在PyCharm中本地测试,也可以部署到远程Hadoop集群上运行。

mapper.py

import sys

# 从标准输入读取数据
for line in sys.stdin:
  # 移除行首行尾的空白字符
  line = line.strip()
  # 将行分割为单词
  words = line.split()
  # 输出每个单词及其计数(1)
  for word in words:
    print(f"{
     word}\t1")

reducer.py

import sys

# 初始化字典,用于存储每个单词及其对应的计数列表
word_dict = {
   }

# 从标准输入读取数据(Hadoop 会将 Mapper 的输出通过管道传递到这里)
for line in sys.stdin:
  # 移除行首行尾的空白字符(如换行符、空格等)
  line = line.strip()

  # 解析输入行,按制表符(\t)分割为单词和计数两部分
  try:
    word, count = line.split('\t', 1)
    # 将计数转换为整数类型
    count = int(count)
  except ValueError:
    # 若格式不正确(如分割后元素不足、无法转换为整数),则跳过当前行
    continue

  # 统计每个单词出现的次数:
  # 如果单词不在字典中,初始化其值为包含当前计数的列表
  if word not in word_dict:
    word_dict[word] 

你可能感兴趣的:(Hadoop WordCount 程序实现与执行指南)