Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Scala Spark数据帧分区器为“无”_Scala_Apache Spark - Fatal编程技术网

Scala Spark数据帧分区器为“无”

Scala Spark数据帧分区器为“无”,scala,apache-spark,Scala,Apache Spark,[新火花] 在创建了一个数据帧之后,我试图根据数据帧中的一列对其进行分区。当我使用data\u frame.rdd.partitioner检查分区器时,我没有得到任何输出 使用-> data_frame.repartition("column_name") 根据Spark文档,默认分区器是HashPartitioner,我如何确认这一点 另外,如何更改分区器?这是意料之中的RDD从数据集转换而来,只有数据分布 如果要检查RDD的分区器,应该从查询执行中检索它: scala> val df

[新火花] 在创建了一个数据帧之后,我试图根据数据帧中的一列对其进行分区。当我使用
data\u frame.rdd.partitioner
检查分区器时,我没有得到任何输出

使用->

data_frame.repartition("column_name")
根据Spark文档,默认分区器是HashPartitioner,我如何确认这一点


另外,如何更改分区器?

这是意料之中的<代码>RDD从
数据集
转换而来,只有数据分布

如果要检查RDD的分区器,应该从
查询执行
中检索它:

scala> val df = spark.range(100).select($"id" % 3 as "id").repartition(42, $"id")
df: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [id: bigint]

scala> df.queryExecution.toRdd.partitioner
res1: Option[org.apache.spark.Partitioner] = Some(org.apache.spark.sql.execution.CoalescedPartitioner@4be2340e)
如何更改分区器

一般来说,你不能。存在
repartitionByRange
方法(请参阅链接的线程),但在其他情况下,
Dataset
Partitioner
是不可配置的