我正在尝试使用具有36个内核的计算机将一些json格式的数据加载到SQLContext中。但是当我尝试使用以下方法加载数据时
df = sqlContext.read.json("/folder_name/*")
spark仅将数据划分为4个部分,仅使用不到机器总处理能力的20%。如下所示,我正在加载4个文件中的数据。
INFO FileInputFormat: Total input paths to process : 4
INFO SparkContext: Starting job: json at NativeMethodAccessorImpl.java:-2
INFO DAGScheduler: Got job 0 (json at NativeMethodAccessorImpl.java:-2) with 4 output partitions
我希望能够从这4个文件加载数据,但是要将数据重新分配到36个以上的分区,以便在加载数据时使用所有核心。此时此数据加载操作需要相当长的时间,因为它仅使用大约4个内核并且不到机器处理能力的20%。