La détermination de la médiane ou des quantiles d'un grand ensemble de données est importante pour l'analyse statistique et pour fournir des informations sur la distribution des données. Dans ce contexte, Apache Spark fournit des méthodes distribuées pour calculer ces valeurs.
Pour les versions Spark 2.0 et supérieures, vous pouvez utiliser la méthode approxQuantile. Il implémente l'algorithme de Greenwald-Khanna, offrant un moyen efficace d'approcher les quantiles.
Syntaxe (Python) :
<code class="python">df.approxQuantile("column_name", [quantile value 0.5], relative_error)</code>
Syntaxe (Scala) :
<code class="scala">df.stat.approxQuantile("column_name", Array[Double](0.5), relative_error)</code>
où relative_error est un paramètre qui contrôle l'exactitude du résultat. Des valeurs plus élevées correspondent à des calculs moins précis mais plus rapides.
Python :
Language Independent (UDAF) :
Si vous utilisez HiveContext, vous pouvez exploiter les UDAF Hive pour calculer des quantiles. Par exemple :
<code class="sql">SELECT percentile_approx(column_name, quantile value) FROM table</code>
Pour les ensembles de données plus petits (environ 700 000 éléments dans votre cas), il peut être plus efficace de collecter les données localement et de calculer ensuite la médiane. Cependant, pour des ensembles de données plus volumineux, les méthodes distribuées décrites ci-dessus constituent une solution efficace et évolutive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!