site:enseignement:master:bdle:supports-cours:spark
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
site:enseignement:master:bdle:supports-cours:spark [15/11/2018 17:31] – amine | site:enseignement:master:bdle:supports-cours:spark [15/11/2018 18:12] (Version actuelle) – [Analyser du JSON en Spark SQL] amine | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
===== Datasets utilisés ===== | ===== Datasets utilisés ===== | ||
==== TPCH ==== | ==== TPCH ==== | ||
- | Copier | + | Désarchiver |
+ | L' | ||
+ | < | ||
+ | PARTKEY, | ||
+ | 1,goldenrod lace spring peru powder, | ||
+ | 2,blush rosy metallic lemon navajo, | ||
+ | </ | ||
En étant dans tpch-extrait, | En étant dans tpch-extrait, | ||
<code bash> | <code bash> | ||
Ligne 14: | Ligne 20: | ||
</ | </ | ||
- | ===== Spark RDD ===== | + | |
- | Commencer par charger les données en RDD | + | Les instructions suivantes sont communes aux deux sous-sections qui suivent et permette de charger les fichiers de l' |
<code scala> | <code scala> | ||
Ligne 22: | Ligne 28: | ||
val part_t = tpch+" | val part_t = tpch+" | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Spark RDD ===== | ||
Les instructions suivantes correspondent à la version Q17 simplifiée de TPCH suivante (attention, syntaxe incompatible avec certains compilateurs SQL) | Les instructions suivantes correspondent à la version Q17 simplifiée de TPCH suivante (attention, syntaxe incompatible avec certains compilateurs SQL) | ||
Ligne 70: | Ligne 80: | ||
val res = query.sum/7 | val res = query.sum/7 | ||
</ | </ | ||
+ | Pour afficher le plan d' | ||
+ | <code scala> | ||
+ | </ | ||
+ | Pour visualiser le plan d' | ||
+ | |||
===== Spark SQL ===== | ===== Spark SQL ===== | ||
+ | |||
+ | Le but ici est d' | ||
+ | |||
+ | |||
+ | <code scala> | ||
+ | import spark.implicits._ | ||
+ | |||
+ | |||
+ | val lineitem = spark.read.format(" | ||
+ | |||
+ | val part = spark.read.format(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Les instructions suivantes expriment les sous-expression de la requête | ||
+ | < | ||
+ | val inner = lineitem.groupBy(" | ||
+ | |||
+ | val outer = lineitem.join(part, | ||
+ | |||
+ | val q17_simp = inner.join(outer, | ||
+ | |||
+ | q17_simp.show() | ||
+ | </ | ||
+ | |||
+ | Pour examiner les plans logiques et physique utiliser le explain | ||
+ | <code scala> | ||
+ | q17_simp.explain(true) | ||
+ | </ | ||
+ | Il est aussi possible de visualizer le plan physique et les Stages de l' | ||
+ | ===== Analyser du JSON en Spark SQL ===== | ||
+ | Les extrait du cours sont dans <code bash>/ | ||
+ | Chaque fichier de l' | ||
+ | L' | ||
+ | |||
+ | <code scala> |
site/enseignement/master/bdle/supports-cours/spark.1542299480.txt.gz · Dernière modification : de amine