我有一个我通过Spark的DataWriter界面创建的HIVE外部表。 它大约700GB,有大约5000个分区,每个分区中有50个桶。我正在使用Spark 2.2.1。
[Sort Columns,[`unique_id`],], [Bucket Columns,[`unique_id`],], [Num Buckets,50,],
[Provider,parquet,],
[Type,EXTERNAL,]
这些是其他相关参数集:
spark.sql("SET spark.default.parallelism=1000")
spark.sql("set spark.sql.shuffle.partitions=500")
spark.sql("set spark.sql.files.maxPartitionBytes=134217728")
我没有更改HDFS块大小默认值。
$ hdfs getconf -confKey mapreduce.input.fileinputformat.split.minsize
0
$ hdfs getconf -confKey dfs.blocksize
134217728
$ hdfs getconf -confKey mapreduce.job.maps
32
现在,当我阅读此表时,它的RDD计数仅设置为50。
scala> spark.table("table1").rdd.partitions.size
res25: Int = 50
如何在此处增加并行度? 为什么没有能够找出来自Metastore的(水平)分区路径,并找出RDD的相应分区数,就像用普通实木复合地板一样?