取消
顯示的結果
而不是尋找
你的意思是:

SQL變量的值如果使用火花SQL語句

裏卡多
新的因素

你好,

我的新火花SQL和想知道如果可以複製下麵的t - SQL查詢的磚。這是一個示例查詢,但是我想確定是否需要執行一個查詢。

聲明@VariableA INT, @VariableB INT;選擇@VariableA = COUNT(*)從[xxx]。[TableExample]選擇@VariableB = COUNT (*) + 1 [xxx]。(TableExample)如果(@VariableA = @VariableB)開始打印“平等”結束開始打印“不等於”結束

我想用一個IF語句來確定。我已經知道如何使用SELECT語句設置一個變量:

設置VariableA =選擇COUNT(*)從[xxx]。[TableExample];設置VariableB = SELECT COUNT (*) + 1 [xxx]。[TableExample];

接下來我想使用VariableA和VariableB IF語句:

IF ($ {VariableA} = $ {VariableB},“平等”,“不等於”);

這不是工作,因為水下這個表達式寫完整的SELECT語句的結果變量,而不是(數字)來比較。當我寫下$ {VariableA};它給了我正確的結果(數值)。”

我怎樣才能使這項工作在IF語句?

所以很明顯,沒有PySpark解決方案,但SQL(火花)。謝謝你!

2回答2

Suman1985
新的因素

你好,我看了你的問題,我隻是告訴你,如果你嚐試* *發出嗶嗶聲* *後,

在磚,你可以使用火花SQL實現類似的條件邏輯。然而,火花SQL並不直接支持變量賦值和操縱的t - SQL一樣。相反,通常你會實現你的目標使用DataFrames或SQL表達式。這是如何繁殖的邏輯你使用火花SQL提供:

——作為DataFrame加載表
val df = * *發出嗶嗶聲* * .TableExample”)

——計算使用DataFrames計數
val variableA = df.count ()
val variableB = df.count () + 1

——用例條件邏輯
val結果= spark.sql (
”“”
選擇案例當variableA = variableB美元然後“平等”其他“不等於”最終的結果
”“”
)

result.show ()

* * * *發出嗶嗶聲DataFrame * *。

請注意,火花SQL不直接支持像t - SQL的使用變量。相反,你與DataFrames和SQL表達式來實現類似的功能。Myjdfaccount

我希望你喜歡我的答案謝謝你我總是試圖給我最好的。

最好的問候,

你好,

謝謝你的回應。

使用DataFrames和SQL表達式仍然可以做火花SQL類型的筆記本還是已經PySpark嗎?

提前謝謝你!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map