我能在Spark SQL中看到UDF函数的实现吗



我发现Spark SQL没有哈希函数。为了选择特定的散列数据,我需要使用像这样的自定义/UDF函数

sparkSession.udf.register("hashFuncWithSecret", (s: String) => myHashFunction(s, "my_very_secret_key"))

我想要";my_very_secret_key";不能从其他spark会话或UI或其他中的其他地方暴露和可见。我想知道这是否可能。非常感谢。

它在其他Spark会话中不可见。你能得到的最远的是:

scala> spark.catalog.listFunctions.show(false)
+-----+--------+-----------+-----------------------------------------------------+-----------+
|name |database|description|className                                            |isTemporary|
+-----+--------+-----------+-----------------------------------------------------+-----------+
|!    |null    |null       |org.apache.spark.sql.catalyst.expressions.Not        |true       |
|%    |null    |null       |org.apache.spark.sql.catalyst.expressions.Remainder  |true       |
|&    |null    |null       |org.apache.spark.sql.catalyst.expressions.BitwiseAnd |true       |
|*    |null    |null       |org.apache.spark.sql.catalyst.expressions.Multiply   |true       |
|+    |null    |null       |org.apache.spark.sql.catalyst.expressions.Add        |true       |
|-    |null    |null       |org.apache.spark.sql.catalyst.expressions.Subtract   |true       |
...

不过,这不会显示定义。

最新更新