如何在进入交互式shell之前初始化Spark中的变量/函数?

时间:2017-02-05 17:36:57

标签: shell apache-spark initialization

pyspark是否可以初始化一些变量x并定义一些函数f(q),它在进入交互式shell之前使用x(并返回一个RDD)?我想让shell中的另一个用户访问此函数f(q),但我不想向他公开x变量。一个可能的解决方案是这个函数附加到spark上下文变量吗?如果不可能,那怎么可能呢?

1 个答案:

答案 0 :(得分:1)

这是完全可能的,但它不会达到预期的目的。例如,您可以使用修改后的shell script并通过使用原生扩展来进一步模糊数据,但它只会保护您免受意外曝光。

只要让用户访问功能齐全的Python环境,他们就会检查现有对象,分析闭包,访问源或调用调试器。因此,如果假设恶意,这根本不是可行的方法。这只是冰山一角。可以直接访问Spark shell的用户可以在集群上执行任意命令,实际上仅受授予Spark用户权限的限制。