码迷,mamicode.com
首页 > 数据库 > 详细

GaussDB 200跨集群访问HDFS

时间:2019-12-12 16:34:48      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:读取   选项   sig   _for   ORC   orm   srv   text   file   

当需要从Hive等Hadoop集群迁移数据到GaussDB 200集群时,因为数据量太大,可能无法导出到本地。此时需要GaussDB 200跨集群读取HDFS上的数据,并写入GaussDB 200集群。

目前GaussDB 200只支持跨集群访问FusionInsight HD中的HDFS。

前提条件

  • FusionInsight HD和GaussDB 200两个集群状态正常并且可以互相通信。
  • 远端FusionInsight HD集群被访问的表为ORC格式。
  • 远端FusionInsight HD集群HDFS服务配置选项“hadoop.rpc.protection”值为“authentication”。
  • 远端FusionInsight HD集群存在具有访问集群HDFS数据目录权限的用户。
  • 远端FusionInsight HD集群已安装了客户端。

    操作步骤

    1、创建配置文件

    登录FusionInsight Manager>选择“集群 > 待操作的集群名称 > 服务 > MPPDB > 对接 > 对接HDFS”,单击“创建”,填写配置组名称,单击“确定”。如下图所示:
    技术图片
    各个参数的说明如下图所示:
    技术图片
    保存完成后,mppdb概览里会显示配置状态为过期配置,立即重启mppdb服务即可。另外,上传的文件位置位于${BIGDATA_HOME}/mppdb/hdfs_conf下面。

    2、创建HDFS外表SERVER

    使用omm用户,登录数据库执行下面的操作创建外表server。

    [omm@hd01 ~]$ source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
    [omm@hd01 ~]$ gsql -d rhnschema -p 25308 -r
    rhnschema=# create server server_test foreign data wrapper hdfs_fdw options(address ‘192.168.110.35:25000,192.168.110.36:25000‘,hdfscfgpath ‘/opt/huawei/Bigdata/mppdb/hdfs_conf/FHD/candon@HADOOP.COM‘,type ‘HDFS‘);
    CREATE SERVER

    技术图片
    可以使用下面的SQL查询已创建的server信息:

    rhnschema=# select *from pg_foreign_server where srvname=‘server_test‘;

    技术图片

3、创建HDFS外表

rhnschema=# create foreign table f_a (id int,name text) server server_test options(format ‘orc‘,foldername ‘/user/hive/warehouse/hivedb.db/a‘) distribute by roundrobin;
CREATE FOREIGN TABLE

创建外表的语法如下图所示:
技术图片

4、验证

rhnschema=# select *from f_a;

技术图片

GaussDB 200跨集群访问HDFS

标签:读取   选项   sig   _for   ORC   orm   srv   text   file   

原文地址:https://blog.51cto.com/candon123/2458043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!