Возможно ли, что pyspark инициализирует некоторую переменную x и определит некоторую функцию f (q), которая использует x (и возвращает RDD) до, вводящую интерактивную оболочку? Я хочу предоставить доступ другому пользователю в оболочке к этой функции f (q), но я не хочу раскрывать ему переменную x. Возможно ли решение для приложить эту функцию к переменной контекста искры? Если это невозможно, как это можно сделать?Как инициализировать переменную/функцию в Spark перед входом в интерактивную оболочку?
0
A
ответ
1
Это вполне возможно, но оно не будет использоваться по назначению. Например, вы можете использовать модифицированный shell script и дополнительно обфускать данные с помощью собственных расширений, но он защитит вас только от случайного воздействия.
До тех пор, пока вы предоставляете пользователю доступ к полностью функциональной среде Python, они проверяют существующие объекты, анализируют закрытие, получают доступ к источнику или вызывают отладчик. Поэтому, если предположить злостные намерения, это просто не путь. И это только верхушка айсберга. Пользователь, имеющий прямой доступ к оболочке Spark, может выполнять произвольные команды в кластере, эффективно ограничиваясь только разрешениями, предоставляемыми пользователю Spark.