У меня есть этот XML-файл, расположенный в S3, который мне нужно было бы загружать в соответствующие таблицы в Redshift.
Я просто хотел бы проверить, как эффективный способ сделать это с помощью Scala?Я очень новичок в этом вопросе и хотел бы обратиться за советом.
Создаю ли я один скрипт, который будет разбивать необходимые элементы на части, или будет ли отдельный скрипт, одновременно считывающий один и тот же файл XML для каждой таблицы,более эффективным?Или AWS Glue сможет обрабатывать такие вложенные форматы XML?
Данные XML
<Root>
<system>
<head>
<Store>123</Store>
<storedate>2018-09-04</storedate>
</head>
<body>
<SalesTxn>
<Store>123</Store>
<storedate>2018-09-04</storedate>
<txndetail>
<sequence>1</sequence>
<txngroup>
<Item>
<itemid>ABC</itemid>
<price>6.900000</price>
<quantity>1</quantity>
</Item>
</txngroup>
</txndetail>
<txndetail>
<sequence>2</sequence>
<txngroup>
<Item>
<itemid>DEF</itemid>
<price>6.890000</price>
<quantity>1</quantity>
</Item>
</txngroup>
</txndetail>
<total>
<totalamount>13.79</totalamount>
</total>
<totalitems>
<itemsnumber>2</itemsnumber>
</totalitems>
</SalesTxn>
</body>
</system>
Желаемый результат
Уровень транзакции
Store|StoreDate|ItemID|Price|Qty
123|2018-09-04|1|6.9|1
123|2018-09-04|2|6.89|1
Уровень поступления
Store|StoreDate|TotalAmt|TotalQty
123|2018-09-04|13.79|2