[发明专利]访问分布式集群外部数据方法及装置在审
申请号: | 201910120843.8 | 申请日: | 2019-02-18 |
公开(公告)号: | CN109902065A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 刘欣然;张鸿;惠榛;吕雁飞;马秉楠;冷健全;王鸿翔;高峰;李恒 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心 |
主分类号: | G06F16/14 | 分类号: | G06F16/14;G06F16/182 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 李勤媛 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 外部数据 文件服务 数据库集群系统 分布式集群 访问 服务进程 进程设置 设置文件 数据节点 预先创建 算子 主机 进程 外部 | ||
1.一种访问分布式集群外部数据方法,其特征在于,包括:
将文件服务进程设置在数据库集群系统以外的主机上,并设置文件服务进程的参数,启动所述文件服务进程;
在数据库集群系统的数据节点需要访问外部数据时,启动ExternalTableScan算子,连接所述文件服务进程,基于预先创建的外部表进行外部数据访问。
2.如权利要求1所述的方法,其特征在于,基于预先创建的外部表进行外部数据访问具体包括:
通过file协议读取预先创建的file协议外部表,进行外部数据访问;或者,
通过kafdist协议读取预先创建的kafdist协议外部表,进行外部数据访问。
3.如权利要求2所述的方法,其特征在于,通过file协议读取预先创建的file协议外部表,进行外部数据访问具体包括:
根据file协议外部表定义获取外部文件列表,其中,外部文件列表中的外部数据未CSV格式,每个字段之间按照“|”分割;
依次打开外部文件;
读取所述外部文件中的一行数据,解析每个字段,格式化成与数据库内部表文件相同的一条元组,并把该元组返回。
4.如权利要求1所述的方法,其特征在于,通过kafdist协议读取预先创建的kafdist协议外部表,进行外部数据访问具体包括:
根据kafdist协议外部表定义获取文件服务器kafdist以及外部文件信息;
向外部文件发送读取外部数据请求,其中,外部数据的数据格式包括:CSV、TEXT、gzip和bzip2的压缩格式、或者通过通配符或者其它模式匹配来指定多个文件;
通过文件服务器kafdist进行数据读取,获取文件服务器kafdist发来的数据;
解析每行数据,格式化成与数据库内部表文件相同的一条元组,并把该元组返回。
5.如权利要求1所述的方法,其特征在于,通过文件服务器kafdist进行数据读取具体包括:
文件服务器kafdist循环等待读取数据请求;
文件服务器kafdist接受请求,把该请求信息放在hash表中,不同Segment对同一个外部表的hash值相同,hash表中记录请求信息以及读取本地文件信息,包括文件名和偏移量;
文件服务器kafdist打开文件,逐行读取文件外部文件数据;
文件服务器kafdist把数据发送给数据节点。
6.如权利要求1所述的方法,其特征在于,设置文件服务进程的参数具体包括:
设置对外服务的网络端口服务;
设置外部数据的基础目录,实际读取外部数据会在基础目录的基础上拼接文件路径;
设置每行数据的最大宽度。
7.如权利要求1所述的方法,其特征在于,启动ExternalTableScan算子,连接所述文件服务进程,基于预先创建的外部表进行外部数据访问具体包括:
启动ExternalTableScan算子,ExternalTableScan算子根据自身的节点ID,轮询连接文件服务进程;
ExternalTableScan算子发送读取数据指令;
ExternalTableScan算子对返回的指令进行解释,转化成内部元组,进行下一步SQL运算。
8.一种访问分布式集群外部数据装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心,未经国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910120843.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种二维脉动阵列的芯片电路
- 下一篇:一种激光显微镜数据档案传输备份系统