我发现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 |
...
不过,这不会显示定义。