Question

Nous utilisons actuellement Redshift notre entrepôt de données, que nous sommes très heureux. Cependant, nous avons maintenant l'obligation de faire l'apprentissage de la machine contre les données dans notre entrepôt. Compte tenu du volume des données, idéalement je veux lancer le calcul dans le même endroit que les données plutôt que de déplacer les données autour, mais cela ne semble pas possible avec Redshift. Je l'ai regardé Madlib, mais ce n'est pas une option que Redshift ne supporte pas UDFs (ce qui nécessite Madlib). Je cherche actuellement à transférer les données vers DME et à traiter avec la bibliothèque d'apprentissage automatique Spark Apache (ou peut-être H20, ou Mahout, ou autre). Mes questions sont les suivantes:

  1. est-il une meilleure façon?
  2. sinon, comment dois-je rendre les données accessibles à Spark? Les options que j'ai identifiés à ce jour comprennent: l'utilisation Sqoop pour le charger dans HDFS, l'utilisation DBInputFormat, faire une exportation Redshift à S3 et ont grab Spark à partir de là. Quels sont les avantages / inconvénients de ces différentes approches (et les autres) lors de l'utilisation Spark?

Notez que ce que l'apprentissage par lots hors ligne, mais nous aimerions pouvoir le faire le plus rapidement possible afin que nous puissions itérer expériences rapidement.

Était-ce utile?

La solution

Le nouveau service d'apprentissage Amazon Machine peut travailler pour vous. Il travaille directement avec Redshift et pourrait être une bonne façon de commencer. http://aws.amazon.com/machine-learning/

Si vous cherchez à traiter en utilisant DME, vous pouvez utiliser la commande Unload Redshift aux données terrestres sur S3. Spark sur DME peut alors y accéder directement, sans avoir à tirer dans HDFS.

Spark sur EMR: https://aws.amazon.com/articles/Elastic- MapReduce / 4926593393724923

Autres conseils

Vous pouvez essayer. https://github.com/databricks/spark-redshift

Sinon, utilisez la réponse de Rahul, les données de déchargement à s3 puis le charger dans SPARK. DME Spark est au-dessus de la méthode et de YARN contexte Spark textFile les supports "s3 //" en mode natif.

Licencié sous: CC-BY-SA avec attribution
scroll top