работа с большими научными данными на Hadoop

В настоящее время я начинаю проект под названием «Облачные вычисления для алгоритмов интеллектуального анализа временных рядов с использованием Hadoop». Данные, которые у меня есть, представляют собой файлы hdf размером более терабайта. В Hadoop, как я знаю, у нас должны быть текстовые файлы в качестве входных данных для дальнейшей обработки (задача уменьшения карты). Так что у меня есть один вариант: преобразовать все мои файлы .hdf в текстовые файлы, что займет много времени.

Или я нахожу способ использовать необработанные файлы hdf в программах уменьшения карты. До сих пор мне не удалось найти какой-либо java-код, который читает файлы hdf и извлекает из них данные. Если у кого-то есть лучшее представление о том, как работать с файлами hdf, я буду очень признателен за такую ​​помощь.

Спасибо, Аюш.


person ayush singhal    schedule 25.07.2012    source источник


Ответы (4)


Для первого варианта вы можете использовать инструмент преобразования, такой как дамп HDF, для создания дампа файла HDF. в текстовый формат. В противном случае вы можете написать программу с использованием библиотеки Java для чтения файла HDF и записать ее в текстовый файл.

Для вашего второго варианта SciHadoop — хороший пример того, как читать наборы данных Scientific из Hadoop. Он использует библиотеку NetCDF-Java для чтения файла NetCDF. Hadoop не поддерживает POSIX API для файлового ввода-вывода. Таким образом, он использует дополнительный программный уровень для преобразования вызова POSIX библиотеки NetCDF-java в вызовы API HDFS (Hadoop). Если SciHadoop еще не поддерживает файлы HDF, вы можете пойти по более сложному пути и самостоятельно разработать аналогичное решение.

person Sagar    schedule 26.07.2012
comment
Спасибо, первый вариант мне кажется более разумным. - person ayush singhal; 27.07.2012

Вот некоторые ресурсы:

  • SciHadoop (использует netCDF, но может быть уже расширен до HDF5).
  • Вы можете использовать JHDF5 или более низкий уровень официальный интерфейс Java HDF5 для считывания данных из любого файла HDF5 в задаче map-reduce .
person Ümit    schedule 25.07.2012
comment
Благодарю. Знаете ли вы какой-нибудь учебник, чтобы научиться использовать это (второй вариант) - person ayush singhal; 25.07.2012

Если вы не можете найти какой-либо код Java и можете сделать это на других языках, вы можете использовать потоковую передачу Hadoop.

person Animesh Raj Jha    schedule 25.07.2012
comment
что такое конвейер Hadoop и как он помогает читать HDF5? - person rjurney; 17.04.2013

SciMATE http://www.cse.ohio-state.edu/~wayi/papers/SciMATE.pdf — хороший вариант. Он разработан на основе варианта MapReduce, который, как было показано, выполняет множество научных приложений гораздо эффективнее, чем Hadoop.

person SciPioneer    schedule 10.12.2013