问题标签 [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.
apache-spark - 为什么 sortBy 转换会触发 Spark 作业?
根据 Spark 文档,只有 RDD 操作可以触发 Spark 作业,并且在对其调用操作时会延迟评估转换。
我看到sortBy
转换功能立即应用,它在 SparkUI 中显示为作业触发器。为什么?
java - 如何在 java 中编写 Kafka Consumer Client 以使用来自多个代理的消息?
我正在寻找 java 客户端(Kafka 消费者)来使用来自多个代理的消息。请指教
下面是使用简单分区器将消息发布到多个代理的代码。
使用复制因子“2”和分区“3”创建主题。
bootstrap.servers = [本地主机:9092,本地主机:9093,本地主机:9094]
apache-spark - HashPartitioner 类型不是 org.apache.spark.sql.SparkSession 的成员
我正在使用 spark-shell 来试验 Spark 的 HashPartitioner。错误显示如下:
第二次操作失败,而第三次操作成功。为什么 spark-shell 会在 org.apache.spark.sql.SparkSession 的包中查找 spark.HashPartitioner 而不是 org.apache.spark?
hadoop - Hadoop Oozie MapReduce 操作自定义分区器
如何在 oozie 工作流 XML 上为 MapReduce 操作配置自定义分区器?我尝试使用:
c# - 当我使用 [Parallel.ForEach] 时,如何使用 100% 的机器功率?
当我在 4 核机器上运行此 C# 代码时,总 CPU 使用率为 100%。
但
当我在 64 核机器上运行这段 C# 代码时,总 CPU 使用率不是 100%,只有 50~60%
如何使用 100% 的机器功率?
c# - 为什么在 C# 中第一次调用的并行处理要慢得多?
我正在尝试使用 C# 应用程序尽可能快地处理数字。我使用 aThread.Sleep()
来模拟一个处理和随机数。我使用 3 种不同的技术。
这是我使用的测试代码:
对于每种技术,我都会重新启动程序。我得到了这些结果,
有一个Thread.Sleep( 1 )
:
其中是在每个函数中
total
花费的总时间,并且是每个函数的最长时间。Parallel.ForEach()
max
为什么第一个循环这么慢?其他尝试怎么可能处理得这么快?如何在第一次尝试时实现更快的并行处理?
编辑:
所以我也试过了,Thread.Sleep( 10 )
结果是:
所以第一个循环仍然比其他循环花费更多的秒数..
apache-spark - 范围分区器如何跨执行器处理父分区?
在 Apache Spark 中,分区器用于定义数据将如何被打乱。他们都有getPartition(key: Any): Int
办法做到这一点。
特别是在 中RangePartitioner
,开发人员需要传输有关RDD
启动它的信息。所以我对分区器实际上在哪里执行他们的工作感到困惑:执行器、驱动程序还是主控器?
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
我的映射器的键会根据输入数据而变化——>我必须为每个输入数据更改代码。此外,这些键具有相同的作用。我只需要在减速器之间平均分配它们。
非常感谢。
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>
scala - Spark均匀数据分布
我正在尝试解决数据框中的倾斜数据问题。我引入了一个基于bin 打包算法的新列,它应该在 bin(在我的例子中是分区)之间均匀分布数据。我对垃圾箱的计数是500,000行。我已经为每一行分配了该行应该属于的 bin 编号。bin 计数范围从1 到 282。假设列名是key。
理想情况下,当我根据列键对数据帧进行重新分区操作时,它应该在282 个分区之间均匀分布数据,每个分区包含大约500,000条记录。
但仍有一些分区包含多个键。例如,分区101和115合并为1 个分区,这对我来说是意想不到的行为。
如果我编写一个自定义分区器,那么我必须将我的数据帧转换为 rdd 并根据键列对 pair-rdd 进行操作。但是Key列最初可以有重复,如果我groupBy,那么多条记录将被组合在一起,它会破坏重新分区数据的逻辑。
如果有人能解释这种奇怪的修复行为并帮助我纠正它,那就太好了。