Есть ли простой способ мигрировать из SeecenceFiles в AVRO?

StackOverflow https://stackoverflow.com//questions/20031284

Вопрос

В настоящее время я использую работу Hadoop Maprecuce с последовательными положениями типовых материалов. Один и тот же тип записи используются для сериализации, также в части, связанных с Non Hadoop, связанные с частями системы.

Этот метод трудно поддерживать - главным образом из-за отсутствия схемы и необходимости ручного обращения с изменениями версии.

Похоже, что Apache Avro обрабатывает эти проблемы.

Проблема в том, что во время миграции у меня будут данные в обоих форматах. Есть ли простой способ справиться с миграцией?

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

Решение

Вообще, нет ничего останавливать вас от использования данных AVRO и SequenceFiles. Используйте все, что требуется Ifformat для типа необходимых вами данных, а для вывода его, конечно, имеет смысл использовать форматы AVRO при условии, что практический. Если ваш вклад входит в разные форматы, посмотрите на NewinSputs . По сути, вам все равно придется реализовывать отдельные материалы, но это будет уже доверяно, учитывая, что ключ / значение ввода карты отличается.

Переезд в AVRO - мудрый ход. Если у вас есть потенциал во времени и аппаратном обеспечении, может даже быть достойным явно преобразовывать ваши данные из SequenceFile в AVRO сразу. Вы можете использовать любой язык, поддерживаемый AVRO, который также происходит, чтобы поддерживать последовательность для этого. Java конечно делает (четко), но свинья тоже довольно удобна для этого.

У пользователя Piggybank Peggybank имеет функциональность для чтения последовательностейFile, а затем просто вопрос использования AVRostorage из того же проекта Piggybank с соответствующей схемой AVRO, чтобы получить файл AVRO.

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

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

Я не пробовал это сам, но, возможно, использование формата AvroSequenceFile поможет.Это просто обертка вокруг SequenceFile, поэтому в теории вы должны быть в состоянии писать данные как в вашем старом формате SequenceFile, а также новый формат Avro, который должен проще сделать миграцию.

Вот Больше информации Об этом формате.

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