如何通过python将会话参数传递给雪花?

时间:2020-09-02 23:02:01

标签: python-3.x snowflake-cloud-data-platform aws-glue

以下代码是我尝试通过python将会话参数传递给雪花的尝试。可在AWS Glue中运行的现有代码库的这一部分,以及以下不起作用的唯一部分是session_parameters。

我试图了解如何从此代码中添加会话参数。感谢您对这里发生的事情有帮助。

      sf_credentials = json.loads(CACHE["SNOWFLAKE_CREDENTIALS"])                                                                                                                                                                                           
      CACHE["sf_options"] = {                                                                                                                                                                                                                               
          "sfURL": "{}.snowflakecomputing.com".format(sf_credentials["account"]),                                                                                                                                                                           
          "sfUser": sf_credentials["user"],                                                                                                                                                                                                                 
          "sfPassword": sf_credentials["password"],                                                                                                                                                                                                         
          "sfRole": sf_credentials["role"],                                                                                                                                                                                                                 
          "sfDatabase": sf_credentials["database"],                                                                                                                                                                                                         
          "sfSchema": sf_credentials["schema"],                                                                                                                                                                                                             
          "sfWarehouse": sf_credentials["warehouse"],                                                                                                                                                                                                       
          "session_parameters": {                                                                                                                                                                                                                           
              "QUERY_TAG": "Something",                                                                                                                                                                                                                    
          }                                                                                                                                                                                                                                                 
      }   

在AWS Cloudwatch中,我可以找到该参数是与其他选项一起发送的。在雪花中,从未设置参数。

我可以在需要的地方添加更多细节,只是不确定是否需要什么细节。

1 个答案:

答案 0 :(得分:0)

事实证明,当您使用Spark连接器时,无需指定给定参数为会话参数。因此,相反:

      sf_credentials = json.loads(CACHE["SNOWFLAKE_CREDENTIALS"])                                                                                                                                                                                           
      CACHE["sf_options"] = {                                                                                                                                                                                                                               
          "sfURL": "{}.snowflakecomputing.com".format(sf_credentials["account"]),                                                                                                                                                                           
          "sfUser": sf_credentials["user"],                                                                                                                                                                                                                 
          "sfPassword": sf_credentials["password"],                                                                                                                                                                                                         
          "sfRole": sf_credentials["role"],                                                                                                                                                                                                                 
          "sfDatabase": sf_credentials["database"],                                                                                                                                                                                                         
          "sfSchema": sf_credentials["schema"],                                                                                                                                                                                                             
          "sfWarehouse": sf_credentials["warehouse"],                                                                                                                                                                                                                                                                                                                                                                                                                                
          "QUERY_TAG": "Something",                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
      }   

完美运行。

我在Snowflake文档中找到了使用Spark连接器的方法:Here's the section on setting Session Parameters