Чтобы использовать режим Spark in Yarn, вам необходимо установить любые зависимости к машинам, на которых начинается пряжа исполнителей. Это единственный верный способ сделать эту работу.
Использование режима Spark with Yarn cluster - это совсем другая история. Вы можете распространять зависимости python с помощью spark-submit.
spark-submit --master yarn-cluster my_script.py --py-files my_dependency.zip
Однако ситуация с numpy осложняется тем же, что делает ее так быстро: тот факт, что делает тяжелый подъем в C. Из-за того, что он установлен, вы выиграли ' t можно распределять numpy таким образом.
Я сказал бы, что представление свойств на Вашем пользовательском диалоговом окне является идиоматическим способом пойти потому что, именно так стандартные диалоговые окна (как Select/OpenFileDialog) делают это. Кто-то мог утверждать, что это более явно и раскрытие намерения, чтобы иметь ShowBirthdayDialog () метод, который возвращает результат, который Вы ищете, но следуете, шаблон платформы является, вероятно, мудрым способом пойти.
существует ли более стандартный шаблон для того, чтобы сделать материал как это?
Нет, это кажется на использование правильного подхода.
Если диалоговое окно возвращает DialogResult. Хорошо, предположите, что все необходимые свойства в диалоговом окне допустимы.
Для меня придерживающийся Диалогового окна, возвращая стандартные диалоговые ответы и затем получая доступ к результатам через свойства способ пойти.
Два серьезных основания от того, где я сижу:
Поток логики хорош также:
if (Dialog == Ok)
{
// Do Stuff with the entered values
}
else
{
// Respond appropriately to the user cancelling the dialog
}
Это - хороший вопрос - мы, как предполагается, подвергаем сомнению материал как это - но для меня текущий шаблон является достойным.
Murph
Для модальных окон ввода значения я обычно перегружаю ShowDialog и раздаю параметрические усилители для данных, в которых я нуждаюсь.
DialogResult ShowDialog(out datetime birthday)
Я обычно нахожу, что легче обнаружить и понять по сравнению со смешиванием моих свойств с 100 +, который выставляет класс Формы.
Для форм у меня обычно есть Контроллер и интерфейс IView, который использует свойства только для чтения для передачи данных.
Я всегда делал это точно способ, которым Вы описываете. Мне любопытно видеть, существует ли более принятый подход.