数据仓库服务 GaussDB(DWS)-从MRS Hive导入表数据到GaussDB(DWS)集群:创建外部服务器

时间:2025-02-12 15:02:13

创建外部服务器

  1. 使用Data Studio连接已创建好的DWS集群。
  2. 新建一个具有创建数据库权限的用户dbuser:

    1
    CREATE USER dbuser WITH CREATEDB PASSWORD 'password';

  1. 切换为新建的dbuser用户:

    1
    SET ROLE dbuser PASSWORD 'password';

  1. 创建新的mydatabase数据库:

    1
    CREATE DATABASE mydatabase;

  1. 执行以下步骤切换为连接新建的mydatabase数据库。

    1. 在Data Studio客户端的“对象浏览器”窗口,右键单击数据库连接名称,在弹出菜单中单击“刷新”,刷新后就可以看到新建的数据库。
    2. 右键单击“mydatabase”数据库名称,在弹出菜单中单击“打开连接”
    3. 右键单击“mydatabase”数据库名称,在弹出菜单中单击“打开新的终端”,即可打开连接到指定数据库的SQL命令窗口,后面的步骤,请全部在该命令窗口中执行。

  2. 为dbuser用户授予创建外部服务器的权限,8.1.1及以后版本,还需要授予使用public模式的权限:

    12
    GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser;GRANT ALL ON SCHEMA public TO dbuser;   //8.1.1及以后版本,普通用户对public模式无权限,需要赋权,8.1.1之前版本不需要执行。

    其中FOREIGN DATA WRAPPER的名字只能是hdfs_fdw,dbuser为创建SERVER的用户名。

  3. 执行以下命令赋予用户使用外表的权限。

    1
    ALTER USER dbuser USEFT;

  4. 切换回Postgres系统数据库,查询创建 MRS 数据源后系统自动创建的外部服务器。

    1
    SELECT * FROM pg_foreign_server;

    返回结果如:

    123456
                         srvname                      | srvowner | srvfdw | srvtype | srvversion | srvacl |                                                     srvoptions--------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- gsmpp_server                                     |       10 |  13673 |         |            |        | gsmpp_errorinfo_server                           |       10 |  13678 |         |            |        | hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca |    16476 |  13685 |         |            |        | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}(3 rows)

  5. 切换到mydatabase数据库,并切换到dbuser用户。

    1
    SET ROLE dbuser PASSWORD 'password';

  6. 创建外部服务器。

    SERVER名字、地址、配置路径保持与8一致即可。

    1234567
    CREATE SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca FOREIGN DATA WRAPPER HDFS_FDW OPTIONS (address '192.168.1.245:9820,192.168.1.218:9820',   //MRS管理面的Master主备节点的内网IP,可与DWS通讯hdfscfgpath '/MRS/8f79ada0-d998-4026-9020-80d6de2692ca',type 'hdfs');

  7. 查看外部服务器。

    1
    SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca';

    返回结果如下所示,表示已经创建成功:

    1234
                         srvname                      | srvowner | srvfdw | srvtype | srvversion | srvacl |                                                     srvoptions--------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca |    16476 |  13685 |         |            |        | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}(1 row)

support.huaweicloud.com/bestpractice-dws/dws_05_0056.html