Apache Spark — це відкритий аналітичний двигун для великих даних. Він дійсно змінив правила гри для організацій, які працюють з величезними обсягами даних. Spark швидкий. Дуже швидкий. Він використовує обробку в пам'яті, яка дозволяє йому проходити повз традиційні фреймворки — приблизно в 100 разів швидше, ніж MapReduce для операцій з пам'яттю. Що стосується обробки на диску? Все ще в 10 разів швидше.
Видатні особливості Spark
Spark надає вам цю цілу екосистему:
Швидкість: Двигун в пам'яті, який просто літає через обробку даних
Універсальність: Робить всілякі речі — SQL, машинне навчання, реальні дані, графіки
Уніфікована платформа: Працює з різними джерелами даних
Розподілене оброблення: Розподіляє роботу між кластерами для величезних наборів даних
Багаті бібліотеки: Є MLlib для машинного навчання. Також Spark Streaming. І GraphX для графової аналітики.
Всередині архітектури Spark
Основні частини Apache Spark включають:
Spark Driver: Має всі ці ці планувальники та менеджери, які перетворюють ваш код на завдання
Виконавці: Ці виконують фактичні обчислення
Менеджери кластерів: Можуть бути автономними, YARN або іншими. Вони захоплюють робочі вузли.
Вузли-робітники: Сервери, які виконують важку роботу
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 не є досконалими. Вони повільніші за вбудовані функції через проблеми з серіалізацією. Можливо, спробуйте векторизовані 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, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Що таке Apache Spark?
Apache Spark — це відкритий аналітичний двигун для великих даних. Він дійсно змінив правила гри для організацій, які працюють з величезними обсягами даних. Spark швидкий. Дуже швидкий. Він використовує обробку в пам'яті, яка дозволяє йому проходити повз традиційні фреймворки — приблизно в 100 разів швидше, ніж MapReduce для операцій з пам'яттю. Що стосується обробки на диску? Все ще в 10 разів швидше.
Видатні особливості Spark
Spark надає вам цю цілу екосистему:
Всередині архітектури Spark
Основні частини Apache Spark включають:
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 продовжує еволюціонувати. Він великий у світі даних. Не ідеальний, але досить важливий.