你好,
我的新火花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(火花)。謝謝你!
你好,我看了你的問題,我隻是告訴你,如果你嚐試* *發出嗶嗶聲* *後,
在磚,你可以使用火花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
我希望你喜歡我的答案謝謝你我總是試圖給我最好的。
最好的問候,