Как настроить Apache Spark, чтобы иметь больше ядер (рабов)? - PullRequest
0 голосов
/ 02 марта 2020

Мне нужно запустить большой набор данных с Apache Spark (Java API)

Я не очень хорошо понимаю, как настроить его, чтобы иметь мастера и несколько рабов. Вот как у меня среда:

SparkSession spark = SparkSession.builder()
                .appName("LOG-16k 32 cores-persist")
                //.config("spark.executor.heartbeatInterval", "10000s")
                .config("spark.sql.warehouse.dir", "file:///c:/tmp/")
                .config("spark.eventLog.enabled", "true")
                .config("spark.eventLog.dir", "file:/home/XXX/temp/spark-events")
                .config("spark.history.fs.logDirectory", "file:/home/XXX/temp/spark-events")
                //.config("spark.debug.maxToStringFields", 100000)
                .master("local[32]").getOrCreate();

1 Ответ

0 голосов
/ 02 марта 2020

Очевидно, что вам понадобится более одной машины для обработки с прерываниями

Вы должны прочитать документацию Spark по настройке одного из следующих

  • Spark Standalone
  • Apache YARN
  • Apache Mesos
  • Kubernetes

Или вы можете найти программы, предлагаемые сообществом, такие как Hashicorp Nomad - https://learn.hashicorp.com/nomad/spark/pre

Вы также захотите использовать распределенную файловую систему, такую ​​как HDFS или Ceph, потому что, если у вас действительно большой набор данных, считывание его с одного диска станет вашим узким местом


Если вам просто нужен анализ логов, Apache Hive / Presto / Drill или Elasticsearch, вероятно, будет более оптимальным, чем Spark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...