Я работаю над большими данными за последние пару месяцев.
1
Мне любопытно узнать, как обработка XML работает в сети с несколькими узлами. Допустим, у меня есть один xml, и у него есть повторяющиеся теги, и в каждом из этих тегов есть больше похожих тегов.
Для обработки XML, весь XML должен быть сначала в памяти. Итак, в тот момент, когда я отправляю свою задачу oop mapreduce для обработки 100 ГБ XML в кластере (скажем, кластер из 5 узлов), как происходит загрузка XML в разных узлах?
В случае плоских файлов, я могу себе представить, что продолжаю читать записи (одну за другой) из HDFS и распределять по узлам. Но не в состоянии понять в XML. Как хадупы знают, на каком основании должны происходить расщепления или распределения тегов?
<employees>
<employee id="be129">
<firstname>Jane</firstname>
<lastname>Doe</lastname>
<title>Engineer</title>
<division>Materials</division>
<building>327</building>
<room>19</room>
<supervisor>be131</supervisor>
</employee>
<employee id="be130">
<firstname>William</firstname>
<lastname>Defoe</lastname>
<title>Accountant</title>
<division>Accts Payable</division>
<building>326</building>
<room>14a</room>
</employee>
<employee id="be131">
<firstname>Jack</firstname>
<lastname>Dee</lastname>
<title>Engineering Manager</title>
<division>Materials</division>
<building>327</building>
<room>21</room>
</employee>
<employee id="be132">
<firstname>Sandra</firstname>
<lastname>Rogers</lastname>
<title>Engineering</title>
<division>Materials</division>
<building>327</building>
<room>22</room>
</employee>
<employee id="be133">
<firstname>Steve</firstname>
<lastname>Casey</lastname>
<title>Engineering</title>
<division>Materials</division>
<building>327</building>
<room>24</room>
</employee>
<employee id="be135">
<firstname>Michelle</firstname>
<lastname>Michaels</lastname>
<title>COO</title>
<division>Management</division>
<building>216</building>
<room>264</room>
</employee>
</employees>
Давайте рассмотрим в качестве примера выше XML и представим, что есть 10 миллионов тегов employee
, Тогда как же oop Механизм разбиения маппера работает для распределения xml между 5 узлами, обработки и координации при распределении XML для обработки?
Надеюсь, мой вопрос понятен всем.