0
我正在阅读每个文件大小约为10 MB的文件夹中的大约20,000个JSON文件。下面的代码需要大约30分钟来读取这些文件。在Spark中高效地读取json
有25个类型为D4的工作节点(Azure HDInsight)。
var rawJson = sqlContext.read.json("/data/*.json")
以下是我正在使用的作业配置。
“--driverMemory”, “7克”, “--executorCores”, “3”, “--executorMemory”, “4G”, “--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
有25台工作机(使用HDFS文件系统的Azure HDInsights中的D4类型)。 – vijay