首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为spark-testing-base设置Spark Config属性

为spark-testing-base设置Spark Config属性
EN

Stack Overflow用户
提问于 2019-02-08 01:14:01
回答 2查看 700关注 0票数 1

当我试图在Python语言中使用spark-testing-base时,我需要测试一个写在Postgres DB上的函数。

要做到这一点,有必要向Spark会话提供连接到Posgtres的驱动程序;为此,我首先尝试覆盖getConf() method (如注释Override this to specify any custom configuration.中所述)。但显然它不起作用。可能我没有使用所需的语法传递值,但在多次尝试之后,我还是得到了错误java.lang.ClassNotFoundException: org.postgresql.Driver (典型的情况是没有通过conf参数正确下载Driver Jar )。

尝试的getConf覆盖:

代码语言:javascript
复制
    def getConf(self):
        return ("spark.jars.packages", "org.postgresql:postgresql:42.1.1")

    def getConf(self):
        return {"spark.jars.packages", "org.postgresql:postgresql:42.1.1"}

    def getConf(self):
        return SparkConf()\
            .setMaster("local[*]")\
            .setAppName("test")\
            .set("spark.jars.packages", "org.postgresql:postgresql:42.1.1")

因此,我甚至尝试像这样覆盖the setUp()方法:

代码语言:javascript
复制
    def setUp(self):
        try:
            from pyspark.sql import Session
            self.session = Session.Builder.config("spark.jars.packages", "org.postgresql:postgresql:42.1.1")
            self.sqlCtx = self.session._wrapped
        except Exception:
            self.sqlCtx = SQLContext(self.sc)

但还是不走运。那么我做错了什么呢?我应该如何重写getConf()方法?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54578781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档