- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近,我想解析网站,然后使用BeautifulSoup过滤我想要的内容并写入hdfs中的csv文件中。
现在,我正在使用 BeautifulSoup 过滤网站代码。
我想使用mapreduce方法来执行它:
hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.3.0-mr1-cdh5.0.2.jar
-mapper /pytemp/filter.py
-input /user/root/py/input/
-output /user/root/py/output40/
输入文件类似于 kvs(PER LINE): (key, value) = (url, content)
内容,我的意思是:
<html><head><title>...</title></head><body>...</body></html>
filter.py文件:
#!/usr/bin/env python
#!/usr/bin/python
#coding:utf-8
from bs4 import BeautifulSoup
import sys
for line in sys.stdin:
line = line.strip()
key, content = line.split(",")
#if the following two lines do not exist, the program will execute successfully
soup = BeautifulSoup(content)
output = soup.find()
print("Start-----------------")
print("End------------------")
顺便说一句,我认为我不需要 reduce.py 来完成我的工作。
但是,我收到错误消息:
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1
at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:320)
at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:533)
at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:130)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:34)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
这里有回复说是内存问题,但我的输入文件只有 3MB。 http://grokbase.com/t/gg/rhadoop/13924fs4as/972-getting-error-pipemapred-waitoutputthreads-while-running-mapreduce-program-for-40mb-of-sizedataset
我不知道我的问题。我搜索了很多东西但仍然不起作用。
我的环境是:
非常感谢您在这种情况下提供的帮助。
编辑于2016年6月24日
首先,我检查了错误日志,发现问题是要解压的值太多。 (也感谢@kynan的回答)
举个例子说明为什么会发生
<font color="#0000FF">
SomeText1
<font color="#0000FF">
SomeText2
</font>
</font>
如果内容的一部分如上面所示,我调用 soup.find("font", color="#0000FF") 并分配给输出。它将导致两种字体分配给一个输出,因此这就是为什么错误解包太多值
解决方案
只需将 output = soup.find()
更改为 (Var1, Var2, ...) = soup.find_all("font", color="#0000FF", limit= AmountOfVar)
并且工作良好:)
最佳答案
此错误通常意味着映射器进程已终止。要找出原因,请检查 $HADOOP_PREFIX/logs/userlogs
中的用户登录:每个作业有一个目录,每个容器有一个目录。每个容器目录中都有一个文件 stderr
,其中包含发送到 stderr 的输出,即错误消息。
关于mapreduce - python - PipeMapRed.waitOutputThreads() : subprocess failed with code 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25135890/
我有一个R脚本,可以在R Colsole中很好地工作,但是当我在Hadoop流中运行时,它在Map阶段失败并出现以下错误。 我有Hadoop Streaming命令: /home/Bibhu/hado
我正在尝试在自己的Hadoop cluser上运行它。我使用以下命令运行该作业。 hadoop jar hadoop-streaming-3.1.0.jar -mapper mapper.py -re
当我运行 hadoop 时,我得到了很多信息按摩。所以我要删除无用的,比如INFO streaming.PipeMapRed、INFO mapred.MapTask等。并保留最重要的——INFO ma
最近,我想解析网站,然后使用BeautifulSoup过滤我想要的内容并写入hdfs中的csv文件中。 现在,我正在使用 BeautifulSoup 过滤网站代码。 我想使用mapreduce方法来执
我在hadoop流中运行简单的python代码时遇到问题。 我尝试了以前的帖子中的所有建议,但都遇到了类似的错误,但仍然有问题。 添加了usr / bin / env python chmod a +
我正在尝试在 Hadoop 环境中执行 NLTK。以下是我用于执行的命令。 bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming
嘿,我是大数据世界的新手。我遇到了这个教程 http://musicmachinery.com/2011/09/04/how-to-process-a-million-songs-in-20-minu
我正在尝试运行一个简单的mapreduce代码,仅使用mapper.py进行读取,获取mapper.py的输出,并通过reducer.py进行读取。这段代码在本地计算机上有效,但是当我在aws-emr
出于某些调试目的,我正在现有的工作 R 脚本中添加打印语句。 print("Hello") 我在使用 Hadoop 流式处理执行此代码时收到 Broken pipe 异常。如果我再次删除此打印件,它会
我在 Hadoop 上使用 Python mrjob 库时遇到问题。 我搜索了这个错误,但我不知道解决方案。 我做了 chmod +x pythonFile, 插入.py文件的顶部 #!/usr/bi
我是一名优秀的程序员,十分优秀!