Spark任务仅在一个执行器上运行

2024-04-20

大家好,首先我知道这个线程的存在,Spark 中的任务仅在一个执行器上运行 https://stackoverflow.com/questions/53425983/task-is-running-on-only-one-executor-in-spark.
但这不是我的情况,因为我正在使用repartition(n)在我的数据框上。
基本上,我通过 Spark 从 ElasticSearch 索引中获取数据来加载 DataFrame,如下所示:

spark = SparkSession.builder \
    .appName("elastic") \
    .master("yarn")\
    .config('spark.submit.deployMode','client')\
    .config("spark.jars",pathElkJar) \
    .enableHiveSupport() \
    .getOrCreate()

es_reader = (spark.read
        .format("org.elasticsearch.spark.sql")
        .option("es.read.field.include",includeFieldsString)
        .option("es.query",q)
        .option("es.nodes",elasticClusterIP)
        .option("es.port",port)
        .option("es.resource",indexNameTable)
        .option("es.nodes.wan.only" , 'true')
        .option("es.net.ssl", 'true')
        .option("es.net.ssl.cert.allow.self.signed", "true")
        .option("es.net.http.auth.user" ,elkUser )
        .option("es.net.http.auth.pass" , elkPassword)
        .option("es.read.metadata", "false")
        .option("es.read.field.as.array.include","system_auth_hostname")
        #.option("es.mapping.exclude", "index")
        #.option("es.mapping.id", "_id")
        #.option("es.read.metadata._id","_id")
        #.option("delimiter", ",")
        #.option("inferSchema","true")
        #.option("first_row_is_header","true")
        )

df = es_reader.load()

默认情况下,YARN 正确地向我的应用程序添加了 2 个执行程序,因为我没有指定其他内容。从 ElasticSearch 加载数据时,DF 未分区,因此我运行以下命令来检查执行器行为:

df = df.repartition(2)
print('Number of partitions: {}'.format(df.rdd.getNumPartitions()))
>> Number of partitions: 2
df.count()

我期望从 Spark UI 中看到两个执行器都在处理count()任务,但是我得到了一个奇怪的行为,我完成了三个任务,没有重新分区,它是一个操作的两个任务,其中第一个任务和较长的任务仅由一个执行程序运行,如下图所示:Count()-两个Executor-两个分区 https://i.stack.imgur.com/RGeis.png.

如果我从已经分区为两个的配置单元表中保存和加载(操作系统:linux/windows),事情就会按预期进行:

df.write.mode('overwrite').format("parquet").partitionBy('OS').saveAsTable('test_executors')
df2 = spark.read.load("path")
df2.count()

在这种情况下,我得到以下信息:Count()-twoExecutor-twoPartitions_loadFromHiveTable https://i.stack.imgur.com/S3SRy.png

我在哪里得到两个执行者同时工作的期望行为count() task.
问题似乎出在repartition(n)我认为正确地分区了 DF,我检查过df.rdd.getNumPartitions() but doesn't执行者之间的并行工作。
如果有必要,我可以提供附图中任务的详细信息。提前致谢!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark任务仅在一个执行器上运行 的相关文章

  • 防止脚本目录被添加到Python 3中的sys.path

    有没有办法阻止脚本的目录被添加到python3中的sys path 由于导入在 python 中是相对的 因此我遇到了导入冲突 我正在处理的一个遗留项目有一个名为logger py在与内置冲突的脚本的根目录中logger 我使用的自定义构建
  • AttributeError:模块“pandas”没有属性“read_csv”Python3.5

    我已经成功使用pandas read csv很久以来 当我尝试读取 csv 文件时 突然开始出现错误 df pd read csv file csv encoding utf 8 错误是 AttributeError module pand
  • 在 pandas 数据框中按列应用 Seaborn 热图

    我试图在枢轴熊猫数据帧上使用seaborn的热图 就像在超链接中一样有效 df pd DataFrame np random randint 1 100 size 3 2 df columns A B df sns heatmap df a
  • Python:按条件绘制多个正/负条形图

    这是我第一次用 python 绘制条形图 我的 df 操作 key descript score 0 noodles taste 5 1 noodles color 2 2 noodles health 3 3 apple color 7
  • 具有相同内容的拆分列表

    例如我有以下列表 contents i have two pens prices 5 made in and 我想将它们分开 使其具有与以下内容相同的内容 array 0 i have two pens array 1 prices 5 a
  • PyQt:如何设置组合框项目可检查?

    为了将 GUI 小部件数量保持在最低限度 我需要找到一种方法来为用户提供下拉菜单项的选择 这些菜单项可用于过滤掉 listWidget 项中显示的内容 假设 listWidget 列出了 5 个不同类别的项目 Cat A Cat B Cat
  • Spark SQL 失败,因为“常量池已超过 JVM 限制 0xFFFF”

    我在 EMR 4 6 0 Spark 1 6 1 上运行此代码 val sqlContext SQLContext getOrCreate sc val inputRDD sqlContext read json input try inp
  • 如何从分组数据创建直方图

    我正在尝试根据 pandas 中的分组数据创建直方图 到目前为止 我已经能够创建标准线图 但我不知道如何做同样的事情来获取直方图 条形图 我想获得泰坦尼克号事故中幸存者和未幸存者的 2 个年龄直方图 看看年龄分布是否存在差异 来源数据 ht
  • 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

    我正在构建一个简单的解析器 它接受如下查询 显示 fizi 从 2010 年 1 月 1 日到 2006 年 2 月 11 日的提交 到目前为止我有 class QueryParser object def parser self stmn
  • 在 Python 中进行模糊键查找的最佳方法?

    我遇到一个问题 我需要在哈希映射中进行模糊查找 即返回与最接近查询的键相对应的值 在我的例子中是通过 Levenshtein 距离测量的 我目前的方法是子类化dict使用特殊的查找方法计算所有键的编辑距离 然后返回得分最低的键的值 基本上是
  • Pandas:将 DataFrame 列值转换为新的 Dataframe 索引和列

    我有一个如下所示的数据框 a b c 0 1 10 1 2 10 2 2 20 3 3 30 4 1 40 4 3 10 上面的数据帧作为默认索引 0 1 2 3 4 我想将其转换为如下所示的数据框 1 2 3 0 10 0 0 1 0 1
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • Python range() 和 zip() 对象类型

    我了解功能如何range and zip 可以在 for 循环中使用 然而我期望range 输出一个列表 很像seq在 Unix shell 中 如果我运行以下代码 a range 10 print a 输出是range 10 表明它不是一
  • Elasticsearch - 使用“标签”索引来发现给定字符串中的所有标签

    我有一个 elasticsearch v2 x 集群 其 标签 索引包含大约 5000 个标签 tagName tagID 给定一个字符串 是否可以查询标签索引以获取在该字符串中找到的所有标签 我不仅想要精确匹配 而且还希望能够控制模糊匹配
  • Unpivot Pandas 数据

    我目前有一个DataFrame布置为 Jan Feb Mar Apr 2001 1 12 12 19 2002 9 2003 我想将数据 逆透视 使其看起来像 Date Value Jan 2001 1 Feb 2001 1 Mar 200
  • 如何检索 SQLAlchemy 结果集的 python 列表? [复制]

    这个问题在这里已经有答案了 我有以下查询来检索单列数据 routes query select schema stop times c route number schema stop times c stop id stop id dis
  • 从多个大型 NetCDF 文件中提取数据的快速/高效方法

    我只需要从全局网格中提取特定节点集的数据 由纬度 经度坐标 按 5000 10000 的顺序 给出 这些数据是水力参数的时间序列 例如波高 全局数据集很大 因此分为许多 NetCDF 文件 每个 NetCDF 文件大小约为 5GB 包含整个
  • 在 Spark MLlib 上使用 Java 中的 Breeze

    在尝试从Java使用MLlib时 使用微风矩阵运算的正确方法是什么 例如scala 中的乘法很简单 matrix vector 相应的功能在Java中是如何表达的 有一些方法 例如 colon times 可以通过正确的方式调用 breez
  • 类型提示:解决循环依赖

    以下产生NameError name Client is not defined 我该如何解决 class Server def register client self client Client pass class Client de
  • Django:单击按钮加载另一个模板

    我已经在 django 项目上工作了几个星期 只是玩玩以便掌握它的窍门 我有点困惑 我现在有一个名为 home html 的模板 我想知道是否可以将另一个名为 profile html 的模板设置为 home html 模板上的链接 我有一

随机推荐

  • 如何注册新的payum支付方式并添加操作?

    我创建了一个 payum 付款方式 我设置了一个存储付款详细信息的付款表单 然后生成付款安全令牌 到目前为止 一切似乎都正常 payum 会在存储中生成令牌 但是 我似乎无法注册它 我不知道应该在哪里添加操作 以便在加载付款方式时使用它们
  • 如何同时循环多个数组(并行)

    好吧 我不知道为什么这这么难 我找到的所有信息仅适用于像 array combine 这样的两个数组 我有 3 个从表单中动态创建的输入字段获取的数组 所以现在我想检索数据并将其打印出来 如下所示 Item1 array1 Item1 ar
  • 如何在 Flutter 中对文本的 fontSize 进行动画处理?

    有什么方法可以动画增加 减少fontSize in a Text widget 可能更简单的解决方案是使用AnimatedTextStyle double size 10 override Widget build BuildContext
  • 如何将 HTML 代码导入到 JSF 页面?

    我正在尝试导入这个page http dl dropbox com u 5714646 Highcharts 2 2 0 examples pie donut index htm到我的 JSF 页面 该页面将有数据库来获取数据 以更具交互性
  • Rabl、Jbuilder 或手动 json 构建 api?

    要为大规模应用程序构建 api 就性能而言 哪种方法更好 我应该使用 Rabl Jbuilder 还是手动构建 json 对象 我正在为移动应用程序构建 api endpoints 在性能方面 您应该尝试创建一些基本的性能测试 并对它们进行
  • 无法在同一查询中运行 Insert 和 Select LAST_INSERT_ID() 吗?

    我正在使用节点连接到 mysql 我需要运行插入 然后立即运行 select last insert id insert into data temp values null test id 12 otherdata x otherdata
  • OpenCV(C++/Qt)-cornerSubPix 错误

    Hello 我在使用 imgproc hpp 文件中的cornerSubPix 方法时遇到问题 我不明白缺少哪个库或者有什么错误 我在 OS X 10 10 3 上使用 Qt 5 4 1 并使用 OpenCV 3 0 0 C 库 这是我的代
  • 在 PHP 的 require_once 中使用查询字符串

    在我的其中一个页面上有一个require once path to url page php 没有任何问题 当我添加查询字符串时require once path to url page php var test 它将不再包含该文件 只是一
  • Web 应用程序的计划任务

    为 Web 应用程序创建计划任务 无论是否有单独的 Web 桌面应用程序 有哪些不同的方法 如果我们谈论的是 Microsoft 平台 那么我总是会开发一个单独的 Windows 服务来处理此类批处理任务 您始终可以引用 Web 应用程序正
  • 无法在 Scala 中使用 Apache Commons CLI Option.builder()

    在 Spark shell 或应用程序 用 Scala maven 构建编写 中 我无法使用 Apache Commons CLI 包中的静态构建器方法 我已确认我将 jar 包含在类路径中并且可以访问Option类以及包中的其他类 例如O
  • 我可以将 jQuery UI 对话框置于 div 中心吗?

    我有一个主要内容 div 我想将对话框置于该 div 的中心 而不是页面的中心 有任何想法吗 我知道有一个位置实用程序 但我不知道如何将它与对话框位置选项一起使用 你是对的 position http jqueryui com demos
  • 将 hibernate 投影结果映射到 java POJO 模型

    在过去的几周里 我一直在使用 spring 和 hibernate 并且我一直在那里学习新的东西 现在我有一个问题想用 Hibernate 中的投影来解决 假设有一个模型Person这个模型有很多Car 以下是类定义的大致样子 public
  • 计算机状态(睡眠、休眠、锁定等) Windows 10

    我需要检查当前状态 计算机的 休眠 睡眠 待机锁定等 我只是想问一下如何使用C 获取我的计算机的当前状态 我已经通过检测 LockApp 进程知道计算机何时被锁定 但我无法知道它是否处于睡眠模式或休眠模式 我想尝试一个将使用任务计划程序运行
  • Solr 管理控制台中模式浏览器屏幕中的字段

    上面是特定索引的架构浏览器屏幕的屏幕截图 该字段是品牌 字段类型定义如下
  • 属性“user”在类型“Request>”上不存在

    请帮助 我收到此错误 src app middlewares authentication ts 16 17 error TS2339 Property user does not exist on type Request
  • css 旋转与过渡似乎会影响其他元素的不透明度?

    我遇到了使用 1s 过渡通过 CSS3 变换旋转 DIV 的问题 在 OSX 10 7 5 上的 Chrome 23 和 Safari 6 中 在 rotate divs 转换期间 其他容器中的字体会稍微变暗 关于造成这种情况的原因以及如何
  • 当前位置权限对话框消失得太快

    我的应用程序获取用户位置 获取坐标 并提供往返目的地或出发地的距离 所有这些可能的目的地都显示在表格视图中 因此我在填充表格的同时获取用户坐标 唯一的问题是 询问用户位置的警报视图出现然后消失得如此之快 以至于无法单击它 有什么方法可以在应
  • 使用 openmp 优化 N-queen

    我正在学习 OPENMP 并编写以下代码来解决 n 皇后问题 Full Code https github com Shafaet Codes blob master OPENMP Parallel 20N Queen 20problem
  • 如何调整 CWnd 内 WPF 控件的大小?

    我正在托管 WPFUserControlMFC 内部CWnd 它工作得很好 我现在需要弄清楚如何与其父控件一起调整控件的大小 我已经迷上了OnSize我正在打电话GetWindowRect并将结果设置为我的控件 如下所示 void CChi
  • Spark任务仅在一个执行器上运行

    大家好 首先我知道这个线程的存在 Spark 中的任务仅在一个执行器上运行 https stackoverflow com questions 53425983 task is running on only one executor in