Обработка данных, хранящихся в красном смещении

datascience.stackexchange https://datascience.stackexchange.com/questions/2454

  •  16-10-2019
  •  | 
  •  

Вопрос

В настоящее время мы используем Redshift в качестве нашего хранилища данных, которым мы очень довольны. Тем не менее, теперь у нас есть требование делать машинное обучение на данных на нашем складе. Учитывая объем вовлеченных данных, в идеале я бы хотел запустить вычисление в том же месте, что и данные, а не сдвигать данные вокруг, но это не кажется возможным с красным смещением. Я смотрел на Madlib, но это не вариант, так как Redshift не поддерживает UDF (который требует Madlib). В настоящее время я смотрю на перемещение данных на EMR и обработку их с помощью библиотеки машинного обучения Apache Spark (или, может быть, H20, или Mahout, или чего -то еще). Итак, мои вопросы:

  1. Есть ли способ лучше?
  2. Если нет, то как сделать данные доступными для Spark? Параметры, которые я идентифицировал до сих пор, включают в себя: используйте SQOOP, чтобы загрузить его в HDFS, использовать dbinputFormat, выполнить экспорт красного смещения в S3 и заставлять искру схватить его оттуда. Каковы плюсы/минусы для этих разных подходов (и других) при использовании Spark?

Обратите внимание, что это автономное количество партийного обучения, но мы хотели бы иметь возможность сделать это как можно быстрее, чтобы мы могли быстро идентифицировать эксперименты.

Это было полезно?

Решение

Новый сервис машинного обучения Amazon может работать для вас. Он работает напрямую с Redshift и может быть хорошим способом начать. http://aws.amazon.com/machine-learning/

Если вы хотите обработать использование EMR, то вы можете использовать команду Unload Redshift для земли на S3. Spark on EMR может затем получить доступ к нему непосредственно без необходимости втянуть его в HDF.

Искра на EMR: https://aws.amazon.com/articles/elastic-mapreduce/4926593393724923

Другие советы

Вы можете попробовать это.https://github.com/databricks/spark-redshift

В противном случае используйте ответ Рахула, разгрузите данные на S3, затем загрузите его в Spark. EMR Spark находится на вершине метода TextFile Context Yarn и Spark, поддерживает «S3 //» назначен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top