{"id":5777,"date":"2024-04-10T12:50:42","date_gmt":"2024-04-10T12:50:42","guid":{"rendered":"https:\/\/ultratendencyaca-urouz8wsum.live-website.com\/?p=5777"},"modified":"2024-04-10T12:55:34","modified_gmt":"2024-04-10T12:55:34","slug":"spark-optimierung","status":"publish","type":"post","link":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/","title":{"rendered":"Spark-Optimierung"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><h2><strong>Was ist Spark?<\/strong><\/h2>\n<p>Apache Spark ist eine einheitliche Computing-Engine, die von einer Reihe von Bibliotheken begleitet wird, die f\u00fcr die parallele Datenverarbeitung in einer Cluster-Umgebung entwickelt wurden. Als die am aktivsten entwickelte Open-Source-Engine f\u00fcr parallele Verarbeitung entwickelt sich Spark schnell zu einem Standardwerkzeug f\u00fcr Entwickler und Datenwissenschaftler, die sich mit Big-Data-Aufgaben befassen. Sie ist mit g\u00e4ngigen Programmiersprachen wie Python, Java, Scala und R kompatibel und bietet ein umfangreiches Angebot an Bibliotheken f\u00fcr verschiedene Funktionen, von SQL bis hin zu Streaming und maschinellem Lernen. Spark ist vielseitig und kann in verschiedenen Umgebungen betrieben werden, von einem einzelnen Laptop bis hin zu ausgedehnten Clustern mit Tausenden von Servern. Mithilfe dieser Funktionen k\u00f6nnen Benutzer m\u00fchelos die Verarbeitung gro\u00dfer Datenmengen einleiten und Operationen nahtlos skalieren &#8211; von kleinen Setups bis hin zu umfangreichen Clustern.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><h2><strong>Wie man Spark optimiert<\/strong><\/h2>\n<h3><span style=\"color: #46b44a;\">01 &#8211;<\/span> Shuffling so weit wie m\u00f6glich vermeiden<\/h3>\n<p style=\"padding-left: 40px;\"><em>Was ist Shuffling?<\/em><\/p>\n<p style=\"padding-left: 40px;\"><em>Shuffling ist eine wichtige Operation im Kontext der verteilten Datenverarbeitung und spielt in Apache Spark eine wichtige Rolle, wenn es um gro\u00dfe Datens\u00e4tze geht, die \u00fcber mehrere Knoten in einem Cluster verteilt sind. Beim Shuffling werden die Daten im Cluster neu verteilt und reorganisiert, in der Regel als Ergebnis von Transformationen oder Operationen, die eine Gruppierung oder Aggregation von Daten auf eine Art und Weise erfordern, wie sie zuvor nicht der Fall war.<\/em><\/p>\n<p>Das Mischen von Daten kann zeit- und bandbreitenintensiv sein, da es Datenbewegungen und Koordinierung zwischen den Knotenpunkten erfordert. Die Minimierung des Shufflings ist h\u00e4ufig ein Ziel der Leistungsoptimierung bei der Entwicklung von Spark-Anwendungen. Strategien wie die Auswahl geeigneter Partitionierungsmethoden, die Verwendung von Broadcast-Variablen und die Optimierung des Ausf\u00fchrungsplans k\u00f6nnen dazu beitragen, die Auswirkungen des Shufflings auf die Gesamtleistung von Spark-Auftr\u00e4gen abzuschw\u00e4chen.<\/p>\n<p>In Situationen, in denen das Problem mit reduceByKey gel\u00f6st werden kann, sollten Sie immer reduceByKey verwenden. Bei der Verwendung von groupByKey kommt es unweigerlich zu der h\u00f6chst unerw\u00fcnschten (aber manchmal unvermeidbaren) Datenumverteilung \u00fcber alle Knoten in Spark. Bei der Verwendung von reduceByKey werden die Daten zwar immer noch gemischt, der wesentliche Unterschied zwischen den beiden Funktionen liegt jedoch darin, dass reduceByKey die Reduktionsoperation vor der Mischung durchf\u00fchrt, wodurch die \u00fcber das Netz \u00fcbertragene Datenmenge drastisch reduziert wird. Daher ist es ratsam, Funktionen zu verwenden, die die Datengr\u00f6\u00dfe vor dem Mischen reduzieren, wie reduceByKey oder aggregateByKey, wann immer m\u00f6glich. Selbst bei der gleichen breiten Transformationsfunktion kann es erhebliche Leistungsunterschiede geben.<\/p>\n<p>Im folgenden Beispiel wird die Leistung von &#8222;groupByKey&#8220; und &#8222;reduceByKey&#8220; verglichen:<\/p>\n<p><strong>Verwendung von groupByKey:<\/strong><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1450\" height=\"174\" title=\"spark_01\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_01.png\" alt class=\"lazyload img-responsive wp-image-5756\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271450%27%20height%3D%27174%27%20viewBox%3D%270%200%201450%20174%27%3E%3Crect%20width%3D%271450%27%20height%3D%27174%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01-200x24.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01-400x48.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01-600x72.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01-800x96.png 800w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01-1200x144.png 1200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_01.png 1450w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-3\"><h2><\/h2>\n<p><strong>Verwendung von reduceByKey:<\/strong><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"1450\" height=\"214\" title=\"spark_02\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_02.png\" alt class=\"lazyload img-responsive wp-image-5754\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271450%27%20height%3D%27214%27%20viewBox%3D%270%200%201450%20214%27%3E%3Crect%20width%3D%271450%27%20height%3D%27214%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02-200x30.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02-400x59.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02-600x89.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02-800x118.png 800w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02-1200x177.png 1200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_02.png 1450w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-4\"><p><strong>DAG groupByKey vs. reduceByKey:<\/strong><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-3 hover-type-none\"><img decoding=\"async\" width=\"334\" height=\"256\" title=\"spark_03\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_03.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_03.png\" alt class=\"lazyload img-responsive wp-image-5752\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27334%27%20height%3D%27256%27%20viewBox%3D%270%200%20334%20256%27%3E%3Crect%20width%3D%27334%27%20height%3D%27256%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_03-200x153.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_03.png 334w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 334px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-4 hover-type-none\"><img decoding=\"async\" width=\"351\" height=\"264\" title=\"spark_04\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_04.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_04.png\" alt class=\"lazyload img-responsive wp-image-5750\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27351%27%20height%3D%27264%27%20viewBox%3D%270%200%20351%20264%27%3E%3Crect%20width%3D%27351%27%20height%3D%27264%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_04-200x150.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_04.png 351w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 351px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\"><p><strong>Vergleich der Gesamtbearbeitungszeit:<\/strong><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-5 hover-type-none\"><img decoding=\"async\" width=\"728\" height=\"225\" title=\"spark_05\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_05.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_05.png\" alt class=\"lazyload img-responsive wp-image-5748\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27728%27%20height%3D%27225%27%20viewBox%3D%270%200%20728%20225%27%3E%3Crect%20width%3D%27728%27%20height%3D%27225%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_05-200x62.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_05-400x124.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_05-600x185.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_05.png 728w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 728px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\"><h3><span style=\"color: #46b44a;\">02<\/span> <span style=\"color: #46b44a;\">&#8211;<\/span> Unterteilung<\/h3>\n<p>In parallelen Umgebungen wie einem Spark-Cluster ist es entscheidend, die Daten angemessen zu partitionieren. Dadurch wird sichergestellt, dass jeder Executor-Knoten aktiv und produktiv bleibt. Wenn schlecht partitionierte Daten f\u00fcr die Verarbeitung verwendet werden, kann dies zu einer Situation f\u00fchren, in der bestimmte Knoten eine unverh\u00e4ltnism\u00e4\u00dfig hohe Arbeitslast tragen. Dies wird als Datenschieflage bezeichnet. In Situationen, in denen der Programmierer die Kontrolle hat, kann er die Anzahl der Partitionen mit Funktionen wie &#8222;coalesce&#8220; oder &#8222;repartition&#8220; anpassen. Es gibt jedoch Szenarien, die sich der Kontrolle des Programmierers entziehen, z. B. bei Operationen wie &#8222;join&#8220;, die ein Mischen der Daten erfordern. In solchen F\u00e4llen wird die Anzahl der Partitionen durch den Spark-Konfigurationsparameter &#8222;spark.sql.shuffle.partitions&#8220; bestimmt. Bei Auftr\u00e4gen, die h\u00e4ufige Join-Operationen erfordern, hilft die vorherige Anpassung dieses Konfigurationswerts daher, eine angemessene Anzahl von Partitionen beizubehalten.<\/p>\n<p>Es ist wichtig, den Unterschied zwischen &#8222;coalesce&#8220; und &#8222;repartition&#8220; zu beachten. repartition&#8216; f\u00fchrt zu einer Umverteilung, da der gesamte Datenbestand gleichm\u00e4\u00dfig auf die Knoten verteilt wird. Dies ist unvermeidlich, da das Wesen der Repartitionierung darin besteht, eine gleichm\u00e4\u00dfige Verteilung auf die Knoten zu erreichen. Andererseits erm\u00f6glicht die Verwendung der Funktion &#8222;coalesce&#8220; die Verteilung der Daten, ohne ein Shuffling auszul\u00f6sen, allerdings mit der Einschr\u00e4nkung, dass die Anzahl der Partitionen nicht erh\u00f6ht werden kann.<\/p>\n<h3><span style=\"color: #46b44a;\">03<\/span> <span style=\"color: #46b44a;\">&#8211;<\/span> Verwenden Sie die richtigen Datenstrukturen<\/h3>\n<p>Ab Spark 2.x wird empfohlen, die Dataset-API zu verwenden. Die zugrundeliegende Struktur von Datasets ist zwar immer noch RDD, aber sie beinhaltet verschiedene Optimierungen, wie die Spark Catalyst-Optimierung, und eine viel leistungsf\u00e4higere Schnittstelle. Bei der Durchf\u00fchrung zeitaufw\u00e4ndiger Join-Operationen mit der High-Level-API k\u00f6nnen die Optimierungen beispielsweise automatisch auf Techniken wie Broadcast Join umschalten, um das Shuffling so weit wie m\u00f6glich zu minimieren. Daher ist es ratsam, wann immer m\u00f6glich, Datasets oder DataFrames zu verwenden.<\/p>\n<\/div><div class=\"fusion-text fusion-text-7\"><h3><span style=\"color: #46b44a;\">04 &#8211;<\/span> Verwendung von Broadcast-Variablen<\/h3>\n<p>Broadcast-Variablen in Apache Spark werden verwendet, um schreibgesch\u00fctzte Variablen effizient \u00fcber die Knoten in einem Spark-Cluster zu verteilen. Anstatt eine Kopie der Variablen an jede Aufgabe zu senden, was ressourcenintensiv und ineffizient sein kann, erm\u00f6glichen Broadcast-Variablen die Zwischenspeicherung der Variablen auf jedem Rechner und die gemeinsame Nutzung durch die Aufgaben, die auf diesem Rechner laufen. Dies kann die Leistung bestimmter Spark-Operationen erheblich verbessern, da die \u00fcber das Netzwerk zu \u00fcbertragende Datenmenge reduziert wird.<\/p>\n<p>Nachfolgend ein Beispiel f\u00fcr die Verbindung zweier Datenrahmen. Die erste Variante ist ohne Broadcast, die zweite mit Broadcast.<\/p>\n<\/div><div class=\"fusion-text fusion-text-8\"><p><strong>Verbinden von zwei Datenrahmen ohne \u00dcbertragung:<\/strong><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-6 hover-type-none\"><img decoding=\"async\" width=\"1100\" height=\"525\" title=\"spark_06\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_06.png\" alt class=\"lazyload img-responsive wp-image-5763\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271100%27%20height%3D%27525%27%20viewBox%3D%270%200%201100%20525%27%3E%3Crect%20width%3D%271100%27%20height%3D%27525%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06-200x95.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06-400x191.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06-600x286.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06-800x382.png 800w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_06.png 1100w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1100px\" \/><\/span><\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-7 hover-type-none\"><img decoding=\"async\" width=\"302\" height=\"144\" title=\"spark_07\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_07.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_07.png\" alt class=\"lazyload img-responsive wp-image-5761\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27302%27%20height%3D%27144%27%20viewBox%3D%270%200%20302%20144%27%3E%3Crect%20width%3D%27302%27%20height%3D%27144%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_07-200x95.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_07.png 302w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 302px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-9\"><p><strong>Verbinden von zwei Datenrahmen mit Broadcasting:<\/strong><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-8 hover-type-none\"><img decoding=\"async\" width=\"1100\" height=\"525\" title=\"spark_08\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_08.png\" alt class=\"lazyload img-responsive wp-image-5767\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271100%27%20height%3D%27525%27%20viewBox%3D%270%200%201100%20525%27%3E%3Crect%20width%3D%271100%27%20height%3D%27525%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08-200x95.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08-400x191.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08-600x286.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08-800x382.png 800w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_08.png 1100w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1100px\" \/><\/span><\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-9 hover-type-none\"><img decoding=\"async\" width=\"295\" height=\"139\" title=\"spark_09\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_09.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_09.png\" alt class=\"lazyload img-responsive wp-image-5765\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27295%27%20height%3D%27139%27%20viewBox%3D%270%200%20295%20139%27%3E%3Crect%20width%3D%27295%27%20height%3D%27139%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_09-200x94.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_09.png 295w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 295px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-10\"><p>Wenn Sie beide Beispiele ausf\u00fchren, werden Sie feststellen, dass der gr\u00f6\u00dfte Unterschied darin besteht, dass bei dem Beispiel mit Broadcast kein Mischen erforderlich ist. Bei Spark ist das Mischen ein kostspieliger Vorgang. Durch die Verwendung von Broadcast wird unn\u00f6tiges Shuffling vermieden, was die Netzauslastung reduziert. Bei Spark, wo die Verarbeitung gro\u00dfer Datenmengen \u00fcblich ist, kann die Minimierung dieser unn\u00f6tigen Netzwerknutzung die Leistung erheblich verbessern.<\/p>\n<\/div><div class=\"fusion-text fusion-text-11\"><h3><span style=\"color: #46b44a;\">05 &#8211;<\/span> Zwischenzeitliche Daten beibehalten<\/h3>\n<p>In Apache Spark sind persist() und cache() Methoden, die verwendet werden, um ein DataFrame, RDD (Resilient Distributed Dataset) oder Dataset im Speicher oder auf der Festplatte zu speichern. Diese Methoden sind besonders n\u00fctzlich, um die Leistung von iterativen oder interaktiven Spark-Workloads zu verbessern, da die Daten nicht bei jedem Zugriff neu berechnet werden m\u00fcssen.<\/p>\n<p>Insbesondere iterative Algorithmen f\u00fcr maschinelles Lernen, wie sie in der MLlib von Spark \u00fcblich sind, profitieren erheblich von Caching oder Persisting. Diese Algorithmen greifen w\u00e4hrend der Iterationen wiederholt auf dieselben Daten zu und aktualisieren sie, so dass die Zwischenspeicherung f\u00fcr die Effizienz unerl\u00e4sslich ist.<\/p>\n<p>Wenn Daten persistiert werden, speichert Spark sie au\u00dferdem auf eine fehlertolerante Weise. Dadurch wird sichergestellt, dass bei einem Ausfall eines Knotens w\u00e4hrend der Berechnung die verlorenen Daten aus der urspr\u00fcnglichen Quelle oder aus Zwischenschritten neu berechnet werden k\u00f6nnen, so dass die Datenintegrit\u00e4t erhalten bleibt.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:2%;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-10 hover-type-none\"><img decoding=\"async\" width=\"1344\" height=\"435\" title=\"spark_10\" src=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10.png\" data-orig-src=\"\/wp-content\/uploads\/2024\/04\/spark_10.png\" alt class=\"lazyload img-responsive wp-image-5770\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271344%27%20height%3D%27435%27%20viewBox%3D%270%200%201344%20435%27%3E%3Crect%20width%3D%271344%27%20height%3D%27435%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10-200x65.png 200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10-400x129.png 400w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10-600x194.png 600w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10-800x259.png 800w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10-1200x388.png 1200w, https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/spark_10.png 1344w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1200px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-12\"><p>In diesem Beispiel wird die Methode persist() verwendet, um den DataFrame im Speicher zwischenzuspeichern. Nachfolgende Aktionen auf dem DataFrame k\u00f6nnen von den zwischengespeicherten Daten profitieren, was die Leistung verbessert. Denken Sie daran, dass Sie je nach Anwendungsfall und verf\u00fcgbaren Ressourcen eine geeignete Speicherebene w\u00e4hlen sollten.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":5775,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42],"tags":[],"class_list":["post-5777","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz<\/title>\n<meta name=\"description\" content=\"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz\" \/>\n<meta property=\"og:description\" content=\"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/\" \/>\n<meta property=\"og:site_name\" content=\"Ultra Tendency Academy\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-10T12:50:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-10T12:55:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sally Bo Hatter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sally Bo Hatter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"36\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/\"},\"author\":{\"name\":\"Sally Bo Hatter\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/#\\\/schema\\\/person\\\/b417acb6e3e5e24ff1b0c5941e419ea9\"},\"headline\":\"Spark-Optimierung\",\"datePublished\":\"2024-04-10T12:50:42+00:00\",\"dateModified\":\"2024-04-10T12:55:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/\"},\"wordCount\":7232,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ultratendency.academy\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/UAA-Blog-1.png\",\"articleSection\":[\"Coding\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/\",\"url\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/\",\"name\":\"Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ultratendency.academy\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/UAA-Blog-1.png\",\"datePublished\":\"2024-04-10T12:50:42+00:00\",\"dateModified\":\"2024-04-10T12:55:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/#\\\/schema\\\/person\\\/b417acb6e3e5e24ff1b0c5941e419ea9\"},\"description\":\"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ultratendency.academy\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/UAA-Blog-1.png\",\"contentUrl\":\"https:\\\/\\\/ultratendency.academy\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/UAA-Blog-1.png\",\"width\":750,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/2024\\\/04\\\/10\\\/spark-optimierung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spark-Optimierung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/\",\"name\":\"Ultra Tendency Academy\",\"description\":\"News &amp; Expertentipps aus der IT-Branche\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/#\\\/schema\\\/person\\\/b417acb6e3e5e24ff1b0c5941e419ea9\",\"name\":\"Sally Bo Hatter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g\",\"caption\":\"Sally Bo Hatter\"},\"url\":\"https:\\\/\\\/ultratendency.academy\\\/de\\\/author\\\/sallybohattar\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz","description":"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/","og_locale":"de_DE","og_type":"article","og_title":"Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz","og_description":"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:","og_url":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/","og_site_name":"Ultra Tendency Academy","article_published_time":"2024-04-10T12:50:42+00:00","article_modified_time":"2024-04-10T12:55:34+00:00","og_image":[{"width":750,"height":500,"url":"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png","type":"image\/png"}],"author":"Sally Bo Hatter","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Sally Bo Hatter","Gesch\u00e4tzte Lesezeit":"36\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#article","isPartOf":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/"},"author":{"name":"Sally Bo Hatter","@id":"https:\/\/ultratendency.academy\/de\/#\/schema\/person\/b417acb6e3e5e24ff1b0c5941e419ea9"},"headline":"Spark-Optimierung","datePublished":"2024-04-10T12:50:42+00:00","dateModified":"2024-04-10T12:55:34+00:00","mainEntityOfPage":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/"},"wordCount":7232,"commentCount":0,"image":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#primaryimage"},"thumbnailUrl":"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png","articleSection":["Coding"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/","url":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/","name":"Spark-Optimierung - Ultra Tendency Academy Pandas Performance steigern: Vom Profiling zur Optimierung mit Snakeviz","isPartOf":{"@id":"https:\/\/ultratendency.academy\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#primaryimage"},"image":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#primaryimage"},"thumbnailUrl":"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png","datePublished":"2024-04-10T12:50:42+00:00","dateModified":"2024-04-10T12:55:34+00:00","author":{"@id":"https:\/\/ultratendency.academy\/de\/#\/schema\/person\/b417acb6e3e5e24ff1b0c5941e419ea9"},"description":"Ein Praxisbeispiel, wie das Profiling von snakeviz bei der Suche von Bottlenecks und der Optimierung von Pandas Analysen hilft:","breadcrumb":{"@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#primaryimage","url":"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png","contentUrl":"https:\/\/ultratendency.academy\/wp-content\/uploads\/2024\/04\/UAA-Blog-1.png","width":750,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/ultratendency.academy\/de\/2024\/04\/10\/spark-optimierung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/ultratendency.academy\/de\/"},{"@type":"ListItem","position":2,"name":"Spark-Optimierung"}]},{"@type":"WebSite","@id":"https:\/\/ultratendency.academy\/de\/#website","url":"https:\/\/ultratendency.academy\/de\/","name":"Ultra Tendency Academy","description":"News &amp; Expertentipps aus der IT-Branche","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ultratendency.academy\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/ultratendency.academy\/de\/#\/schema\/person\/b417acb6e3e5e24ff1b0c5941e419ea9","name":"Sally Bo Hatter","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6af8a92f6ae6021d8e0786d04c66cacfb1c012d43877d0715f99e0fb5a379d7a?s=96&d=mm&r=g","caption":"Sally Bo Hatter"},"url":"https:\/\/ultratendency.academy\/de\/author\/sallybohattar\/"}]}},"_links":{"self":[{"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/posts\/5777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/comments?post=5777"}],"version-history":[{"count":0,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/posts\/5777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/media\/5775"}],"wp:attachment":[{"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/media?parent=5777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/categories?post=5777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ultratendency.academy\/de\/wp-json\/wp\/v2\/tags?post=5777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}