当前位置: 首页 > 知识库问答 >
问题:

使用python模块的hadoop流

戎桐
2023-03-14

我在stackoverflow上看到过一种使用zip文件存储引用的python模块来执行hadoop流作业的技术。

在执行作业的映射阶段,我遇到了一些错误。我相当确定它与zip'd模块加载有关。

为了调试脚本,我使用命令行管道通过sys.stdin/sys.stdout运行我的数据集,进入我的映射器和缩减器,如下所示:

输入数据文件的头。txt|./映射器。py |排序-k1,1|./reducer.py

结果看起来很棒。

但是,当我通过hadoop运行它时,我开始遇到一些问题。即:映射器和减速器失败,整个hadoop作业完全失败。

我的 zip'd 模块文件包含 *.pyc 文件 - 这会影响这件事吗?

另外,我在哪里可以找到使用hadoop流在映射/还原过程中生成的错误?

我使用了-file命令行参数来告诉hadoop zip'd模块的位置以及我的映射器和减速器脚本的位置。

我没有做任何疯狂的配置选项来增加工作中使用的映射器和减速器的数量。

任何帮助将不胜感激!谢谢!

共有1个答案

郎和通
2023-03-14

在查看sent_tokenize的源代码后,看起来nltk.sent_tokenize,nltk.tokenize.sent_tokenize方法/函数依赖于泡菜文件(用于进行pickt标记化的文件)来操作。

由于这是Hadoop流式传输,因此您必须弄清楚将泡菜文件放入添加到hadoop作业的jar中的zip'd代码模块的位置/方式。

底线?我建议使用RegexpTokenizer类来进行句子和单词级别的标记化。

 类似资料:
  • 本文向大家介绍python xlsxwriter模块的使用,包括了python xlsxwriter模块的使用的使用技巧和注意事项,需要的朋友参考一下   1.workbook类 add_worksheet   用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如: add_format   用于在工作表中创建一个新的格式对象来格式化单元格 add_chart   用于

  • 本文向大家介绍python os模块和fnmatch模块的使用介绍,包括了python os模块和fnmatch模块的使用介绍的使用技巧和注意事项,需要的朋友参考一下 一、先介绍一下os模块 1、拆分路径的方法介绍 2、构建文件路径的方法介绍 3、获取文件属性的方法介绍 4、判断文件的类型 5、文件和目录操作 6、修改文件属性和判断文件属性 7、遍历目录树 二、fnmatch模块介绍 1、fnma

  • 本文向大家介绍Python hashlib模块的使用示例,包括了Python hashlib模块的使用示例的使用技巧和注意事项,需要的朋友参考一下 一.hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 :SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。 1.使用hashlib模块进行MD5加密。 注:hashlib.md5():创

  • 本文向大家介绍Python timeit模块的使用实践,包括了Python timeit模块的使用实践的使用技巧和注意事项,需要的朋友参考一下 Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。 timeit 模块是 Python 标准库中的模块,无需安装,直接导入就可以使用。导入时直接 import timeit ,可以使用

  • 问题内容: 我了解做什么的概念,但是不确定如何在代码中实现。 我怎样才能比较两个功能,比方说和,用? 问题答案: timeit的工作方式是运行一次安装代码,然后重复调用一系列语句。因此,如果要测试排序,则需要格外小心,以免就地进行一次排序不会影响已排序数据的下一遍(当然,这会使Timsort真正发光,因为它执行效果最佳当数据已经部分排序时)。 这是有关如何设置排序测试的示例: 请注意,这一系列语句

  • 我正在尝试安装一个名为Scrapy的模块。我是用电脑安装的 我在my/usr/local/lib/python2中看到了“scrapy”文件夹。7/site包,但当我尝试在Python程序中导入它时,它说没有这个名称的模块。你知道为什么会这样吗? 编辑:以下是pip命令的输出: 当我运行 /usr/local/bin/scrapy我得到命令和可用命令的用法。我注意到我的 /usr/local/bi