6
votes

Les centiles d'un ensemble de données peuvent-ils être calculés sur une manière de la carte de la carte?

Ma compréhension consiste à calculer des centiles, les données doivent être triées. Cela serait-il possible avec une énorme quantité de données réparties sur plusieurs serveurs, sans le déplacer?


0 commentaires

3 Réponses :


0
votes

La réponse à votre question est oui , il est possible . Mais la carte est réduite n'est pas vraiment conçue pour ce type de tâche. Carte-Réduire (comme utilisé dans un cluster Hadoop, par exemple) brille sur des données non structurées ou semi-structurées. Bien qu'il ait la la capacité pour traiter d'autres types, il n'est pas le mieux adapté à celui-ci. (J'ai eu un projet dans une entreprise où ils voulaient analyser XML dans un cluster Hadoop ... Ce n'était pas la chose la plus amusante.)

Cet article érudit décrit certaines des problèmes avec la carte-réduction sur les données structurées et offre une approche alternative avec "Clydesdale". (Je n'ai jamais entendu parler ou utilisé cela, donc je ne peux ni l'endorcer ni parler de ses forces / faiblesses.)

Je recherche plus de liens qui offrent des explications et des alternatives.


0 commentaires

2
votes

Bien que MapReduce en tant que paradigme ne ressemble pas au problème, la mise en œuvre de MR - est. de
La mise en œuvre de la carte de Hadoop est basée sur Sort distribué - et c'est ce dont vous avez besoin. Hadoop fait trier en déplaçant des données entre serveurs une seule fois - pas si mal. de
Je suggérerais de regarder sur Hadoop TeraSort MiseAiTon illustrant le bien (et probablement le meilleur) de manière à trier des données massives avec Hadoop. http: //hadoop.apache .org / docs / actuel / API / org / Apache / Hadoop / Exemples / TeraSort / Package-Sommaire.html


0 commentaires

2
votes

Je créerais d'abord un histogramme, sur une machine ou plusieurs machines. Une fois que vous avez compté pour chaque valeur possible des godets de valeurs possibles, vous pouvez les combiner si nécessaire. Le gain d'utilisation d'un histogramme est qu'il a une insertion / un temps de tri au lieu de O (journal n) et utilise un espace O (m) où M est le nombre de valeurs ou de godets possibles au lieu de O (n) est le nombre d'échantillons.

Un histogramme est naturellement trié pour que vous puissiez obtenir un compte total et trouver les centimètres en comptant à partir de l'une ou l'autre extrémité.


0 commentaires