2015-02-02 2 views
1

Я хотел бы выполнить Apache Spark map-уменьшить на 5 файлов и вывести их в mongodb. Я бы предпочел не использовать HDFS, поскольку NameNodes являются единственной точкой отказа (http://wiki.apache.org/hadoop/NameNode).apache spark stand alone подключение к mongodb с scala с использованием casbah

А. Является ли это possilbe читать несколько файлов в РДУ, выполнить сокращение карты на ключе от всех файлов и использовать касбы инструментарий для вывода результатов MongoDB

В. Можно ли использовать клиент, чтобы читать с mongodb в RDD, выполнять сокращение карты и правый вывод обратно в mongodb с помощью инструментария casbah

C. Возможно ли читать несколько файлов в RDD, сопоставлять их с ключами, которые существуют в mongodb, сводить их к один документ и вставить их обратно в mongodb

Я знаю, что все это возможно с помощью монго- соединительный кабель. Мне просто не нравится идея использования HDFS, поскольку это единственная точка отказа, а backUpNameNodes еще не реализованы.

Ive читал некоторые вещи в режиме онлайн, но они не ясны.

MongoDBObject not being added to inside of an rrd foreach loop casbah scala apache spark

Не уверен, что происходит там. JSON даже не появляется в силе ...

ресурсы:

https://github.com/mongodb/casbah

http://docs.mongodb.org/ecosystem/drivers/scala/

ответ

1

Да. Я не использовал MongoDB, но, основываясь на других вещах, которые я сделал с Spark, все это вполне возможно.

Однако имейте в виду, что приложение Spark обычно не является отказоустойчивым. Приложение (он же «драйвер») является единственной точкой отказа. В этой теме есть связанный с этим вопрос (Resources/Documentation on how does the failover process work for the Spark Driver (and its YARN Container) in yarn-cluster mode), но я думаю, что на данный момент у него нет хорошего ответа.

У меня нет опыта работы с критическим кластером HDFS, поэтому я не знаю, какой проблемой является одна точка отказа. Но другая идея может работать поверх Amazon S3 или Google Cloud Storage. Я ожидаю, что они будут более надежными, чем все, что вы можете приготовить. У них есть большие группы поддержки и много денег и опыта.

+0

Но другая идея может работать поверх Amazon S3 или Google Cloud Storage. Я бы ожидал, что они будут более надежными, чем все, что вы можете приготовить @ daniel - без сомнения, это правда, но это не вариант. Не могли бы вы подробнее рассказать о том, как драйвер является единственной точкой отказа? вы имеете в виду фактическое приложение scala/java/python map-reduce или набор инструментов casbah? или искра сама? – user1290942

+1

Само приложение scala/java/python. Если он умирает, все, что хранится в Spark RDD, теряется. –

+0

Конечно, если вы временно используете RDD и сохраняете свои данные в MongoDB, вы, вероятно, находитесь в хорошем месте! –

Смежные вопросы