2017-08-02 99 views
0

我在下面的Json數據框中有數據。基於現有行在Scala-Spark數據框中添加新行

{"nm": 1233, "date": "2017-01-23", "name": [],"id": "9253194"} 
{"nm": 1234, "date": "2017-01-23", "name": [],"id": "9253196"} 
{"nm": 1235, "date": "2017-01-23", "name": [],"id": "9253195"} 

如何在索引列中添加一個新行以插入到scala中的彈性搜索中。

{"create": {"_type": "usd", "_id": "92531964", "_index": "amount"}} 
{"nm": 1233, "date": "2017-01-23", "name": [],"id": "9253194"} 
{"create": {"_type": "usd", "_id": "92531966", "_index": "amount"}} 
{"nm": 1234, "date": "2017-01-23", "name": [],"id": "9253196"} 
{"create": {"_type": "usd", "_id": "92531965", "_index": "amount"}} 
{"nm": 1235, "date": "2017-01-23", "name": [],"id": "9253195"} 

這裏_id我從現有的列和_type派生,_index是常量。

回答

0

使用flatMap

input.flatMap { x => Seq(x, transform(x)) } 

因爲這些記錄具有不同的模式,則可能必須將它們輸出一樣的字符串。