Искра не является повторной. В частности, работники не могут выполнять новые действия или преобразования RDD в течение шага другого действия или преобразования.
Эта проблема возникает, когда selectReviews
вызывается в лямбда-функции карты, которая происходит на рабочем узле, поскольку selectReviews
требует выполнения .select()
для поддержки RDD reviewsDF
.
Обходной путь заключается в замене sc.parallelize
на простой цикл for
или аналогичный, над categories
, выполняемый локально. Ускорение от искры по-прежнему будет задействовано в фильтрации кадров данных, которая возникает при каждом вызове selectReviews
.
Большинство компиляторов C обеспечивает -o
опция для этого, такая как:
gcc -o gentext gentext.c
cc -o mainprog -Llib -lmymath firstbit.c secondbit.o
xlc -o coredump coredump.c
-ofilename
сделает filename
вместо a.out
.
Согласно руководству:
-o <file> Place the output into <file>
В Unix, где C, порожденные из, C программы, являются обычно скомпилированным модулем модулем и затем скомпилированные модули связаны в исполняемый файл. Для проекта, который состоит из модулей foo.c
и bar.c
, команды были бы похожи на это:
cc -c foo.c
cc -c bar.c
cc -o myprog foo.o bar.o
(С-c, выходное имя файла становится исходным файлом с суффиксом, замененным.o.)
Это позволяет Вам также перекомпилировать только те модули, которые изменились, который может быть средством сохранения достижения для больших программ, но может также стать довольно хитрым. (Эта часть обычно автоматизируется с помощью make
.)
Для программы единственного модуля нет действительно никакой точки в первой компиляции в.o файл и затем соединении, таким образом, единственная команда достаточна:
cc -o foo foo.c
Для программ единственного модуля, это обычно для вызова получающейся исполняемой программы тем же как исходный файл C без суффикса.c. Для программ мультимодуля, существует не тверд пользовательский на том, называют ли вывод в честь файла с основной функцией или нет, таким образом, Вы свободны изобрести безотносительно забастовок Ваше воображение.