当前位置: 首页 > 知识库问答 >
问题:

使用snowflake-spark-connector时获得空指针异常

龙默
2023-03-14

我有一个3节点星火集群。并尝试使用snowflake spark连接器和jdbc驱动程序访问snowflake

jdbc:snowflake-jdbc-3.12.4.jar spark-connector:spark-snowflake_2.11-2.7.0-spark_2.4.jar

下面是我的代码:

sfOptions = {
  "sfURL" : "{}.snowflakecomputing.com".format(ACCOUNT_NAME),
  "sfUser" : "{}@fmr.com".format(USER_ID),
  "sfAccount" : "{}".format(ACCOUNT_ID),
  "sfRole" : "{}".format(DEFAULT_ROLE),
  "sfAuthenticator" : "oauth",
  "sfToken" : "{}".format(oauth_token),
  "sfDatabase" : "{}".format(DATABASE),
  "sfSchema" : "{}".format(SCHEMA),
  "sfWarehouse" : "{}".format(WAREHOUSE)
}

SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
....
conf = (SparkConf()
    .setMaster("spark://<master-url>")
    .setAppName("Spark-Snowflake-Connector")
    )


spark = (SparkSession.builder.config(conf=conf)
    .enableHiveSupport()
    .getOrCreate())
spark._jvm.net.snowflake.spark.snowflake.SnowflakeConnectorUtils.enablePushdownSession(spark._jvm.org.apache.spark.sql.SparkSession.builder().getOrCreate())


sdf = spark.read.format(SNOWFLAKE_SOURCE_NAME) \
   .options(**sfOptions) \
   .option("query",  "select * from TIME_AGE") \
   .load()
sdf.show()

我在sdf.show()上的调用失败,但有以下例外情况。有什么建议吗?

共有1个答案

程祯
2023-03-14

Snowflake JDBC 3.12.4 jar版本在使用Spark连接器spark-snowflake_2.11-2.7.0-spark_2.4.jar时似乎出现了问题。您是否可以尝试使用Snowflake JDBC驱动程序的3.12.3版本。这与上面的Spark连接器版本很好地工作。

 类似资料:
  • 当我运行Nutch命令~/Nutch/runtime/deploy$bin/Nutch crawl urls-dir/user/dlequoc/urls-depth 2-topn5时,我得到了以下异常: ====================================================================================== 你能帮忙吗?谢谢!

  • 基类代码: 注册页代码: 测试用例代码: 堆栈跟踪: testcases.signuptest.signup_disabled_check(Signuptest.java:27)中的java.lang.NullPointerException请参阅C:\users\mike\ideaprojects\web\target\surefire-reports以了解各个测试结果。在org.apache.

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 我试图存根这个方法:QueryUtils.to顺序(排序,根,构建器)和我正在做 但它进入queryUtils方法体,它会说Sort为null,并抛出一个NPE。但是,当它是存根时,为什么需要进入方法体?我以前没有遇到过这个问题,我认为它不应该关心该方法的内部逻辑是什么。

  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于

  • 我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db