美文网首页大数据
Greenplum · 源码阅读 · PXF的pxf-servi

Greenplum · 源码阅读 · PXF的pxf-servi

作者: sinwaj | 来源:发表于2020-07-13 19:39 被阅读0次

    一.背景

     pxf适用于联邦数据的查询,支持多种数据源,如Hadoop、hive、关系数据库。支持多个异构数据源,并只查询数据源中少量数据集,而避免对数据集执行ETL操作。

    二.PXF架构

    图1


    三、代码结构

    1.物理结构

    图2

    2.接口定义

    1)/pxf/{version}/Fragmenter/getFragments

    i)获取查询的分片信息,例如:基于JDBC查询中参数PARTITION_BY,就会得到分区信息,用以支持多个segment进行并行查询。

    ii)FragmenterResource.java的getFragments函数

    2)/pxf/<version>/Bridge/

    i)查询数据,下推查询命令到数据源系统,如通过JDBC或API。

    ii)BridgeResource.java的read函数,结果以MediaType.APPLICATION_OCTET_STREAM输出。

    3)/pxf/{version}/Writable/stream

    i)写数据,向外部系统写数据,如通过JDBC或API。

    ii)WritableResource.java的stream,输入为MediaType.APPLICATION_OCTET_STREAM。

    3.代码逻辑图

    1)getFragments序列图

    图3

    2)读数据

    图4

    四、代码路径

    https://github.com/greenplum-db/pxf/tree/master/server

    相关文章

      网友评论

        本文标题:Greenplum · 源码阅读 · PXF的pxf-servi

        本文链接:https://www.haomeiwen.com/subject/auyzcktx.html