问题标签 [partitioner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2607 浏览

apache-spark - 为什么 sortBy 转换会触发 Spark 作业?

根据 Spark 文档,只有 RDD 操作可以触发 Spark 作业,并且在对其调用操作时会延迟评估转换。

我看到sortBy转换功能立即应用,它在 SparkUI 中显示为作业触发器。为什么?

0 投票
2 回答
2154 浏览

java - 如何在 java 中编写 Kafka Consumer Client 以使用来自多个代理的消息?

我正在寻找 java 客户端(Kafka 消费者)来使用来自多个代理的消息。请指教

下面是使用简单分区器将消息发布到多个代理的代码。

使用复制因子“2”和分区“3”创建主题。

bootstrap.servers = [本地主机:9092,本地主机:9093,本地主机:9094]

0 投票
1 回答
2199 浏览

apache-spark - HashPartitioner 类型不是 org.apache.spark.sql.SparkSession 的成员

我正在使用 spark-shell 来试验 Spark 的 HashPartitioner。错误显示如下:

第二次操作失败,而第三次操作成功。为什么 spark-shell 会在 org.apache.spark.sql.SparkSession 的包中查找 spark.HashPartitioner 而不是 org.apache.spark?

0 投票
1 回答
52 浏览

hadoop - Hadoop Oozie MapReduce 操作自定义分区器

如何在 oozie 工作流 XML 上为 MapReduce 操作配置自定义分区器?我尝试使用:

0 投票
0 回答
113 浏览

c# - 当我使用 [Parallel.ForEach] 时,如何使用 100% 的机器功率?

当我在 4 核机器上运行此 C# 代码时,总 CPU 使用率为 100%。

当我在 64 核机器上运行这段 C# 代码时,总 CPU 使用率不是 100%,只有 50~60%

如何使用 100% 的机器功率?

0 投票
1 回答
449 浏览

c# - 为什么在 C# 中第一次调用的并行处理要慢得多?

我正在尝试使用 C# 应用程序尽可能快地处理数字。我使用 aThread.Sleep()来模拟一个处理和随机数。我使用 3 种不同的技术。

这是我使用的测试代码:

对于每种技术,我都会重新启动程序。我得到了这些结果,
有一个Thread.Sleep( 1 )

其中是在每个函数中
total花费的总时间,并且是每个函数的最长时间。Parallel.ForEach()
max

为什么第一个循环这么慢?其他尝试怎么可能处理得这么快?如何在第一次尝试时实现更快的并行处理?


编辑:

所以我也试过了,Thread.Sleep( 10 )
结果是:

所以第一个循环仍然比其他循环花费更多的秒数..

0 投票
0 回答
184 浏览

apache-spark - 范围分区器如何跨执行器处理父分区?

在 Apache Spark 中,分区器用于定义数据将如何被打乱。他们都有getPartition(key: Any): Int办法做到这一点。

特别是在 中RangePartitioner,开发人员需要传输有关RDD启动它的信息。所以我对分区器实际上在哪里执行他们的工作感到困惑:执行器、驱动程序还是主控器?

0 投票
1 回答
36 浏览

hadoop - 自定义 Partitioner 以平衡减速器的输入

假设我的映射器输出 N 个键(这些键是不同的),并且我有 K 个减速器。如何编写自定义 Paritioner 以便每个 reducer 接收大约 N/K 个密钥?哪个键去哪个接收并不重要。

示例:假设我的映射器输出 10 对<k1,v1>,<k2,v2>,<k3,v3>,...<k10,v10>,并且我有 3 个减速器。我想要 3 对到第 1 个减速器,3 对到第 2 个,4 对到第 3 个,不管哪个键去哪个减速器。

我尝试了什么:

  • 随机分配reducer。例如,随机分配<k1,v1>给第一个减速器,<k2,v2>第二个减速器,依此类推。但是仍然有reducers比其他人获得更多的数据
  • 我不想修复哪个键去哪个减速器。因为k1,k2,...k10我的映射器的键会根据输入数据而变化——>我必须为每个输入数据更改代码。此外,这些键具有相同的作用。我只需要在减速器之间平均分配它们。

非常感谢。

0 投票
0 回答
337 浏览

spring-batch - 使用 Java config 进行分区作业配置

请帮助我如何使用 java config 进行 Spring 批处理分区作业。我必须根据帐号编写分区作业。我不确定如何在 java 配置中配置以下 XML bean。

<int:router input-channel="channel_in" default-output-channel="channel_default" expression="payload.name" ignore-channel-name-resolution-failures="true"> <int:mapping value="foo" channel="channel_one" /> <int:mapping value="bar" channel="channel_two" /> </int:router>

0 投票
0 回答
386 浏览

scala - Spark均匀数据分布

我正在尝试解决数据框中的倾斜数据问题。我引入了一个基于bin 打包算法的新列,它应该在 bin(在我的例子中是分区)之间均匀分布数据。我对垃圾箱的计数是500,000行。我已经为每一行分配了该行应该属于的 bin 编号。bin 计数范围从1 到 282。假设列名是key

理想情况下,当我根据列键对数据帧进行重新分区操作时,它应该在282 个分区之间均匀分布数据,每个分区包含大约500,000条记录。

但仍有一些分区包含多个键。例如,分区101115合并为1 个分区,这对我来说是意想不到的行为。

如果我编写一个自定义分区器,那么我必须将我的数据帧转换为 rdd 并根据键列对 pair-rdd 进行操作。但是Key列最初可以有重复,如果我groupBy,那么多条记录将被组合在一起,它会破坏重新分区数据的逻辑。

如果有人能解释这种奇怪的修复行为帮助我纠正它,那就太好了。