当前位置: 首页 > 知识库问答 >
问题:

如果可以在Spark中获得分区的计数,为什么不能确定dataframe中的分区?

乐山
2023-03-14

使用df.rdd.getNumPartitions(),我们可以获得分区的计数。但是我们怎么得到分区呢?

我还试图从文档和所有属性(使用dir(df))中获取一些信息。但是,我找不到任何提供分区的API,只能找到repartitioningcoalescegetNumPartitions

我读了这篇文章并推断Spark不知道分区键。我的疑问是,如果它不知道分区键,因此也不知道分区,它怎么能知道它们的计数呢?如果可以,如何确定分区?

共有1个答案

凤经国
2023-03-14

如何使用MapPartitionsWithIndex检查分区包含的内容

这段代码将适用于一些小型数据集

def f(splitIndex, elements): 
  elements_text = ",".join(list(elements))
  yield splitIndex, elements_text

rdd.mapPartitionsWithIndex(f).take(10)
 类似资料:
  • 我是Spark SQL的新手。我有一个关于联接期间分区使用的问题 假设有一个名为的表,它保存在分区(parquet)文件上。还假定。 谢谢

  • 我试图理解和之间的区别。 如果我正确理解了这个答案,只能减少dataframe的分区数量,如果我们尝试增加分区数量,那么分区数量将保持不变。 但当我试图执行下面的代码时,我发现了两件事 对于合并的Dataframe,可以增加分区数 对于Rdd,如果Shuffle=false,那么分区的数量不能随着合并而增加。 这是否意味着使用合并数据帧分区可以增加? 当我执行以下代码时: 我得到以下输出 当我执行

  • 本文向大家介绍topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?相关面试题,主要包含被问及topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?时的应答技巧和注意事项,需要的朋友参考一下 可以增加 bin/kafka-topics.sh --zookeeper localhost:2181/kafka --alter --topic topic-co

  • 本文向大家介绍topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?相关面试题,主要包含被问及topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?时的应答技巧和注意事项,需要的朋友参考一下 不可以减少,被删除的分区数据难以处理。

  • 我试图优化两个spark dataframes之间的联接查询,让我们将它们称为df1、df2(在公共列“saleid”上联接)。df1非常小(5M),所以我在spark集群的节点中广播它。df2非常大(200米行),所以我尝试通过“saleid”对它进行桶/重新分区。 例如: 分区: 水桶: 我不知道哪一个是正确的技术使用。谢谢。

  • 我需要从一个Hive表中读取数据并将其插入到另一个Hive表中。两个表的架构是相同的。该表按日期分区 步骤1:从Spark的源表中读取数据。 第 2 步:按列(国家、日期)和分区数重新分区为 4。 我只得到每个国家代码1个分区