GBase 8a 与Hadoop生态
GBase 8a MPP Cluster支持与主流Hadoop系统通过高性能数据链接以实现数据双向同步,包括数据从Hadoop加载到GBase 8a、数据从GBase 8a导出到Hadoop、GBase BLOB字段可以存储到Hadoop上。
GBase 8a MPP Cluster通过SQL方式实现数据高速加载,加载组件GBase Hadoop Loader直接读取HDFS文件,无需中间数据落盘,将其高速并行加载入库。加载 HDFS 文件支持 NameNode 高可用,在执行加载语句前,需要首先设置 gbase_hdfs_namenodes='acitve_nn, standby_nn',指定 HDFS 的高可用 NameNode 主机信息。
GBase 8a MPP Cluster支持与Hadoop平台进行数据交互,具备从Hadoop平台进行数据导入和向Hadoop平台进行数据导出的能力。
GBase 8a MPP Cluster利用select into outfile …语句,把查询结果导出到HDFS。
语法格式:
SELECT ... INTO OUTFILE 'file_name' [OPTION] FROM ...;
具体执行过程如下:
① 用户设置使用HDFS高可用NameNode列表;
② 用户输入SELECT INTO OUTFILE语句;
③ gcluster在调用libwebhdfs创建导出目录,如Active NameNode不可用,自动切换到Standby NameNode;
④ gcluster下发SQL到gnode;
⑤ gnode调用ExpressHDFSFile打开HDFS文件;
⑥ ExpressHDFSFile调用libwebhdfs设置连接参数gbase_hdfs_namenodes;
⑦ gnode物化查询结果,格式化数据;
⑧ gnode调用ExpressHDFSFile将数据写入文件;
⑨ ExpressHDFSFile调用libwebhdfs将数据写入文件;
⑩ libwebhdfs发送写入请求,如Active NameNode不可用,自动切换到Standby NameNode;
⑪ gnode导出完成,返回结果。
Hadoop平台导入数据到GBase 8a MPP Cluster
GBase 8a MPP Cluster利用load data infile …功能,把文件从HDFS导入到表中。
语法格式:
LOAD DATA INFILE 'file_list'
INTO TABLE [dbname.]tbl_name
[options]
指定多个数据源文件,文件可以不在同一个文件服务器,逗号分隔。
具体执行过程如下:
① 用户设置使用HDFS高可用NameNode列表;
② 用户输入LOAD DATA INFILE语句;
③ gcluster调用HdfsWildcardExpander展开HDFS文件通配符;
④ HdfsWildcardExpander调用libwebhdfs设置连接参数gbase_hdfs_namenodes;
⑤ HdfsWildcardExpander调用libwebhdfs枚举目录内容;
⑥ libwebhdfs发送目录枚举请求,如Active NameNode不可用,自动切换到Standby NameNode;
⑦ gcluster下发SQL到gnode;
⑧ gnode调用ExpressHDFSFile打开HDFS文件;
⑨ ExpressHDFSFile调用libwebhdfs设置连接参数gbase_hdfs_namenodes;
⑩ gnode调用ExpressHDFSFile读取文件数据,计算HASH值,分发数据;
⑪ ExpressHDFSFile调用libwebhdfs读取文件数据;
⑫ libwebhdfs发送读取请求,如Active NameNode不可用,自动切换到Standby NameNode;
⑬ gnode加载完成,返回结果。
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25059
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17529