Supponiamo di avere un documento come questo:
<names>
<first>Joe</first>
<last>Smoe</last>
<phonenumbers>
<phonenumber type="home">123-567-9876</phonenumber>
<phonenumber type="cell">345-678-1234</phonenumber>
</phonenumbers>
<emails>
<email>[email protected]</email>
<email>[email protected]</email>
</emails>
</names>
Sono un po 'stumped sul miglior formato di tabella quando lo si appiattisce in tabella. Nel mio caso, è una tabella per un database Hive.
Non voglio 4 record per "Joe Smoe". Quindi, può avere campi come "phone1", "phone2", "email1", "email2".
Ma questa tabella in realtà è una tabella Hive, quindi abbiamo "matrici" come tipi di dati. Quindi, potrei avere questo:
last|first|phones |emails ----+-----+---------------------------+------------------------- Joe |Smoe |[123-567-9876,345-678-1234]|[[email protected],[email protected]]
Ma poi come salvare il tipo di telefono nella tabella. Forse con una "mappa"?
last|first|phones |emails ----+-----+-------------------------------------------+------------- Joe |Smoe |[{"number":"123-567-9876", "type"="home"}] |
Come si appiattisce questo tipo di XML (ad esempio collezioni in raccolte) in un tavolo piatto?