环境: Spark:1.6.3和2.2.1
我有一个蜂巢表,如:
Create table test (id int,name string)
stored as parquet
此表包含12k个文件。
当我运行限制100查询时,为什么spark计算12k任务。
e.g. spark-shell
scala> sqlContext.sql("SELECT id,name FROM test LIMIT 100").count()
[Stage 8:> (0 + 8) / 11258]
or
scala>val df2 =sqlContext.sql("SELECT id,name FROM test LIMIT 100")
scala> df2.write.save("/tmp/deleteme/")
[Stage 12:> (0 + 8) / 11258]
有没有办法防止这种行为? Spark2有点不同,但仍然喜欢> 10k任务。
我知道TABLESAMPLE,但我想了解为什么火花会以这种方式起作用,以及是否有改变它的设置。
提前致谢