2012-05-07 3 views
2

Je travaille sur un projet Hadoop et génère beaucoup de données dans mon cluster local. Plus tard, j'utiliserai la solution Hadoop basée sur le cloud car mon cluster Hadoop est très petit par rapport à la charge de travail réelle, mais je n'ai pas le choix à partir de maintenant lequel je vais utiliser Windows Azure, EMR ou autre. Je génère beaucoup de données localement et je veux stocker ces données dans un stockage en nuage basé sur le fait que j'utiliserai ces données avec Hadoop plus tard, mais très bientôt.Pour Hadoop, quel stockage de données choisir, Amazon S3 ou Azure Blob Store?

Je suis à la recherche de suggestion pour décider quel magasin de cloud choisir en fonction de l'expérience de quelqu'un. Merci d'avance.

Répondre

1

Tout d'abord c'est une excellente question. Essayons de comprendre « Comment les données sont traitées dans Hadoop »:

  1. Dans Hadoop toutes les données sont traitées sur le cluster Hadoop signifie que lorsque vous traitez des données, que les données sont copiées à partir de ses sources à HDFS, qui est un élément essentiel composant de Hadoop.
  2. Lorsque les données sont copiées dans HDFS uniquement après l'exécution de travaux Map/Reduce pour obtenir vos résultats. Cela signifie que peu importe où et où se trouvent vos sources de données (Amazon S3, Azure Blob, SQL Azure, SQL Server, sur site source etc), vous devrez déplacer/transférer/copier vos données de la source vers HDFS , dans les limites de Hadoop.
  3. Une fois les données traitées dans le cluster Hadoop, le résultat sera stocké dans l'emplacement que vous auriez configuré dans votre travail. La source de données de sortie peut être HDFS ou un emplacement extérieur accessible depuis Hadoop Cluster

  4. Une fois que vous avez copié des données dans HDFS, vous pouvez en garder un HDFS aussi longtemps que vous le souhaitez, mais vous devrez payer le prix pour utiliser Hadoop grappe. Dans certains cas, lorsque vous exécutez Hadoop Job entre un certain intervalle et le déplacement/copie de données peut être effectué plus rapidement, il est bon d'avoir une stratégie pour 1) acquérir Hadoop cluster 2) copier des données 3) exécuter job 4) libérer le cluster.

Donc, en fonction des détails ci-dessus, lorsque vous choisissez une source de données Cloud pour votre cluster Hadoop vous devez considérer les points suivants:

  1. Si vous avez de grandes données (ce qui est normal avec Clusters Hadoop) à traiter, considérez différentes sources de données et le temps nécessaire pour copier/déplacer des données de ces sources de données vers HDFS, car ce sera votre première étape.

  2. Vous devez choisir une source de données qui doit avoir la latence réseau la plus faible pour que vous puissiez récupérer et stocker les données le plus rapidement possible.

  3. Vous devez également considérer comment vous allez déplacer une grande quantité de données de votre emplacement actuel vers n'importe quel magasin cloud. La meilleure option serait d'avoir un stockage où vous pouvez envoyer votre disque de données (HDD/Tape etc) car le téléchargement de plusieurs données TB prendra beaucoup de temps. Amazon EMR (déjà disponible), Windows Azure (HadoopOnAzure dans CTP) et Google (BigQuery dans Preview, basé sur Google Dremel) fournit des clusters Hadoop préconfigurés dans le cloud afin que vous puissiez choisir où vous souhaitez exécuter votre Travail Hadoop alors vous pouvez envisager le stockage en nuage.Même si vous choisissez un stockage de données cloud et décidez de passer à un autre, car vous souhaitez utiliser d'autres clusters Hadoop dans le cloud, vous pouvez transférer les données, mais prenez en compte la prise en charge du transfert de données et de temps. Par exemple, avec HadooponAzure, vous pouvez connecter différentes sources de données, notamment Amazon S3, Azure Blob Storage, SQL Server et SQL Azure, afin que diverses sources de données soient les meilleures avec n'importe quel cluster Hadoop cloud.

Questions connexes