Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么PySpark任务花费了太多时间?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在运行一个Pyspark进程,它可以正常工作。该过程的第一步是将特定的UDF应用于数据帧。这就是功能:</p> <pre><code>import html2text class Udfs(object): def __init__(self): self.h2t = html2text.HTML2Text() self.h2t.ignore_links = True self.h2t.ignore_images = True def extract_text(self, raw_text): try: texto = self.h2t.handle(raw_text) except: texto = "PARSE HTML ERROR" return texto </code></pre> <p>以下是我如何应用UDF:</p> <pre><code>import pyspark.sql.functions as f import pyspark.sql.types as t from udfs import Udfs udfs = Udfs() extract_text_udf = f.udf(udfs.extract_text, t.StringType()) df = df.withColumn("texto", extract_text_udf("html_raw")) </code></pre> <p>它处理大约2900万行和300GB。问题是有些任务需要花费太多的时间来处理。任务的平均时间为:</p> <p><a href="https://i.stack.imgur.com/pkuRF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/pkuRF.png" alt="average times"/></a></p> <p>其他任务已完成,持续时间超过1小时</p> <p>但有些任务需要花费太多时间处理:</p> <p><a href="https://i.stack.imgur.com/Gl089.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Gl089.png" alt="task time"/></a></p> <p>该进程在AWS中运行,具有100个节点的集群中的EMR,每个节点具有32gb的RAM和4个CPU。此外,还启用了火花投机</p> <p>这些任务的问题在哪里? 这是UDF的问题吗? 这是一个线程问题</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我在第一个数据帧中使用了<em>repartitionByRange</em>找到了解决方案。使用正确的id和分区数进行Usign,可以平衡每个分区中的行数</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
7 回答
文本小部件:在没有输入时更新并在循环后保持空闲
4 回答
文本小部件tkin
9 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
3 回答
文本小部件tkinter复制图像选项
5 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
9 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
3 回答
文本小部件不显示lis中的内容
4 回答
文本小部件不显示Unicode字符
8 回答
文本小部件中写入的行间距
2 回答
文本小部件中的文本作为变量
2 回答
文本小部件中的滚动条仅显示在底部
2 回答
文本小部件中的选项卡键空间计数
10 回答
文本小部件作为Lis
7 回答
文本小部件在主框架中扩展列宽
3 回答
文本小部件未使用删除功能清除
9 回答
文本小部件滚动动画(Tkinter、Python)
10 回答
文本居中。格式正确吗?
9 回答
文本差分算法
2 回答
文本已知时音频文件中的单词索引
1 回答