OmniData算子下推特性支持Hive/Spark组件下推Filter、Aggregation、Limit算子到存储节点CPU,支持对ORC/Parquet/TXT等主流数据类型的访问,实现近数据计算,减少无效数据在网络上的传输,提升大数据计算性能。OmniData算子下推特性,实现对接同构加速框架HAF和分布式存储系统Ceph/HDFS。OmniData算子下推特性主要包含四个部分内容,如图1所示。
图1 OmniData算子下推特性软件架构
- OmniData算子下推 Client属于开源的部分,为不同的引擎提供相应的插件。通过HAF提供的注解和编译插件,在需要下推的函数上添加注解,HAF会自动把任务下推到卸载节点的OmniData算子下推 Server中,让用户感觉好像在本地执行一样。
- Host Runtime为lib库,部署在计算节点(主机节点),对外提供任务卸载的能力,把任务下推到Target Runtime。
- Target Runtime为lib库,部署在存储节点(卸载节点),提供任务执行的能力,用来执行OmniData算子下推 Server的作业。
- OmniData算子下推 Server提供算子下推(算子卸载)的执行能力,接收Host Runtime下推下来的任务。