Test data:
{"maker":"Apple", "products":[{"name": "iPhobe", "price": 100000}, {"name": "iPad", "price": 120000}]}
{"maker":"ASUS", "products":[{"name": "Zenfone", "price": 20000}]}
DataFrame:
scala> val df = ds.select(ds("maker"),explode(ds("products")).as("p"))
scala> df.select("maker", "p.name", "p.price").show