Що таке Apache Spark?

robot
Генерація анотацій у процесі

Apache Spark — це відкритий аналітичний двигун для великих даних. Він дійсно змінив правила гри для організацій, які працюють з величезними обсягами даних. Spark швидкий. Дуже швидкий. Він використовує обробку в пам'яті, яка дозволяє йому проходити повз традиційні фреймворки — приблизно в 100 разів швидше, ніж MapReduce для операцій з пам'яттю. Що стосується обробки на диску? Все ще в 10 разів швидше.

Видатні особливості Spark

Spark надає вам цю цілу екосистему:

  • Швидкість: Двигун в пам'яті, який просто літає через обробку даних
  • Універсальність: Робить всілякі речі — SQL, машинне навчання, реальні дані, графіки
  • Уніфікована платформа: Працює з різними джерелами даних
  • Розподілене оброблення: Розподіляє роботу між кластерами для величезних наборів даних
  • Багаті бібліотеки: Є MLlib для машинного навчання. Також Spark Streaming. І GraphX для графової аналітики.

Всередині архітектури Spark

Основні частини Apache Spark включають:

  1. Spark Driver: Має всі ці ці планувальники та менеджери, які перетворюють ваш код на завдання
  2. Виконавці: Ці виконують фактичні обчислення
  3. Менеджери кластерів: Можуть бути автономними, YARN або іншими. Вони захоплюють робочі вузли.
  4. Вузли-робітники: Сервери, які виконують важку роботу

PySpark UDF: Зробіть Spark своїм

Spark дозволяє вам розширювати його за допомогою функцій, визначених користувачем. Дуже цікаві речі. Ці UDF у PySpark дозволяють вам створювати власну логіку, коли вбудованих функцій недостатньо.

Створіть UDF, як цей:

Пітон з pyspark.sql.functions імпортувати udf з pyspark.sql.types імпортувати StringType

Визначте функцію Python

Def convert_case(text): повернути text.upper() якщо text інакше None

Зареєструватися як UDF

upper_case_udf = udf(перетворити_регістр, StringType())

Застосувати до DataFrame

df = df.withColumn("upper_text", upper_case_udf(df.text_column))

UDF не є досконалими. Вони повільніші за вбудовані функції через проблеми з серіалізацією. Можливо, спробуйте векторизовані UDF, якщо швидкість має значення. Використовуйте їх обережно.

Налаштування Spark за допомогою spark-defaults.conf

Ви можете контролювати Spark через цей файл spark-defaults.conf. Це просто пари властивість-значення:

spark.master=пряжа spark.executor.memory=4 Г spark.driver.memory=2 Г spark.executor.cores=2 spark.sql.shuffle.partitions=200

Добре налаштування, здається, включає в себе пам'ять. Налаштування розділів також. Збір сміття може мати велике значення. Опції серіалізації можуть покращити продуктивність.

Spark продовжує еволюціонувати. Він великий у світі даних. Не ідеальний, але досить важливий.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити