Database
 sql >> база данни >  >> RDS >> Database

Рамка на Apache Spark Job Run!

Сега нашата общност за анализ на големи данни започна да използва Apache Spark с пълна сила за обработка на големи данни. Обработката може да се използва за ad hoc заявки, предварително изградени заявки, обработка на графики, машинно обучение и дори за поточно предаване на данни.

Следователно разбирането на Spark Job Submission е много важно за общността. Разширете до това с удоволствие да споделя с вас знанията от стъпките, включени в изпращането на задание в Apache Spark.

По принцип има две стъпки,

Подаване на работа

Заданието Spark се изпраща автоматично, когато се извършват действия като count () върху RDD.
Вътрешно runJob() се извиква в SparkContext и след това се извиква към планировчика, който се изпълнява като част от деривъра.
Планировчикът се състои от 2 части – DAG Scheduler и Task Scheduler.

DAG Construction

Има два вида DAG конструкции,

  • Simple Spark задание е такова, което не се нуждае от разбъркване и поради това има само един етап, съставен от задачи с резултати, като задача само за карта в MapReduce
  • Сложното задание на Spark включва групиращи операции и изисква един или повече етапа на разбъркване.
  • DAG планировщикът на Spark превръща заданието в два етапа.
  • DAG планировчикът е отговорен за разделянето на етап на задачи за подаване на планировчика на задачи.
  • На всяка задача се дава предпочитание за разположение от планировчика на DAG, за да позволи на планировчика на задачи да се възползва от локалността на данните.
  • Етапите за деца се изпращат само след като родителите им завършат успешно.

Планиране на задачи

  • Инструментът за планиране на задачи ще изпрати набор от задачи; той използва своя списък с изпълнители, които се изпълняват за приложението, и изгражда съпоставяне на задачите с изпълнители, което взема предвид предпочитанията за разположение.
  • Планировчикът на задачи присвоява на изпълнители, които имат свободни ядра, като на всяка задача се разпределя едно ядро ​​по подразбиране. Може да се промени чрез параметър spark.task.cpus.
  • Spark използва Akka, която е базирана на актьори платформа за изграждане на силно мащабируеми разпределени приложения, управлявани от събития.
  • Spark не използва Hadoop RPC за отдалечени обаждания.

Изпълнение на задача

Изпълнителят изпълнява задача, както следва,

  • Той гарантира, че зависимостите на JAR и файла за задачата са актуални.
  • Десериализира кода на задачата.
  • Кодът на задачата се изпълнява.
  • Task връща резултати на драйвера, който се сглобява в краен резултат, който се връща на потребителя.

Справка

  •  Окончателното ръководство на Hadoop
  • Общност с отворен код за анализи и големи данни

Тази статия първоначално се появи тук. Препубликувано с разрешение. Изпратете жалбите си за авторски права тук.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възстановяване на примерна DW база данни AdventureWorksDW2019

  2. Избягвайте самозаблудата на HA/DR разтвор

  3. Топ 18 безплатни и широко използвани бази данни NoSQL с отворен код

  4. NULL сложности – Част 3, Липсващи стандартни функции и алтернативи на T-SQL

  5. Анонимизиране на косвени идентификатори за по-нисък риск от повторно идентифициране