gpt4 book ai didi

python - 如何解决: Very large size tasks in spark

转载 作者:太空狗 更新时间:2023-10-30 01:27:40 25 4
gpt4 key购买 nike

我在这里粘贴我在 spark 上运行的 python 代码,以便对数据执行一些分析。我能够在少量数据集上运行以下程序。但是当出现大数据集时,它说“第 1 阶段包含一个非常大的任务(17693 KB)。建议的最大任务大小为 100 KB”。

import os
import sys
import unicodedata
from operator import add

try:
from pyspark import SparkConf
from pyspark import SparkContext
except ImportError as e:
print ("Error importing Spark Modules", e)
sys.exit(1)

def tokenize(text):
resultDict = {}
text = unicodedata.normalize('NFKD', text).encode('ascii','ignore')

str1= text[1]
str2= text[0]

arrText= text.split(str1)

ss1 = arrText[0].split("/")

docID = ss1[0].strip()

docName = ss[1].strip()

resultDict[docID+"_"+docName] = 1

return resultDict.iteritems()

sc=SparkContext('local')
textfile = sc.textFile("path to my data")
fileContent = textfile.flatMap(tokenize)
rdd = sc.parallelize(fileContent.collect())
rdd= rdd.map(lambda x: (x[0], x[1])).reduceByKey(add)
print rdd.collect()
#reduceByKey(lambda a,b: a+b)
rdd.coalesce(1).saveAsTextFile("path to result")

我在此发布更多警告:此后作业不再运行。谁能帮我解决这个问题。

16/06/10 19:19:58 WARN TaskSetManager: Stage 1 contains a task of very large size (17693 KB). The maximum recommended task size is 100 KB.
16/06/10 19:19:58 INFO TaskSetManager: Starting task 0.0 in stage 1.0 (TID 5314, localhost, partition 0,PROCESS_LOCAL, 18118332 bytes)
16/06/10 19:19:58 INFO Executor: Running task 0.0 in stage 1.0 (TID 5314)
16/06/10 19:43:00 INFO BlockManagerInfo: Removed broadcast_1_piece0 on localhost:43480 in memory (size: 3.9 KB, free: 511.1 MB)
16/06/10 19:43:00 INFO ContextCleaner: Cleaned accumulator 2

最佳答案

当 Spark 序列化任务时,它会递归地序列化完整的闭包上下文。在这种情况下,罪魁祸首似乎是您在 tokenize 中使用的 unicodedata。我可能是错的,但我没有在代码中看到任何其他繁重的数据结构。 (注意,我通常将 Spark 与 Scala 一起使用,而我的 Python 生锈了。)我想知道该库是否由执行节点上不可用的大量数据结构支持。

处理这类问题的典型模式是:

  1. 确保所有库在执行节点上可用。

  2. 使用广播变量将繁重的数据结构分发给执行器。

不相关,除非您将其用作调试工具,否则您将使用 collect 将所有数据收集回驱动程序,这些操作不必要。可以链接转换:

sc.textFile(...).flatMap(...).map(...).reduceByKey(add).coalesce(1).saveAsTextFile(...)

关于python - 如何解决: Very large size tasks in spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37759385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com