настойчивости Шага 1.Scala. Нагрузка от Монго против нагрузки от
загружает данные из Монго в РДУ таким образом:
var buff = new ListBuffer[item]
- Заливка любитель через чтение из Монго
data1 = sc.makeRDD(buff).setName(name).persist(MEMORY_ONLY)
Все работает.
Шаг 2.
Я сохранить эти данные в ПЕРСИСТЕНТНОСТЬ файл (папку):
data1.saveAsObjectFile(fileName)
В дальнейшем я могу прочитать данные из файла, а не из Монго
data2 = sc.objectFile(fileName).persist(MEMORY_ONLY).setName(name)
Everyhing является за работой.
ВОПРОС.
Почему data1
является 8 (восемь !!!) раз медленнее, чем data2
???
Например,
*data1.count() - 9.5 sec*
*data2.count() - 1.2 sec*
памяти достаточно.
Любые идеи приветствуются.
это общая плохая практика, чтобы использовать 'var' вместо' val' , Что касается вашего вопроса, пытались ли вы использовать «HDFS» вместо локального каталога? –
Спасибо. Я знаю эту плохую практику, но это дело. –
Что касается вопроса. Я не пытался использовать Hadoop HDFS, потому что RDD из локального каталога работает отлично. Я хочу ускорить RDD от Mongo. –