Big data : ordonnancement du noyau Spark
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
与此同时,既然要考网警之数据分析应用岗,那必然要考数据挖掘基础知识,今天开始咱们就对数据挖掘方面的东西好生讲讲 最最最重要的就是大数据,什么行测和面试都是小问题,最难最最重要的就是大数据技术相关的知识笔试
Big data : ordonnancement du noyau Spark
DAG, direction ancircle acyclic graph L'action de
graphe acyclique dirigée par DAG
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
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.
Étape par étape,
construisez un graphique DAG
, construisez un DAG,
et toutes les tâches peuvent être effectuées car la prise commence
En continuant avec l'exigence 2
, la prise qui a commencé à jouer avec split_rdd
est le commutateur de déclenchement.
Le cache persistant peut être utilisé directement
Chaque action a sa propre chaîne
Une action déclenche une
tâche de sous-tâche d'application de tâche
. Une chaîne est une tâche.
Entendu, autant d'actions, il y a autant de dags.
Une application contient plusieurs actions, c'est-à-dire plusieurs jobs
compris
fourchette
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.
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.
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
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
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
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
degré de parallélisme, pas la partition.
La meilleure partition est similaire au degré de parallélisme.
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
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.