參數標記
適用於:磚運行時12.1及以後
參數標記的名字和類型的占位符變量用來供應值從API調用SQL語句。
可以提供的參數標記:
Python使用它的pyspark.sql.SparkSession.sql ()API。
Scala使用它的org.apache.spark.sql.SparkSession.sql ()API。
使用參數標記保護您的代碼從SQL注入攻擊,因為它明確地分離提供值與SQL語句。
筆記
你可以引用相同的參數標記內多次相同的SQL語句。如果沒有綁定到參數標記的值UNBOUND_SQL_PARAMETER錯誤是提高。你不需要參考提供的所有參數標記。
強製性的前:
(冒號)區分參數標記的名稱空間的列名和SQL參數。
你不能在DDL語句引用一個參數標記,如一個生成的列或違約的定義,一個視圖,或SQL函數。
例子
下麵的例子定義了兩個參數標記:
晚些時候:一個
時間間隔小時
值為3。x:一個
浮動
價值15.0
x
多次引用,而晚些時候
一旦引用。
進口org。apache。火花。sql。SparkSession瓦爾火花=SparkSession。構建器()。瀏覽器名稱(“火花命名參數標記的例子”)。getOrCreate()火花。sql(sqlText=“選擇current_timestamp() +:後來,:x *: x平方”,arg遊戲=地圖(“晚些時候”- >“間隔3小時”,“x”- >“15.0”))。顯示()/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +間隔“03”小時| |廣場/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
進口org.apache.spark.sql。*;靜態導入java.util.Map.entry;SparkSession火花=SparkSession。構建器()。瀏覽器名稱(“Java火花SQL UDF標量榜樣”)。getOrCreate();地圖<字符串,字符串>argMap=地圖。ofEntries(條目(“晚些時候”,“間隔3小時”),條目(“x”,“15.0”));火花。sql(sqlText=“選擇current_timestamp() +:後來,:x *: x平方”,arg遊戲=argMap)。顯示();/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +間隔“03”小時| |廣場/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
火花。sql(“選擇current_timestamp() +:後來,:x *: x平方”,arg遊戲={“晚些時候”,“間隔3小時”,“x”,“15.0”})。顯示()/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|current_timestamp()+時間間隔“03”小時|廣場|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|2023年- - - - - -02- - - - - -2717:48:…|225.00|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +