参数标记
适用于:砖运行时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|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +