Member since
10-22-2021
2
Posts
0
Kudos Received
0
Solutions
12-13-2021
12:48 PM
I have this table (2 columns) with a json field (cart_items): Column 1: order_id: 1234 Column 2 (json): { "rows": [{ "id": "13422992", "price": "40.18952581520672", "quantity": 1, "name": "product 1", "itemIndex": 1, "basicItemData": { "name": "product 1", "quantity": 1, "type": "digital", "price": { "amountLocalCurrency": "35.82", "currency": "EUR" }, "productId": "13422992", "category": "APPAREL" }, "itemSpecificData": { "physicalGoods": { "size": "M", "color": "010", "weight": 0, "brand": "mybrand", "condition": "NEW", "wrapAsGift": false, "removeReceipt": false, "customDesign": false, "prepayCustomsTaxesAndFees": false, "style": "5626" } } }, { "id": "13203164", "price": "22.596790896657268", "quantity": 1, "name": "product 2", "itemIndex": 2, "basicItemData": { "name": "product 2", "quantity": 1, "type": "physical", "price": { "amountLocalCurrency": "20.14", "currency": "EUR" }, "productId": "13203164", "category": "APPAREL" }, "itemSpecificData": { "physicalGoods": { "size": "M", "color": "645", "weight": 0, "brand": "mybrand", "condition": "NEW", "wrapAsGift": false, "removeReceipt": false, "customDesign": false, "prepayCustomsTaxesAndFees": false, "style": "6509" } } }] } I have been trying the following query: select trans_id ,get_json_object (cart_items,concat('$.rows[',e.i,'].quantity')) as quantity ,get_json_object (cart_items,concat('$.rows[',e.i,'].name')) as name ,get_json_object (cart_items,concat('$.rows.basicItemData[',f.g,'].type')) as type from My_Table lateral view posexplode (split(get_json_object (cart_items,'$.rows[*].name'),',')) e as i,x
lateral view posexplode (split(get_json_object (cart_items,'$.rows.basicItemData[*].name'),'},')) f as g,k
where order_id='1234' ===================================================== Outcome of this is: Order_id. Quantity. Name. Type 1234. 1. product 1 null 1234. 1. product 2 null As you see, I get the first columns right but the 'Type' column shows null, obviously there's something wrong with my query. Any help is appreciated. Thanks Abel
... View more
Labels:
- Labels:
-
Cloudera Analytic DB