2016-12-22 3 views
1

Я хочу знать, есть ли какой-либо инструмент, который я могу использовать для анализа XML-файлов в hadoop. Я знаю, используя сокращение карты, мы можем анализировать XML-файлы, если нет доступных инструментов, чем лучше разбираться в языке scala, java или pig? Пожалуйста, помогите.Инструмент для анализа XML в Hadoop

ответ

1

В среде hadoop обычно имеется Java. Поэтому я бы использовал «Java Architecture for XML Binding» или JAXB.

Это сравнительно проста в использовании и имеет стратегии развития, которые включают в себя основные подходы:

  • У вас есть XML, что кто-то определил, что вы хотите получить доступ в Java.
  • У вас есть структуры данных Java, которые вы хотите представлять в XML.

У этого есть много особенностей, но не беспокойтесь о том, чтобы добавить все колокола и свистки, если они вам не нужны. Это также достаточно быстро.

You can find the learning path for it here.

Scala также является отличным выбором, но он немного страдает от более высокой кривой обучения (что не так уж важно, если вы уже знаете Java и подвергаетесь воздействию языков на основе лямбда). Документация является разумной, но иногда она просто отстает от документации, доступной для Java.

Scala будет моим вторым выбором для команды, у которой не было послужной список доставки в Скала. Это не сложнее, и для некоторых проблем Scala намного проще, но без небольшого количества опыта Scala, как правило, решаются проблемы в Scala, использующих подходы, отличные от Scala.

Свинья - это язык, с которым у меня был ограниченный опыт, поэтому я буду оставлять комментарии.

+0

Если размер файла xml огромен, чем синтаксический анализ будет проще с помощью JAXB? – animal

+0

есть ли инструмент для синтаксического анализа xml? – animal

+0

JAXB - это инструмент для анализа Java. Он может обрабатывать XML-файлы с разумным размером; но если вы действительно говорите о массивных файлах XML, вы можете захотеть использовать меньший компонент инструментов анализа XML XML, называемый SAX. Первичная оптимизация SAX предлагает следующее: когда ваш XML настолько велик, вы не можете хранить его в памяти вашей программы, вы можете более легко пропустить части XML, которые вам не нужны. Это пропущение может быть сделано в обоих наборах инструментов, но SAX настолько примитивен, что легче сгибать его для обработки нечетных сценариев (по крайней мере для меня); но если вы это сделаете, рассматривайте его как часть синтаксического анализа. –

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