将 hadoop 流与 python 组合器一起使用时失败

2024-02-25

我尝试使用 python 的 hadoop 流来计算输入键的平均值。以下是mapper、combiner和reducer的代码:

#mapper:

import sys

def map(argv):
    line = sys.stdin.readline()
    try:
        while line:
            word, num = line.split()
            num = int(num)
            print word+'\t'+str(num)
            line = sys.stdin.readline()
    except Exception, ex:
        print 'mapper ex:'+str(ex)
        return None

if __name__ == "__main__":
    map(sys.argv)

#combiner
import sys

def combine(argv):
    line = sys.stdin.readline()
    cur_word = ''
    cur_num = 0
    cur_times = 0
    try:
        while line:
            word, num = line.split('\t')

            if word != cur_word:
                if cur_word != '':
                    print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)
                cur_word = word
                cur_num = 0
                cur_times = 0
            cur_num += int(num)
            cur_times += 1
            line = sys.stdin.readline()
        print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)

    except Exception, ex:
        print 'except:{0}'.format(ex)
        return None

if __name__ == "__main__":
    combine(sys.argv)


#reducer

import sys

def reduce(argv):
    line = sys.stdin.readline()
    cur_word = ''
    cur_num = 0
    cur_times = 0
    try:
        while line:
            word, num, times = line.split('\t')
            if word != cur_word:
                if cur_word != '':
                    if cur_times != 0:
                        avr = cur_num / cur_times
                        print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)+'\t'+str(avr)
                    else:
                        print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)+'\t'+'0'
                cur_word = word
                cur_num = 0
                cur_times = 0
            cur_num += int(num)
            cur_times += int(times)

            line = sys.stdin.readline()

        if cur_times != 0:
            avr = cur_num / cur_times
            print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)+'\t'+str(avr)
        else:
            print cur_word+'\t'+str(cur_num)+'\t'+str(cur_times)+'\t'+'0'

    except Exception, ex:
        print 'except:{0}'.format(ex)
        return None

if __name__ == "__main__":
    reduce(sys.argv)

这似乎是一个简单的映射-组合-归约过程,不是吗?但reduce每次都会失败。 但是,如果我不使用combiner,而是使用combiner.py作为reducer,它就可以工作。

有人会感激任何帮助吗,非常感谢。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 hadoop 流与 python 组合器一起使用时失败 的相关文章

  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 如何在Java中将一个双精度数按点分割成两个十进制数?

    尝试按点将双精度数分成两个小数部分 像这样 1 9变成1和9 0 16分为0和16 这就是我所做的 但似乎有点多余 最好的方法是什么 原始编号始终为 Just 0 x 或 1 x 或 0 xx 或 1 xx 且 xx gt 10 doubl
  • 从 KeyMembers 中获取身份字段

    我想得到KeyMembers我在 Edmx 中设置的位置StoreGeneratedPattern to Identity有没有办法做到这一点 我可以使用以下代码获取 KeyMembers private static IEnumerabl
  • Flink 中的水印和触发器有什么区别?

    我读到 排序运算符必须缓冲它接收到的所有元素 然后 当它接收到水印时 它可以对时间戳低于水印的所有元素进行排序 并按排序顺序发出它们 这是正确 因为水印表明不能有更多元素到达并与已排序元素混合 https cwiki apache org
  • 在 Ansible 中使用 BuildKit 进行 docker 构建

    我正在使用这个 Ansible 模块community docker docker image构建 docker 镜像 我想用 secret标志 因此我需要启用 BuildKit 我确实编辑了 etc docker daemon json文
  • 使用 Python 从 Javascript 中提取文本

    我一直在查看如何执行此操作的示例 但不太明白 我正在使用 beautifulsoup 来抓取一些数据 我可以使用它来查找我想要的数据 但它包含在以下代码块中 我正在尝试从中提取时间戳信息 我有一种感觉正则表达式在这里工作 但我似乎无法弄清楚
  • 添加 ec2 实例时使用现有的 vpc 和安全组

    有很多示例代码 但是快速改进的 cdk 包并不能帮助我找到一些 我认为 简单事物的工作示例 例如 即使我在示例中发现的导入也会失败 import VpcNetworkRef from aws cdk aws ec2 error TS2724
  • 在运行时将 char[x] 大小调整为 char[y]

    好吧 我希望我能正确解释这一点 我有一个结构 typedef struct MyData char Data 256 int Index MyData 现在 我遇到了一个问题 大多数时候MyData Data256 就可以了 但在某些情况下
  • JavaFX - 如何在 fxml 控制器初始化期间设置值

    我尝试加载 FXML 并使用 Java 代码 而不是使用 FXML 标签 设置控制器 我在 FXML 中有不同的字段 我尝试加载 例如文本字段 按钮 这是示例 Tab tab new Tab tab setText TesetTabAdd
  • Twitter bootstrap 3 Modal 带淘汰赛

    我正在尝试将 twitter bootstrap 模式与淘汰赛完全绑定 通过完全绑定 我的意思是我希望与模式对话框的每一次密切交互都能与淘汰赛一起使用 我见过一些问题 https stackoverflow com q 18370489 1
  • 通过基准测试中的注释加载应用程序上下文

    假设我想写一个benchmark对于该类可以是autowired因此我需要加载application context 我的测试有注释 org openjdk jmh annotations State Scope Benchmark 和主要
  • 通过服务进行 ASP.NET 成员身份验证

    客观的 我想创建一个 Web 服务 允许我连接到它 通过 ASP NET Web 应用程序 然后像成员资格提供者 角色提供者那样对用户进行身份验证 我不想通过在 ASP NET Web 应用程序的 Web config 中进行配置来使用成员
  • 如何找到 SVN 存储库目录?

    我知道网址在哪里 localhost svn BodyMap 是 但我不知道它在我的 Windows 7 设置中的哪个文件夹中 如果有帮助的话 它应该是一个标准的 SVN 设置 我不记得用它做过任何 聪明 的事情 我想我的意思是 我有代码
  • 声明整数与计算查询中的 T-SQL 查询给出不同的结果

    所以我一直在查询中尝试一些 SQL 随机数生成 并且我注意到一些奇怪的事情 假设我运行以下查询 declare Random int CAST RAND CHECKSUM NEWID 5 as INT 1 select CHOOSE Ran
  • Geoserver - 获取栅格/wms 图层多个点/位置或边界框的FeatureInfo

    我在用Geoserver 2 8 1版本 我有netcdf and grib文件 我正在将它们上传到Geoserver通过Geoserver extensions 之后 我使用这些数据在地图中显示图层要素信息 根据缩放比例和图像大小 我在地
  • 如何使用流将对象列表转换为另一个列表对象?

    下面的代码片段是在没有 lambda 表达式的情况下实现的 如何使用 lambda 表达式实现相同的功能 public class Java8EmpTest public static void main String args TODO
  • 使用标识符/标签 (SWIFT) 从 UIView 获取 UITextField

    我需要知道如何从 ViewController 类访问 UIView 中的特定 UITextField 我当前的设置是 ViewController 链接到故事板中的视图 我的笔尖中有 UIView 有 3 个 UITextField 我使
  • 登录后重定向至引荐来源网址不起作用

    用户登录后 我想将他们重定向回他们来自的地方 但它在 CakePHP 3 5 中无法正常工作 以下是帮助我解决这个问题所需的信息 登录时的 URL 会话超时 http dev scys com db admin redirect 2Fadm
  • 如何知道 Chrome 是通过哪些 CLI 开关启动的?

    我问过一个问题 https stackoverflow com q 40032182 2715716之前我在使用 CLI 开关影响 Chrome 的安全模型时遇到了问题 这个问题得到了一个很好且有用的答案 但它对我不起作用 我现在无法确定问
  • webdriver.io:查找 iframe 中的元素

    我正在尝试访问网页上 iframe 内的元素 目标是切换到此 iframe 上下文 然后单击此 iframe 中的元素 这些元素在 iframe 之外不可见 但当我切换到此 iframe 时 我仍然看不到这些元素 使用浏览器中的开发人员工具
  • 将 hadoop 流与 python 组合器一起使用时失败

    我尝试使用 python 的 hadoop 流来计算输入键的平均值 以下是mapper combiner和reducer的代码 mapper import sys def map argv line sys stdin readline t