相关疑难解决方法(0)

Spark:重新分区与partitionBy中的列参数顺序

考虑的方法(Spark 2.2.1):

  1. DataFrame.repartition(带partitionExprs: Column*参数的两个实现)
  2. DataFrameWriter.partitionBy

注意:这个问题不会问这些方法之间的区别

文档partitionBy:

如果指定,输出奠定了类似文件系统Hive分区方案.例如,当我们Dataset按年和月分区时,目录布局如下所示:

  • 年= 2016 /月= 01 /
  • 年= 2016 /月= 02 /

由此,我推断列参数顺序将决定目录布局; 因此它是相关的.

文档repartition:

返回Dataset由给定分区表达式分区的新分区,使用spark.sql.shuffle.partitions分区数.结果Dataset散列分区.

根据我目前的理解,repartition决定处理时的并行度DataFrame.有了这个定义,行为repartition(numPartitions: Int)很简单,但是对于参数的另外两个实现也是repartition如此partitionExprs: Column*.


所有事情都说,我的疑虑如下:

  • partitionBy方法一样,输入的顺序也 …

partitioning dataframe apache-spark apache-spark-sql

6
推荐指数
1
解决办法
4808
查看次数

任务仅在 Spark 中的一个执行器上运行

我正在使用 Java 在 Spark 中运行以下代码。

代码

测试.java

package com.sample;

import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.functions;
import org.apache.spark.storage.StorageLevel;

import com.addition.AddTwoNumbers;

public class Test{

    private static final String APP_NAME = "Test";
    private static final String LOCAL = "local";
    private static final String MASTER_IP = "spark://10.180.181.26:7077";

    public static void main(String[] args) {

        SparkConf conf = new SparkConf().setAppName(APP_NAME).setMaster(MASTER_IP);
        String connection = "jdbc:oracle:thin:test/test@//xyz00aie.in.oracle.com:1521/PDX2600N";
        // Create Spark Context
        SparkContext context = new SparkContext(conf);
        // Create Spark Session

        SparkSession sparkSession = …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-2.0 spark-submit

6
推荐指数
1
解决办法
1万
查看次数