Python 如果可以获得Spark中的分区数,为什么不能确定数据帧中的分区?
使用Python 如果可以获得Spark中的分区数,为什么不能确定数据帧中的分区?,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,使用df.rdd.getNumPartitions(),我们可以获得分区的计数。但是我们如何获得分区呢 我还尝试从文档和数据帧的所有属性(使用dir(df))中提取一些东西。但是,我找不到任何可以提供分区的API,我只能找到重新分区,合并,getNumPartitions 我阅读并推断Spark不知道分区键。我的疑问是,如果它不知道分区键,因此也不知道分区,那么它怎么知道它们的计数呢?如果可以,如何确定分区?如何使用MapPartitionsSwithindex 此代码适用于一些小数据集 def
df.rdd.getNumPartitions()
,我们可以获得分区的计数。但是我们如何获得分区呢
我还尝试从文档和数据帧的所有属性(使用dir(df)
)中提取一些东西。但是,我找不到任何可以提供分区的API,我只能找到重新分区
,合并
,getNumPartitions
我阅读并推断Spark不知道分区键。我的疑问是,如果它不知道分区键,因此也不知道分区,那么它怎么知道它们的计数呢?如果可以,如何确定分区?如何使用
MapPartitionsSwithindex
此代码适用于一些小数据集
def f(splitIndex, elements):
elements_text = ",".join(list(elements))
yield splitIndex, elements_text
rdd.mapPartitionsWithIndex(f).take(10)
使用
mapPartitionsWithIndex
此代码适用于一些小数据集
def f(splitIndex, elements):
elements_text = ",".join(list(elements))
yield splitIndex, elements_text
rdd.mapPartitionsWithIndex(f).take(10)
pyspark提供功能 spark\u partition\u id() 分区ID的列 注意:这是不确定的,因为它取决于数据分区 和任务调度 分区的编号从零到
n-1
,其中n
是从getNumPartitions()
获得的编号
这就是你想要的吗?或者您实际上是指Hive分区吗?pyspark提供了功能 spark\u partition\u id() 分区ID的列 注意:这是不确定的,因为它取决于数据分区 和任务调度 分区的编号从零到
n-1
,其中n
是从getNumPartitions()
获得的编号
这就是你想要的吗?或者您实际上是指蜂巢分区吗?确定分区是什么意思?内容、方法?分区号?很抱歉,我无法给您提供确切的答案。所谓“分区”,我指的是对数据进行分区的文件夹。例如,created_month*12文件夹,每个文件夹包含created_day*30(几乎)个文件夹,然后文件存储在每个
day
文件夹中。这有意义吗?没有,因为数据帧在内存中,可能会被逐出到磁盘,但这听起来像是数据帧写入磁盘时的意思。这是静止的数据,确实不同。我对您阅读的数据和您预期的结果感到困惑。你能澄清一下吗?您可以使用partitions()方法获取分区,如:@jpg当我键入df.rdd.partitions
时,我得到:AttributeError:'rdd'对象没有属性'partitions'
确定分区是什么意思?内容、方法?分区号?很抱歉,我无法给您提供确切的答案。所谓“分区”,我指的是对数据进行分区的文件夹。例如,created_month*12文件夹,每个文件夹包含created_day*30(几乎)个文件夹,然后文件存储在每个day
文件夹中。这有意义吗?没有,因为数据帧在内存中,可能会被逐出到磁盘,但这听起来像是数据帧写入磁盘时的意思。这是静止的数据,确实不同。我对您阅读的数据和您预期的结果感到困惑。你能澄清一下吗?您可以使用partitions()方法获取分区,如:@jpg当我键入df.rdd.partitions
时,我得到:AttributeError:'rdd'对象没有属性“partitions”