Jdbc 从Databricks到Snowflake的连接

Jdbc 从Databricks到Snowflake的连接,jdbc,databricks,snowflake-cloud-data-platform,Jdbc,Databricks,Snowflake Cloud Data Platform,使用Databricks笔记本,我可以从Databricks连接到“snowflake”,并使用“scala”将内容写入snowflake中的表中,但使用“python”无法工作 我在Databricks中添加了两个库,这有助于在Databricks和Snowflake之间建立连接: snowflake-jdbc-3.6.8和spark-snowflake_2.11-2.4.4-spark_2.2 我的目标是使用Databricks(用于机器学习-Spark)并在Databricks和Snowf

使用Databricks笔记本,我可以从Databricks连接到“snowflake”,并使用“scala”将内容写入snowflake中的表中,但使用“python”无法工作

我在Databricks中添加了两个库,这有助于在Databricks和Snowflake之间建立连接:
snowflake-jdbc-3.6.8
spark-snowflake_2.11-2.4.4-spark_2.2

我的目标是使用Databricks(用于机器学习-Spark)并在Databricks和Snowflake之间来回移动数据

下面是代码,我正在尝试将数据帧的内容写入Snowflake:

  • 将数据加载到数据帧中
  • 我可以看到数据已经加载到dataframe中

  • 使用secret manager获取Snowflake用户的登录名和密码
  • 雪花连接选项:
  • 到目前为止没有错误

  • 将数据帧的内容写入雪花
  • 这导致:

    **Error : 
    java.sql.SQLException: No suitable driver found for jdbc:snowflake://https://*snowflake_username*.snowflakecomputing.com**
    
    我发现了错误:

    在步骤3中,无需提及“https://”

    i、 e

        user = dbutils.secrets.get(scope="jdbc", key="snowflake_username")
        password = dbutils.secrets.get(scope="jdbc", key="snowflake_password")
    
        options = dict(sfUrl="https://***snowflake_username***.snowflakecomputing.com",
                       sfUser=user,
                       sfPassword=password,
                       sfDatabase="my_database",
                       sfSchema="PUBLIC",
                       sfWarehouse="my_warehouse")
    
        SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
    
        df1.write.format(SNOWFLAKE_SOURCE_NAME) \
            .options(**options) \
            .option("dbtable", "datafromspark") \
              .save()
    
    **Error : 
    java.sql.SQLException: No suitable driver found for jdbc:snowflake://https://*snowflake_username*.snowflakecomputing.com**
    
    sfUrl="https://snowflake_username.snowflakecomputing.com"   # giving an error
    
    sfUrl="snowflake_username.snowflakecomputing.com"          #works fine