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

将样板管与pyspark一起使用

张星洲
2023-03-14

我正在使用boilerpipe从html中获取文本。然而,有一些问题我还没有解决。我有一个50k元素的列表。我正在创建一个包含1000个元素的rdd,然后对它们进行处理,并将结果rdd保存在hdfs中。我遇到的错误是:

ERROR:root:Exception while sending command.
Traceback (most recent call last):
  File "/home/hadoopuser/spark/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 883, in send_command
    response = connection.send_command(command)
  File "/home/hadoopuser/spark/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1040, in send_command
    "Error while receiving", e, proto.ERROR_ON_RECEIVE)
Py4JNetworkError: Error while receiving
Traceback (most recent call last):
  File "/home/hadoopuser/CommonCrawl_Spark/CommonCrawl_Spark/all.py", line 265, in <module>
    x = get_data(line[:-1],c)
  File "/home/hadoopuser/CommonCrawl_Spark/CommonCrawl_Spark/all.py", line 208, in get_data
    sc.parallelize(warcrecords).repartition(72).map(lambda s: classify(s)).saveAsTextFile(file_name)
  File "/home/hadoopuser/spark/python/lib/pyspark.zip/pyspark/rdd.py", line 1552, in saveAsTextFile
  File "/home/hadoopuser/spark/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1133, in __call__
  File "/home/hadoopuser/spark/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py", line 327, in get_return_value
py4j.protocol.Py4JError: An error occurred while calling o40.saveAsTextFile
17/09/19 18:11:10 INFO SparkContext: Invoking stop() from shutdown hook
17/09/19 18:11:10 INFO SparkUI: Stopped Spark web UI at http://192.168.0.255:4040
17/09/19 18:11:10 INFO DAGScheduler: Job 0 failed: saveAsTextFile at NativeMethodAccessorImpl.java:0, took 14.746797 s
17/09/19 18:11:10 INFO DAGScheduler: ResultStage 1 (saveAsTextFile at NativeMethodAccessorImpl.java:0) failed in 7.906 s due to Stage cancelled because SparkContext was shut down
17/09/19 18:11:10 ERROR LiveListenerBus: SparkListenerBus has already stopped! Dropping event SparkListenerStageCompleted(org.apache.spark.scheduler.StageInfo@ec3ca3)
17/09/19 18:11:10 ERROR LiveListenerBus: SparkListenerBus has already stopped! Dropping event SparkListenerJobEnd(0,1505824870317,JobFailed(org.apache.spark.SparkException: Job 0 cancelled because SparkContext was shut down))
17/09/19 18:11:10 INFO StandaloneSchedulerBackend: Shutting down all executors
17/09/19 18:11:10 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asking each executor to shut down
17/09/19 18:11:10 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
17/09/19 18:11:10 INFO MemoryStore: MemoryStore cleared
17/09/19 18:11:10 INFO BlockManager: BlockManager stopped
17/09/19 18:11:10 INFO BlockManagerMaster: BlockManagerMaster stopped
17/09/19 18:11:10 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
17/09/19 18:11:10 INFO SparkContext: Successfully stopped SparkContext
17/09/19 18:11:10 INFO ShutdownHookManager: Shutdown hook called
17/09/19 18:11:10 INFO ShutdownHookManager: Deleting directory /tmp/spark-35ea0cd4-4b78-408b-8c3a-9966c1f84763/pyspark-b73e541b-1182-4449-96bc-26eabca1803d
17/09/19 18:11:10 INFO ShutdownHookManager: Deleting directory /tmp/spark-35ea0cd4-4b78-408b-8c3a-9966c1f84763

在hdfs文件中,前1000个元素的结果被保存,但继续下去会抛出上述错误。这个问题有什么解决办法?

共有1个答案

穆俊哲
2023-03-14

代码中删除这一行成功了。仍然不知道为什么。

from boilerpipe.extract import Extractor
 类似资料:
  • 我不确定下面是使用Jdbc模板和DataSourceUtils在连接池环境中管理db连接的正确方法。getConnection。 我所做的: > <代码> 在DAOImpl中,在该方法中,我们必须使用自定义SQL数据类型调用存储过程。因此,我们需要获取相同的连接对象。我们得到的连接如下: <代码>此。连接=DataSourceUtils。getConnection(jdbcTemplate.get

  • Boilerpipe是一个基本上从网页中提取主要内容的库。对于新闻网站来说,提取内容尤其困难,因为不同网站的格式不同。所以我试着整合样板管库-https://code.google.com/p/boilerpipe/wiki/QuickStart 根据安装指南,我已经将以下内容添加到我的Java类路径-boilerpipe版本中。jar,nekohtml-1.9.13。jar和xerces-2.9

  • 关于Jenkins管道和Groovy方法,我这里有两个问题。首先,我有多个共享公共方法的构建,所以我认为最好将所有这些都放在一个类中,然后为每个构建导入文件。 Groovy脚本中的一段代码如下所示 在我的管道脚本中,我有 我遇到的第一个问题是如何在我的方法中使用,其次,当我收到错误时,如何在我的脚本中使用 哈德逊。远程处理。ProxyException:groovy。lang.MissingMet

  • 问题内容: 我有一个Flask网站,并且想使用AngularJS JavaScript框架。不幸的是,似乎分隔符重叠。 如果两个都依赖于双花括号(),如何将Angular与Jinja2配合使用?可能吗 问题答案: 您有一些选择。 1)更改Angular的定界符表示法: 无论选择什么作为开始和结束符号,都将充当新的分隔符。在这种情况下,您可以使用将变量表示为Angular 。 这种方法的优点是只需要

  • 问题内容: 因此,我一直在为这个(应该是)简单的练习而绞尽脑汁,以使该程序将日期字符串转换为对象,对其进行格式化,并在完成后将其作为字符串再次返回。 这是程序的最后一点,它从文件中获取一小段文本,将其分解为单独的记录,然后将记录分解为单独的数据并将它们分配给个人对象。 我已经在多个位置检查了该代码,并且该代码完全执行了应该执行的操作,直到调用了format函数(该函数抛出)为止。为对象分配了应该分

  • 问题内容: 我想在目录中获取具有特定扩展名的文件列表。在中,我看到了可以做到这一点的方法。 由于我需要特定的扩展名,因此我创建了一个。但是,当我与此一起使用时,出现编译错误。我以为自以来,我应该能够做到这一点。代码如下: 最后一行显示编译错误: 类型的方法不适用于类型的参数 我正在尝试使用,不是。为何编译器无法识别这一点? 如果我编写自己的扩展筛选器,则此方法有效。我宁愿使用而不愿自己写。我究竟做