私はapache sparkを使い始めています。 jsonログをフラット化されたメトリックに変換する必要があり、単純なcsvと見なすこともできます。JSONログからの集計メトリックをapache sparkで作成する
たとえば、
"orderId":1,
"orderData": {
"customerId": 123,
"orders": [
{
"itemCount": 2,
"items": [
{
"quantity": 1,
"price": 315
},
{
"quantity": 2,
"price": 300
},
]
}
]
}
これは、単一のJSONログとして考えることができ、私はにこれを変換したい、
orderId,customerId,totalValue,units
1 , 123 , 915 , 3
私はsparkSQLドキュメントを通過されたと選択」のような個々の値のホールドを得るためにそれを使用することができますorderId、orderData.customerIdから注文 "しかし、私はすべての価格と単位の合計を取得する方法がわかりません。
これをapache sparkを使用して行うにはベストプラクティスが必要ですか?
カントJSONを。 ( "/ path/to/file")。toDF(); df.registerTempTable( "df"); df.printSchema();その後、SQLを介して集計を実行しますか? –
SQLを使って個々の要素を取得できますが、orders.itemsについてはわかりませんが、どうすればこの上で集計を実行できますか?私はそれがjsonの価値としてのみ来ると思う、私が何かを欠けている場合私を修正してください。 – fireants
あなたは[this](http://xinhstechblog.blogspot.in/2015/06/reading-json-data-in-spark-dataframes.html)と[入れ子にされたjson](http:// xinhstechblog .blogspot.in/2016/05/reading-json-nested-array-in-spark.html) –