Big data : ordonnancement du noyau spark, DAG, travail, dépendance large-étroite, étape, pipeline de calcul de la mémoire, nombre de tâches de parallélisme

Big data : ordonnancement du noyau Spark

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
与此同时,既然要考网警之数据分析应用岗,那必然要考数据挖掘基础知识,今天开始咱们就对数据挖掘方面的东西好生讲讲 最最最重要的就是大数据,什么行测和面试都是小问题,最难最最重要的就是大数据技术相关的知识笔试


Big data : ordonnancement du noyau Spark

insérez la description de l'image ici
insérez la description de l'image ici
insérez la description de l'image ici
DAG, direction ancircle acyclic graph L'action de
insérez la description de l'image ici
graphe acyclique dirigée par DAG
insérez la description de l'image ici
est un commutateur d'exécution
, il y a une chaîne itérative avant l'exécution,
cette chaîne est un graphe acyclique dirigé par DAG

insérez la description de l'image ici
Il s'agit d'exécuter l'organigramme. Vous n'avez pas besoin de l'exécuter. Vous pouvez savoir comment vous voulez l'exécuter en regardant le code.

insérez la description de l'image ici

Étape par étape,
construisez un graphique DAG
insérez la description de l'image iciinsérez la description de l'image ici
, construisez un DAG,
et toutes les tâches peuvent être effectuées car la prise commence

En continuant avec l'exigence 2
insérez la description de l'image ici
, la prise qui a commencé à jouer avec split_rdd
insérez la description de l'image ici
est le commutateur de déclenchement.
Le cache persistant peut être utilisé directement

insérez la description de l'image ici
insérez la description de l'image ici
Chaque action a sa propre chaîne

insérez la description de l'image ici
Une action déclenche une
tâche de sous-tâche d'application de tâche
. Une chaîne est une tâche.

insérez la description de l'image ici
Entendu, autant d'actions, il y a autant de dags.
Une application contient plusieurs actions, c'est-à-dire plusieurs jobs

compris

insérez la description de l'image ici
insérez la description de l'image ici

insérez la description de l'image ici
fourchette

insérez la description de l'image ici
Une dépendance étroite est flatteuse.
Les threads s'exécutent entre différents exécuteurs
, de sorte que la transmission de données peut entraîner une saturation des performances d'E/S du réseau.
Comment le dire ?
Donc les étapes de dépendances étroites sont toutes calculées dans la même mémoire ? N'est-il pas nécessaire de transmettre io ?
Peut-on le gérer dans le même thread ?
Très bien.
insérez la description de l'image ici
Le thread 1 ne comporte qu'une seule ligne, un tube pour les calculs en mémoire. Il s'agit d'un pipeline de calcul en mémoire, appelé pipeline.

insérez la description de l'image ici
Idem, idem à droite

Ensuite la dépendance large doit aller vers le réseau io
ou tout sur le même exécuteur, ce qui est aussi calculé en mémoire [difficile à faire]

Si vous devez utiliser le réseau io, vous devez le transmettre. Quoi qu'il en soit, l'intérieur du pipeline informatique est tout simplement flatteur.

Bien sûr, la priorité du parallélisme des étincelles est que le
calcul de la mémoire centrale est secondaire

Vous voulez une mémoire complète, le mode local de connaissances, certainement pas le mode fil

Les données volumineuses ne peuvent pas être calculées en mémoire complète

insérez la description de l'image ici
Ne modifiez pas le degré de parallélisme s'il n'y a rien de mal
, afin que les performances puissent être garanties
.

Ne modifiez pas le nombre de partitions

insérez la description de l'image ici
Les dépendances étroites effectuent directement l'itération de la mémoire, c'est-à-dire les pipelines de calcul de la mémoire, et une tâche est effectuée
sans transmission réseau io, ce qui améliore les performances

Spark construit le DAG

DAG est transmis vers l'arrière pour former une dépendance large-étroite

Les dépendances étroites sont des itérations de calcul de pipeline

insérez la description de l'image ici
L'avantage de spark par rapport à MapReduce est qu'il a plus
d'opérateurs, et spark a un pipeline d'itération de mémoire, ce qui réduit beaucoup la transmission du réseau io, et les performances sont soudainement plus élevées.

C'est le sujet de l'entretien. L'examen doit distinguer le
insérez la description de l'image ici
degré de parallélisme, pas la partition.
La meilleure partition est similaire au degré de parallélisme.

insérez la description de l'image ici
insérez la description de l'image ici
insérez la description de l'image ici
Shuffle consiste à mélanger les cartes.
Il est préférable de ne pas mélanger le réseau io ou de faire trop d'opérations de mélange.
C'est difficile à faire.

Complexité de calcul
insérez la description de l'image ici
insérez la description de l'image ici
Le parallélisme est de 2 à 10 fois le nombre de processeurs


Résumer

提示:重要经验:

1)
2) Apprenez bien oracle, même si l'économie est froide, toute l'offre de test n'est certainement pas un problème ! En même temps, c'est aussi le seul moyen pour vous de tester la police publique d'Internet.
3) Lors de la recherche d'AC dans le test écrit, la complexité spatiale peut ne pas être prise en compte, mais l'entretien doit tenir compte à la fois de la complexité temporelle optimale et de la complexité spatiale optimale.

Acho que você gosta

Origin blog.csdn.net/weixin_46838716/article/details/131045673
Recomendado
Clasificación