Spark有哪两种算子?、Spark有哪些聚合类的算子,我们应该尽量避免什么类型的算子、如何从Kafka中获取数据、RDD创建有哪几种方式?、Spark并行度怎么设置比较合、Spark如何处理不能被序列化的对、collect功能是什么,其底层是怎么实现的、为什么Spark Application在没有获得足够的资源,job就开始执行了,可能会导致什么什么问题发生、map与flatMap的区别、Spark on Mesos中,什么是的粗粒度分配,什么是细粒度分配,各自的优点和缺点是什么、driver的功能是什么等等以下有答案。
个人认为谓词下推有两个层面的理解:其一是逻辑执行计划优化层面的说法,比如SQL语句:select * from order ,item where item.id = order.item_id and item.category = ‘book’,正常情况语法解析之后应该是先执行Join操作,再执行Filter操作。通过谓词下推,可以将Filter操作下推到Join操作之前执行。即将where item.category = ‘book’下推到 item.id = order.item_id之前先行执行。 其二是真正实现层面的说法,谓词下推是将过滤条件从计算进程下推到存储进程先行执行。