我可以两次调用SparkContext构造函数吗?

时间:2017-09-15 17:34:51

标签: scala apache-spark bigdata

我需要做以下事情。

C:\output.zpl

我首先检查我是以本地模式还是群集模式运行,并相应地设置conf属性。但只是要了解主人,我首先要创建一个SparkContext对象。在设置conf属性之后,我显然创建了另一个SparkContext对象。这样好吗?或者Spark会忽略我的第二个构造函数?如果是这种情况,我可以在创建SparkContext对象之前以其他方式找到关于master(无论是本地模式还是集群模式)的信息?

1 个答案:

答案 0 :(得分:2)

同时启动多个上下文会出错。

您可以通过在创建第二个上下文之前停止第一个上下文来解决此问题。

export class LoginInfo {

    public Username: string;
    public Password: string;
    public Stato: number;
    public Messaggio: string;

    constructor(user: string, pwd: string) {
        this.Username = user;
        this.Password = pwd;
        this.Stato = 0;
        this.Messaggio = '';
    }

    public isValidInfo() {
        return this.Username && this.Username != '' && 
               this.Password && this.Password != '';
    }
}

这样做很愚蠢,你可以从spark conf获得主人,而无需启动一个火花上下文。

master.stop()
val sc = new SparkContext(conf)