禁用 PySpark 中的某些功能 sql
Disable some functions in PySpark sql
有没有办法阻止用户使用 PySpark 中的某些功能SQL?
例如假设我想避免用户使用函数 log
或 rand
,我该如何禁用它?
您可以注册一个与您要禁用的函数同名的 udf 并在 udf 中抛出异常:
def log(s):
raise Exception("log does not work anymore")
spark.udf.register("log", log)
spark.sql("select *, log(value) from table").show()
结果:
PythonException:
An exception was thrown from the Python worker. Please see the stack trace below.
Traceback (most recent call last):
[...]
Exception: log does not work anymore
有没有办法阻止用户使用 PySpark 中的某些功能SQL?
例如假设我想避免用户使用函数 log
或 rand
,我该如何禁用它?
您可以注册一个与您要禁用的函数同名的 udf 并在 udf 中抛出异常:
def log(s):
raise Exception("log does not work anymore")
spark.udf.register("log", log)
spark.sql("select *, log(value) from table").show()
结果:
PythonException:
An exception was thrown from the Python worker. Please see the stack trace below.
Traceback (most recent call last):
[...]
Exception: log does not work anymore