Я работаю над проектом для класса больших данных и установил виртуальную машину Cloudera Quickstart локально, чтобы выполнять некоторые основные задачи в моем наборе данных и знакомиться с некоторыми инструментами. Я следовал руководству, которое включало перемещение набора данных в HDFS, создание таблицы HCatalog на основе файла набора данных, а затем выполнение команд Hive и/или Pig для таблицы. Проблема в том, что мои данные представляют собой большой файл XML, и стандартные параметры разделителя в HCatalog не применяются.
Есть ли способ импортировать XML в HCatalog? Если нет, то как лучше всего использовать Hive или Pig в моем наборе данных XML?
РЕДАКТИРОВАТЬ: мой файл из общедоступного набора данных StackOverflow. Я использую файл posts.xml
. Он довольно большой (25 ГБ), и у меня возникли проблемы с его открытием на моей машине, но ниже приведена структура в соответствии с файлом Readme:
- **posts**.xml
- Id
- PostTypeId
- 1: Question
- 2: Answer
- ParentID (only present if PostTypeId is 2)
- AcceptedAnswerId (only present if PostTypeId is 1)
- CreationDate
- Score
- ViewCount
- Body
- OwnerUserId
- LastEditorUserId
- LastEditorDisplayName="Jeff Atwood"
- LastEditDate="2009-03-05T22:28:34.823"
- LastActivityDate="2009-03-11T12:51:01.480"
- CommunityOwnedDate="2009-03-11T12:51:01.480"
- ClosedDate="2009-03-11T12:51:01.480"
- Title=
- Tags=
- AnswerCount
- CommentCount
- FavoriteCount
Будет ли огромный размер этого файла проблемой для виртуальной машины? В конце концов, мы будем повторять некоторые из этих задач ETL в AWS, но пока я пытаюсь избежать больших счетов, не зная, как правильно использовать некоторые инструменты.