Как указать параметры снежинки в спарк-сессии? - PullRequest
0 голосов
/ 09 марта 2020

Я хочу выполнить запрос от spark к Snowflake, запустив что-то вроде: -

sparkSession. sql ("query");

Поэтому я хотел понять, где я могу укажите ниже параметры снежинки при создании самой свечи.

val defaultOptions = Map(
     "sfURL" -> "",
     "sfAccount" > "",
      "sfUser" -> "",
      "sfPassword" -> "",
     "sfDatabase" -> "",
     "sfSchema" -> "public",
     "sfWarehouse" -> ""
)

Хотя я знаю, что могу использовать эти опции со свечным разъемом, как показано ниже: -

  def snowflakedf(sql: String) = { 
             spark.read
             .format("net.snowflake.spark.snowflake")
             .options(defaultOptions)
             .option("query", sql")
             .load()
           }

, но моя проблема в том, что я должен специально использовать только свечу sql выполнить запрос.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 марта 2020

Попробуйте добавить USING и OPTIONS в оператор SQL. Я использовал это раньше, чтобы создать глобальную таблицу в HIVE из источника данных Snowflake:

user = "<username>"
password = "<password>"
​
sf_url="<ACCOUNT>.snowflakecomputing.com"
sf_database="<SF_DB>"
sf_schema="<SF_SCHEMA>"
sf_warehouse="<SF_WF>"
sf_table="<SF_TABLE>"

create_table_str = "CREATE TABLE {0} (ID decimal(38,0)) 
  USING net.snowflake.spark.snowflake 
  OPTIONS (`sfURL`='{1}',`sfUser`='{2}',`sfPassword`='{3}',`sfDatabase`='{4}',`sfSchema`='{5}',`sfWarehouse`='{6}',`dbtable` = '{7}')"
  .format(sf_table, sf_url, user, password, sf_database, sf_schema, sf_warehouse, sf_table )

spark.sql(create_table_str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...