Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果可以获得Spark中的分区数,为什么不能确定数据帧中的分区?_Python_Apache Spark_Pyspark - Fatal编程技术网

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”