Как заставить PySpark работать на кластере Google Cloud Dataproc

function sortF(ob1,ob2) {
  if (ob1.strength > ob2.strength) {return 1}
  else if (ob1.strength < ob2.strength) {return -1}
  else if (ob1.name > ob2.name) {return 1}
  return -1;
};

EDIT: Сортировка по силе, тогда, если сила равна, сортируйте по имени. Случай, когда сила и имя равны в обоих объектах, не нужно учитывать отдельно, так как окончательный возврат -1 указывает на отношения менее или равные. Результат сортировки будет правильным. Это может заставить его работать быстрее или медленнее, я не знаю. Если вы хотите быть явным, просто замените

return -1;

на

else if (ob1.name < ob2.name) {return -1}
return 0;
1
задан Igor Dvorzhak 18 January 2019 в 11:24
поделиться

1 ответ

  1. Да, Google Dataproc является эквивалентом AWS EMR.

  2. Да, вы можете ssh войти в главный узел Dataproc с помощью команды gcloud compute ssh ${CLUSTER}-m и отправить задания Spark вручную , но рекомендуется использовать API Dataproc и / или [ 112] команда отправить задания в кластер Dataproc. Обратите внимание, что вы можете использовать команду gcloud для отправки заданий в кластер Dataproc с любого компьютера, на котором установлено gcloud , вам не нужно делать это из Google Cloud VM, например, Главный узел Dataproc.

  3. ] ).

Вы можете отправить задание PySpark в кластер Dataproc с помощью команды (обратите внимание, сначала вам нужно скопировать файл задания PySpark в GCS и использовать его при отправке задания Dataproc):

gsutil cp spark.py gs://<BUCKET>/path/spark.py
gcloud dataproc jobs submit pyspark --cluster=${CLUSTER} \
    gs://<BUCKET>/path/spark.py
0
ответ дан Igor Dvorzhak 18 January 2019 в 11:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: