De quoi s'agit-il avec Apache Spark ?

robot
Création du résumé en cours

Apache Spark est ce moteur d'analyse open-source pour le big data. Cela a un peu changé la donne pour les organisations traitant d'énormes charges de données. Spark est rapide. Vraiment rapide. Il utilise le traitement en mémoire qui le fait passer devant les cadres traditionnels—environ 100 fois plus rapide que MapReduce pour les opérations en mémoire. Les choses basées sur disque ? Toujours 10 fois plus rapide.

Caractéristiques remarquables de Spark

Spark vous offre tout cet écosystème :

  • Vitesse : Moteur en mémoire qui traite les données à une vitesse fulgurante
  • Polyvalence : Fait toutes sortes de choses—SQL, apprentissage automatique, temps réel, graphiques
  • Plateforme Unifiée : Fonctionne bien avec différentes sources de données
  • Traitement Distribué : Répartit le travail sur des clusters pour d'énormes ensembles de données
  • Rich Libraries : MLlib pour l'apprentissage automatique. Spark Streaming aussi. Et GraphX pour l'analyse de graphes.

À l'intérieur de l'architecture de Spark

Les éléments clés d'Apache Spark incluent :

  1. Spark Driver : A tous ces planificateurs et gestionnaires qui transforment votre code en tâches
  2. Exécuteurs : Ceux-ci effectuent les calculs réels
  3. Gestionnaires de cluster : Cela peut être autonome, YARN, peu importe. Ils récupèrent les nœuds de travail.
  4. Nœuds de travail : Les serveurs qui effectuent le travail lourd

UDF PySpark : Personnalisez Spark

Spark vous permet de l'étendre avec des fonctions définies par l'utilisateur. Des choses plutôt intéressantes. Ces UDF dans PySpark vous permettent de créer une logique personnalisée lorsque les fonctions intégrées ne suffisent pas.

Faites un UDF comme ceci :

python from pyspark.sql.functions import udf from pyspark.sql.types import StringType

Définir une fonction Python

def convert_case(text): return text.upper() si text else None

S'inscrire en tant que UDF

upper_case_udf = udf(convert_case, StringType())

Appliquer au DataFrame

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

Les UDF ne sont pas parfaits. Ils sont plus lents que les intégrés à cause des problèmes de sérialisation. Peut-être essayez des UDF vectorisés si la vitesse est importante. Utilisez-les avec précaution.

Ajuster Spark avec spark-defaults.conf

Vous pouvez contrôler Spark via ce fichier spark-defaults.conf. Ce sont simplement des paires clé-valeur :

spark.master=yarn spark.executor.memory=4g spark.driver.memory=2g spark.executor.cores=2 spark.sql.shuffle.partitions=200

Un bon réglage semble impliquer des choses de mémoire. Les paramètres de partition aussi. La collecte des ordures peut avoir beaucoup d'importance. Les options de sérialisation pourraient aider à la performance.

Spark continue d'évoluer. C'est important dans le monde des données. Pas parfait, mais assez important.

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)