Передача параметра в строку sql Triple с использованием scala spark - PullRequest
0 голосов
/ 08 февраля 2019
val BusinessDate = '2019-02-06'
val query = """(SELECT *
                  |FROM
                  |  v_Account AS a left join v_Customer AS c
                  | ON c.CustomerID = a.CustomerID AND c.Businessdate = a.Businessdate
                  |WHERE
                  | a.Category = 'Deposit' AND
                  | c.Businessdate= '2019-02-06' AND a.Balance IS NOT NULL AND
                  | isnull(a.Classification,'N/A') IN ('Contractual Account','Non-Term Deposit','Term Deposit')) tmp """.stripMargin

val responseWithSelectedColumns = spark
      .read
      .format("jdbc")
      .option("url", url)
      .option("driver", driver)
      .option("dbtable", query)
      .load()

    print("TOTAL: "+responseWithSelectedColumns.count())

в этой строке строки sql c.Businessdate= '2019-02-06', я хочу передать BusinessDate в качестве параметра вместо прямого, как это.

Как я могу это сделать?

1 Ответ

0 голосов
/ 08 февраля 2019

Это называется интерполяция строк в Scala:

val BusinessDate = '2019-02-06'
val query = s"""(SELECT *
                  |FROM
                  |  v_Account AS a left join v_Customer AS c
                  | ON c.CustomerID = a.CustomerID AND c.Businessdate = a.Businessdate
                  |WHERE
                  | a.Category = 'Deposit' AND
                  | c.Businessdate= '$BusinessDate' AND a.Balance IS NOT NULL AND
                  | isnull(a.Classification,'N/A') IN ('Contractual Account','Non-Term Deposit','Term Deposit')) tmp """.stripMargin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...