0
各ファイルのサイズが約10 MBのフォルダから約20,000 JSONファイルを読み込んでいます。以下のコードは、これらのファイルを読むのに約30分かかります。Sparkでjsonを効率的に読む
タイプD4(Azure HDInsight)のワーカーノードが25個あります。
var rawJson = sqlContext.read.json("/data/*.json")
以下は私が使用しているジョブ構成です。
"--driverMemory"、 "7グラム"、 "--executorCores"、 "3"、 "--executorMemory"、 "4グラム"、 "--numExecutors"、 "32"
JSONスキーマは次のようになります。異なるファイルには、[プロパティ]セクションに異なる数のフィールドが含まれています。
{
"name": "AssetName",
"time": "2016-06-20T11:57:19.4941368-04:00",
"data": {
"type": "EventData",
"dataDetails": {
"name": "EventName",
"measurements": {
"StartTime": 61058529,
"EndTime": 61058737,
"Duration": 208,
"ID": 26509812,
"Version": 24720
},
"properties": {
"identifier": "Foo",
"EventId": "6b613d8D-2f65-447e-bf6d-9e9133c0b803",
"TagGuid": "{9E4fe7c1-cf8a-4527-fd27-c0c58c0b1fed}",
"property1": "val1",
"property2": "val2",
"property3": "val3",
"property4": "False"
}
}
}
}
は、より多くのリソースを追加することなく、これらのJSONファイルを読み込むのより効率的な/パフォーマンスの高い方法はありますか?
ありがとうございます!
何台のワーカーを使用していますか?どのような種類のディスクとファイルシステムですか?あなたはスキーマを知っていますか? – zero323
@mtoto 'jsonFile'はずっと前から廃止されていて、それがもっと速くなる理由はありません。 – zero323
HDFSファイルシステムを使用するワーカーマシン(Azure HDInsightsではD4タイプ)が25台あります。 – vijay