GreenPlum外表自定义协议及自定义数据格式调用框架分析——从外部表读数据

本文分析了Greenplum外部表中自定义协议和数据格式的调用流程。当从自定义协议外部表读取数据时,涉及的主要函数包括打开外部表文件、获取原始数据以及用户定义的回调函数来解析自定义数据格式。整个过程分为两步:先拉取数据,再由用户回调函数处理并封装tuple结构。文章指出,不仅自定义协议的外部表,内置协议如file、gpfdist也支持自定义数据格式。
摘要由CSDN通过智能技术生成

概述

  • Greenplum外部表支持自定义协议,其数据格式通常为CSV或TEXT,也支持自定义数据格式。本文简单分析一下其外部表针对自定义数据格式、自定义协议的调用流程。

核心流程分析

  • 先来看一个GP从自定义协议的外部表读数据的调用堆栈:
……
#5  0x00007fe50cfb8fca in my_import() from  gpextprotocol.so
#6  0x000000000054a6cf in InvokeExtProtocol ()
#7  0x000000000054a96c in url_custom_fread ()
#8  0x0000000000542303 in externalgettup_defined () at fileam.c:1616
#9  0x00000000005443c0 in external_getnext () at fileam.c:1202
#10 0x00000000006c1160 in ExternalNext ()
#11 0x0000000000691c4a in ExecProcNode ()
#12 0x00000000006c23b0 in ExecMotion ()
#13 0x0000000000691cfa in ExecProcNode ()
#14 0x000000000068f60c in ExecutePlan ()
#15 0x000000000068fb70 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值