建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
数仓GaussDB(DWS) 主题:2561帖子:11656

【教程培训】

【云小课】大数据融合分析:GaussDB(DWS)轻松导入MRS-Hive数据源

数仓云云 2021/4/29 1604

云小课插图.jpg

大数据融合分析时代,GaussDB(DWS)如需访问MRS数据源,该如何实现?本期云小课带您开启MRS数据源之门,通过远程读取MRS集群Hive上的ORC数据表完成数据导入DWS。

unnaming (64).png

准备环境

需确保MRS和DWS集群在同一个区域、可用区、同一VPC子网内,确保集群网络互通。

基本流程

1、创建MRS分析集群(选择Hive组件)。

2、通过将本地txt数据文件上传至OBS桶,再通过OBS桶导入Hive,并由txt存储表导入ORC存储表。

3、创建MRS数据源连接。

4、创建外部服务器。

5、创建外表。

6、通过外表导入DWS本地表。


创建MRS分析集群

  1. 登录华为云控制台,选择“EI企业智能 > MapReduce服务”,单击“购买集群”,选择“自定义购买”,填写软件配置参数,单击“下一步”。

    表1 软件配置

    参数项

    取值

    区域

    华北-北京四

    集群名称

    MRS01

    集群版本

    MRS 3.0.5

    集群类型

    分析集群


  2. 填写硬件配置参数,单击“下一步”。

    表1 硬件配置

    参数项

    取值

    计费模式

    按需计费

    可用区

    可用区2

    虚拟私有云

    vpc-01

    子网

    subnet-01

    安全组

    自动创建

    弹性公网IP

    10.x.x.x

    企业项目

    default

    Master节点

    打开“集群高可用”

    分析Core节点

    3

    分析Task节点

    0


  3. 填写高级配置参数,单击“立即购买”,等待约15分钟,集群创建成功。

    表1 高级配置

    参数项

    取值

    标签

    test01

    委托

    保持默认即可

    告警

    保持默认即可

    规则名称

    保持默认即可

    主题名称

    保持默认即可

    Kerberos认证

    默认打开

    用户名

    admin

    密码

    设置密码,例如:Huawei@12345。该密码用于登录集群管理页面。

    确认密码

    再次输入设置admin用户密码

    登录方式

    密码

    用户名

    root

    密码

    设置密码,例如:Huawei_12345。该密码用于远程登录ECS机器。

    确认密码

    再次输入设置的root用户密码

    通信安全授权

    勾选“确认授权”


准备MRS的ORC表数据源

  1. 本地PC新建一个product_info.txt,并拷贝以下数据,保存到本地。

    100,XHDK-A-1293-#fJ3,2017-09-01,A,2017 Autumn New Shirt Women,red,M,328,2017-09-04,715,good
    205,KDKE-B-9947-#kL5,2017-09-01,A,2017 Autumn New Knitwear Women,pink,L,584,2017-09-05,406,very good!
    300,JODL-X-1937-#pV7,2017-09-01,A,2017 autumn new T-shirt men,red,XL,1245,2017-09-03,502,Bad.
    310,QQPX-R-3956-#aD8,2017-09-02,B,2017 autumn new jacket women,red,L,411,2017-09-05,436,It's really super nice
    150,ABEF-C-1820-#mC6,2017-09-03,B,2017 Autumn New Jeans Women,blue,M,1223,2017-09-06,1200,The seller's packaging is exquisite
    200,BCQP-E-2365-#qE4,2017-09-04,B,2017 autumn new casual pants men,black,L,997,2017-09-10,301,The clothes are of good quality.
    250,EABE-D-1476-#oB1,2017-09-10,A,2017 autumn new dress women,black,S,841,2017-09-15,299,Follow the store for a long time.
    108,CDXK-F-1527-#pL2,2017-09-11,A,2017 autumn new dress women,red,M,85,2017-09-14,22,It's really amazing to buy
    450,MMCE-H-4728-#nP9,2017-09-11,A,2017 autumn new jacket women,white,M,114,2017-09-14,22,Open the package and the clothes have no odor
    260,OCDA-G-2817-#bD3,2017-09-12,B,2017 autumn new woolen coat women,red,L,2004,2017-09-15,826,Very favorite clothes
    980,ZKDS-J-5490-#cW4,2017-09-13,B,2017 Autumn New Women's Cotton Clothing,red,M,112,2017-09-16,219,The clothes are small
    98,FKQB-I-2564-#dA5,2017-09-15,B,2017 autumn new shoes men,green,M,4345,2017-09-18,5473,The clothes are thick and it's better this winter.
    150,DMQY-K-6579-#eS6,2017-09-21,A,2017 autumn new underwear men,yellow,37,2840,2017-09-25,5831,This price is very cost effective
    200,GKLW-l-2897-#wQ7,2017-09-22,A,2017 Autumn New Jeans Men,blue,39,5879,2017-09-25,7200,The clothes are very comfortable to wear
    300,HWEC-L-2531-#xP8,2017-09-23,A,2017 autumn new shoes women,brown,M,403,2017-09-26,607,good
    100,IQPD-M-3214-#yQ1,2017-09-24,B,2017 Autumn New Wide Leg Pants Women,black,M,3045,2017-09-27,5021,very good.
    350,LPEC-N-4572-#zX2,2017-09-25,B,2017 Autumn New Underwear Women,red,M,239,2017-09-28,407,The seller's service is very good
    110,NQAB-O-3768-#sM3,2017-09-26,B,2017 autumn new underwear women,red,S,6089,2017-09-29,7021,The color is very good 
    210,HWNB-P-7879-#tN4,2017-09-27,B,2017 autumn new underwear women,red,L,3201,2017-09-30,4059,I like it very much and the quality is good.
    230,JKHU-Q-8865-#uO5,2017-09-29,C,2017 Autumn New Clothes with Chiffon Shirt,black,M,2056,2017-10-02,3842,very good
    

  2. 登录OBS控制台,单击“创建桶”,填写以下参数,单击“立即创建”。

    表1 桶参数

    参数项

    取值

    区域

    华北-北京四

    数据冗余存储策略

    单AZ存储

    mrs-datasource

    存储类别

    标准存储

    桶策略

    私有

    默认加密

    关闭

    归档数据直读

    关闭

    企业项目

    default

    标签

    -


  3. 等待桶创建好,单击桶名称,选择“对象 > 上传对象”,将product_info.txt上传至OBS桶。

  4. 切换回MRS控制台,单击创建好的MRS集群名称,进入“概览”,单击“IAM用户同步”所在行的“单击同步”,等待约5分钟同步完成。

  5. 回到MRS集群页面,单击“节点管理”,单击任意一台master节点,进入该节点页面,切换到“弹性公网IP”,单击“绑定弹性公网IP”,勾选已有弹性IP并单击“确定”,如果没有,请创建。记录此公网IP。

  6. 确认主master节点。

    1. 使用SSH工具以root用户登录以上节点,root密码为Huawei_12345,切换到omm用户。

      su - omm

    2. 执行以下命令查询主master节点,回显信息中“HAActive”参数值为“active”的节点为主master节点

      sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh

  7. 使用root用户登录主master节点,切换到omm用户,并进入Hive客户端所在目录。

    su - omm

    cd /opt/client

  8. 在Hive上创建存储类型为TEXTFILE的表product_info。

    1. 在/opt/client路径下,导入环境变量。

      source bigdata_env

    2. 登录Hive客户端。

      beeline

    3. 依次执行以下SQL语句创建demo数据库及表product_info。

      CREATE DATABASE demo;
      
      USE demo;
      
      DROP TABLE product_info;
      
      CREATE TABLE product_info 
      (    
          product_price                int            not null,
          product_id                   char(30)       not null,
          product_time                 date           ,
          product_level                char(10)       ,
          product_name                 varchar(200)   ,
          product_type1                varchar(20)    ,
          product_type2                char(10)       ,
          product_monthly_sales_cnt    int            ,
          product_comment_time         date           ,
          product_comment_num          int        ,
          product_comment_content      varchar(200)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as TEXTFILE
      

  9. 将product_info.txt数据文件导入Hive。

    1. 切回到MRS集群,单击“文件管理”,单击“导入数据”。

    2. OBS路径:选择上面创建好的OBS桶名,找到product_info.txt文件,单击“是”。

    3. HDFS路径:选择/user/hive/warehouse/demo.db/product_info/,单击“是”。

    4. 单击“确定”,等待导入成功,此时product_info的表数据已导入成功。

  10. 创建ORC表,并将数据导入ORC表。

    1. 执行以下SQL语句创建ORC表。

      DROP TABLE product_info_orc;
      
      CREATE TABLE product_info_orc
      (    
          product_price                int            not null,
          product_id                   char(30)       not null,
          product_time                 date           ,
          product_level                char(10)       ,
          product_name                 varchar(200)   ,
          product_type1                varchar(20)    ,
          product_type2                char(10)       ,
          product_monthly_sales_cnt    int            ,
          product_comment_time         date           ,
          product_comment_num          int            ,
          product_comment_content      varchar(200)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as orc;
      

    2. 将product_info表的数据插入到Hive ORC表product_info_orc中

      insert into product_info_orc select * from product_info;
      

    3. 查询ORC表数据导入成功。

      select * from product_info_orc;
      

创建MRS数据源连接

  1. 登录DWS管理控制台,单击已创建好的DWS集群,确保DWS集群与MRS在同一个区域、可用分区,并且在同一VPC子网下。

  2. 切换到“MRS数据源”,单击“创建MRS数据源连接”。

  3. 选择前序步骤创建名为的“MRS01”数据源,用户名:admin,密码:Huawei@12345,单击“确定”,创建成功。


创建外部服务器

  1. 使用Data Studio连接已创建好的DWS集群。

  2. 新建一个具有创建数据库权限的用户dbuser:

    CREATE USER dbuser WITH CREATEDB PASSWORD "Bigdata@123";
    
  3. 切换为新建的dbuser用户:

    SET ROLE dbuser PASSWORD "Bigdata@123";
    
  4. 创建新的mydatabase数据库:

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

    1. 在Data Studio客户端的“对象浏览器”窗口,右键单击数据库连接名称,在弹出菜单中单击“刷新”,刷新后就可以看到新建的数据库。

    2. 右键单击“mydatabase”数据库名称,在弹出菜单中单击打开连接

    3. 右键单击“mydatabase”数据库名称,在弹出菜单中单击打开新的终端,即可打开连接到指定数据库的SQL命令窗口,后面的步骤,请全部在该命令窗口中执行。

  6. 为dbuser用户授予创建外部服务器的权限:

    GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser;
    

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

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

    ALTER USER dbuser USEFT;
    
  8. 切换回Postgres系统数据库,查询创建MRS数据源后系统自动创建的外部服务器。

    SELECT * FROM pg_foreign_server;
    

    返回结果如:

                         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)
    

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

    SET ROLE dbuser PASSWORD "Bigdata@123";
    
  10. 创建外部服务器。

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

    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'
    );
    
  11. 查看外部服务器。

    SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca';
    

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

                         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:29820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}
    (1 row)
    

创建外表

  1. 获取Hive的product_info_orc的文件路径。

    1. 登录MRS管理控制台。

    2. 选择“集群列表 > 现有集群”,单击要查看的集群名称,进入集群基本信息页面。

    3. 单击“文件管理”,选择“HDFS文件列表”。

    4. 进入您要导入到GaussDB(DWS)集群的数据的存储目录,并记录其路径。


  2. 创建外表。 SERVER名字填写10创建的外部服务器名称,foldername填写1查到的路径。

    DROP FOREIGN TABLE IF EXISTS foreign_product_info;
    
    CREATE FOREIGN TABLE foreign_product_info
    (
        product_price                integer        not null,
        product_id                   char(30)       not null,
        product_time                 date           ,
        product_level                char(10)       ,
        product_name                 varchar(200)   ,
        product_type1                varchar(20)    ,
        product_type2                char(10)       ,
        product_monthly_sales_cnt    integer        ,
        product_comment_time         date           ,
        product_comment_num          integer        ,
        product_comment_content      varchar(200)                      
    ) SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca 
    OPTIONS (
    format 'orc', 
    encoding 'utf8',
    foldername '/user/hive/warehouse/demo.db/product_info_orc/'
    ) 
    DISTRIBUTE BY ROUNDROBIN;
    

执行数据导入

  1. 创建本地目标表。

    DROP TABLE IF EXISTS product_info;
    CREATE TABLE product_info
    (
        product_price                integer        not null,
        product_id                   char(30)       not null,
        product_time                 date           ,
        product_level                char(10)       ,
        product_name                 varchar(200)   ,
        product_type1                varchar(20)    ,
        product_type2                char(10)       ,
        product_monthly_sales_cnt    integer        ,
        product_comment_time         date           ,
        product_comment_num          integer        ,
        product_comment_content      varchar(200)                   
    ) 
    with (
    orientation = column,
    compression=middle
    ) 
    DISTRIBUTE BY HASH (product_id);
    
  2. 从外表导入目标表。

    INSERT INTO product_info SELECT * FROM foreign_product_info;
    
  3. 查询导入结果。

    SELECT * FROM product_info;
    

20200805-112140(eSpace).png

想了解更多GaussDB(DWS)猛戳


回复4

2021/4/29 16:57

终于等到你

2021/4/29 22:51

视频课程挺好的,赞

2021/5/14 19:50

GaussDB(DWS)可以多出一些视频吗,这个挺好的

2021/5/18 15:30

上划加载中
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

数仓云云

发帖: 11粉丝: 0

发消息 + 关注

更新于2021年04月29日 17:08:21 1604 4
直达本楼层的链接
楼主
显示全部楼层
[教程培训] 【云小课】大数据融合分析:GaussDB(DWS)轻松导入MRS-Hive数据源

云小课插图.jpg

大数据融合分析时代,GaussDB(DWS)如需访问MRS数据源,该如何实现?本期云小课带您开启MRS数据源之门,通过远程读取MRS集群Hive上的ORC数据表完成数据导入DWS。

unnaming (64).png

准备环境

需确保MRS和DWS集群在同一个区域、可用区、同一VPC子网内,确保集群网络互通。

基本流程

1、创建MRS分析集群(选择Hive组件)。

2、通过将本地txt数据文件上传至OBS桶,再通过OBS桶导入Hive,并由txt存储表导入ORC存储表。

3、创建MRS数据源连接。

4、创建外部服务器。

5、创建外表。

6、通过外表导入DWS本地表。


创建MRS分析集群

  1. 登录华为云控制台,选择“EI企业智能 > MapReduce服务”,单击“购买集群”,选择“自定义购买”,填写软件配置参数,单击“下一步”。

    表1 软件配置

    参数项

    取值

    区域

    华北-北京四

    集群名称

    MRS01

    集群版本

    MRS 3.0.5

    集群类型

    分析集群


  2. 填写硬件配置参数,单击“下一步”。

    表1 硬件配置

    参数项

    取值

    计费模式

    按需计费

    可用区

    可用区2

    虚拟私有云

    vpc-01

    子网

    subnet-01

    安全组

    自动创建

    弹性公网IP

    10.x.x.x

    企业项目

    default

    Master节点

    打开“集群高可用”

    分析Core节点

    3

    分析Task节点

    0


  3. 填写高级配置参数,单击“立即购买”,等待约15分钟,集群创建成功。

    表1 高级配置

    参数项

    取值

    标签

    test01

    委托

    保持默认即可

    告警

    保持默认即可

    规则名称

    保持默认即可

    主题名称

    保持默认即可

    Kerberos认证

    默认打开

    用户名

    admin

    密码

    设置密码,例如:Huawei@12345。该密码用于登录集群管理页面。

    确认密码

    再次输入设置admin用户密码

    登录方式

    密码

    用户名

    root

    密码

    设置密码,例如:Huawei_12345。该密码用于远程登录ECS机器。

    确认密码

    再次输入设置的root用户密码

    通信安全授权

    勾选“确认授权”


准备MRS的ORC表数据源

  1. 本地PC新建一个product_info.txt,并拷贝以下数据,保存到本地。

    100,XHDK-A-1293-#fJ3,2017-09-01,A,2017 Autumn New Shirt Women,red,M,328,2017-09-04,715,good
    205,KDKE-B-9947-#kL5,2017-09-01,A,2017 Autumn New Knitwear Women,pink,L,584,2017-09-05,406,very good!
    300,JODL-X-1937-#pV7,2017-09-01,A,2017 autumn new T-shirt men,red,XL,1245,2017-09-03,502,Bad.
    310,QQPX-R-3956-#aD8,2017-09-02,B,2017 autumn new jacket women,red,L,411,2017-09-05,436,It's really super nice
    150,ABEF-C-1820-#mC6,2017-09-03,B,2017 Autumn New Jeans Women,blue,M,1223,2017-09-06,1200,The seller's packaging is exquisite
    200,BCQP-E-2365-#qE4,2017-09-04,B,2017 autumn new casual pants men,black,L,997,2017-09-10,301,The clothes are of good quality.
    250,EABE-D-1476-#oB1,2017-09-10,A,2017 autumn new dress women,black,S,841,2017-09-15,299,Follow the store for a long time.
    108,CDXK-F-1527-#pL2,2017-09-11,A,2017 autumn new dress women,red,M,85,2017-09-14,22,It's really amazing to buy
    450,MMCE-H-4728-#nP9,2017-09-11,A,2017 autumn new jacket women,white,M,114,2017-09-14,22,Open the package and the clothes have no odor
    260,OCDA-G-2817-#bD3,2017-09-12,B,2017 autumn new woolen coat women,red,L,2004,2017-09-15,826,Very favorite clothes
    980,ZKDS-J-5490-#cW4,2017-09-13,B,2017 Autumn New Women's Cotton Clothing,red,M,112,2017-09-16,219,The clothes are small
    98,FKQB-I-2564-#dA5,2017-09-15,B,2017 autumn new shoes men,green,M,4345,2017-09-18,5473,The clothes are thick and it's better this winter.
    150,DMQY-K-6579-#eS6,2017-09-21,A,2017 autumn new underwear men,yellow,37,2840,2017-09-25,5831,This price is very cost effective
    200,GKLW-l-2897-#wQ7,2017-09-22,A,2017 Autumn New Jeans Men,blue,39,5879,2017-09-25,7200,The clothes are very comfortable to wear
    300,HWEC-L-2531-#xP8,2017-09-23,A,2017 autumn new shoes women,brown,M,403,2017-09-26,607,good
    100,IQPD-M-3214-#yQ1,2017-09-24,B,2017 Autumn New Wide Leg Pants Women,black,M,3045,2017-09-27,5021,very good.
    350,LPEC-N-4572-#zX2,2017-09-25,B,2017 Autumn New Underwear Women,red,M,239,2017-09-28,407,The seller's service is very good
    110,NQAB-O-3768-#sM3,2017-09-26,B,2017 autumn new underwear women,red,S,6089,2017-09-29,7021,The color is very good 
    210,HWNB-P-7879-#tN4,2017-09-27,B,2017 autumn new underwear women,red,L,3201,2017-09-30,4059,I like it very much and the quality is good.
    230,JKHU-Q-8865-#uO5,2017-09-29,C,2017 Autumn New Clothes with Chiffon Shirt,black,M,2056,2017-10-02,3842,very good
    

  2. 登录OBS控制台,单击“创建桶”,填写以下参数,单击“立即创建”。

    表1 桶参数

    参数项

    取值

    区域

    华北-北京四

    数据冗余存储策略

    单AZ存储

    mrs-datasource

    存储类别

    标准存储

    桶策略

    私有

    默认加密

    关闭

    归档数据直读

    关闭

    企业项目

    default

    标签

    -


  3. 等待桶创建好,单击桶名称,选择“对象 > 上传对象”,将product_info.txt上传至OBS桶。

  4. 切换回MRS控制台,单击创建好的MRS集群名称,进入“概览”,单击“IAM用户同步”所在行的“单击同步”,等待约5分钟同步完成。

  5. 回到MRS集群页面,单击“节点管理”,单击任意一台master节点,进入该节点页面,切换到“弹性公网IP”,单击“绑定弹性公网IP”,勾选已有弹性IP并单击“确定”,如果没有,请创建。记录此公网IP。

  6. 确认主master节点。

    1. 使用SSH工具以root用户登录以上节点,root密码为Huawei_12345,切换到omm用户。

      su - omm

    2. 执行以下命令查询主master节点,回显信息中“HAActive”参数值为“active”的节点为主master节点

      sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh

  7. 使用root用户登录主master节点,切换到omm用户,并进入Hive客户端所在目录。

    su - omm

    cd /opt/client

  8. 在Hive上创建存储类型为TEXTFILE的表product_info。

    1. 在/opt/client路径下,导入环境变量。

      source bigdata_env

    2. 登录Hive客户端。

      beeline

    3. 依次执行以下SQL语句创建demo数据库及表product_info。

      CREATE DATABASE demo;
      
      USE demo;
      
      DROP TABLE product_info;
      
      CREATE TABLE product_info 
      (    
          product_price                int            not null,
          product_id                   char(30)       not null,
          product_time                 date           ,
          product_level                char(10)       ,
          product_name                 varchar(200)   ,
          product_type1                varchar(20)    ,
          product_type2                char(10)       ,
          product_monthly_sales_cnt    int            ,
          product_comment_time         date           ,
          product_comment_num          int        ,
          product_comment_content      varchar(200)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as TEXTFILE
      

  9. 将product_info.txt数据文件导入Hive。

    1. 切回到MRS集群,单击“文件管理”,单击“导入数据”。

    2. OBS路径:选择上面创建好的OBS桶名,找到product_info.txt文件,单击“是”。

    3. HDFS路径:选择/user/hive/warehouse/demo.db/product_info/,单击“是”。

    4. 单击“确定”,等待导入成功,此时product_info的表数据已导入成功。

  10. 创建ORC表,并将数据导入ORC表。

    1. 执行以下SQL语句创建ORC表。

      DROP TABLE product_info_orc;
      
      CREATE TABLE product_info_orc
      (    
          product_price                int            not null,
          product_id                   char(30)       not null,
          product_time                 date           ,
          product_level                char(10)       ,
          product_name                 varchar(200)   ,
          product_type1                varchar(20)    ,
          product_type2                char(10)       ,
          product_monthly_sales_cnt    int            ,
          product_comment_time         date           ,
          product_comment_num          int            ,
          product_comment_content      varchar(200)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as orc;
      

    2. 将product_info表的数据插入到Hive ORC表product_info_orc中

      insert into product_info_orc select * from product_info;
      

    3. 查询ORC表数据导入成功。

      select * from product_info_orc;
      

创建MRS数据源连接

  1. 登录DWS管理控制台,单击已创建好的DWS集群,确保DWS集群与MRS在同一个区域、可用分区,并且在同一VPC子网下。

  2. 切换到“MRS数据源”,单击“创建MRS数据源连接”。

  3. 选择前序步骤创建名为的“MRS01”数据源,用户名:admin,密码:Huawei@12345,单击“确定”,创建成功。


创建外部服务器

  1. 使用Data Studio连接已创建好的DWS集群。

  2. 新建一个具有创建数据库权限的用户dbuser:

    CREATE USER dbuser WITH CREATEDB PASSWORD "Bigdata@123";
    
  3. 切换为新建的dbuser用户:

    SET ROLE dbuser PASSWORD "Bigdata@123";
    
  4. 创建新的mydatabase数据库:

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

    1. 在Data Studio客户端的“对象浏览器”窗口,右键单击数据库连接名称,在弹出菜单中单击“刷新”,刷新后就可以看到新建的数据库。

    2. 右键单击“mydatabase”数据库名称,在弹出菜单中单击打开连接

    3. 右键单击“mydatabase”数据库名称,在弹出菜单中单击打开新的终端,即可打开连接到指定数据库的SQL命令窗口,后面的步骤,请全部在该命令窗口中执行。

  6. 为dbuser用户授予创建外部服务器的权限:

    GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser;
    

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

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

    ALTER USER dbuser USEFT;
    
  8. 切换回Postgres系统数据库,查询创建MRS数据源后系统自动创建的外部服务器。

    SELECT * FROM pg_foreign_server;
    

    返回结果如:

                         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)
    

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

    SET ROLE dbuser PASSWORD "Bigdata@123";
    
  10. 创建外部服务器。

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

    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'
    );
    
  11. 查看外部服务器。

    SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca';
    

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

                         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:29820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}
    (1 row)
    

创建外表

  1. 获取Hive的product_info_orc的文件路径。

    1. 登录MRS管理控制台。

    2. 选择“集群列表 > 现有集群”,单击要查看的集群名称,进入集群基本信息页面。

    3. 单击“文件管理”,选择“HDFS文件列表”。

    4. 进入您要导入到GaussDB(DWS)集群的数据的存储目录,并记录其路径。


  2. 创建外表。 SERVER名字填写10创建的外部服务器名称,foldername填写1查到的路径。

    DROP FOREIGN TABLE IF EXISTS foreign_product_info;
    
    CREATE FOREIGN TABLE foreign_product_info
    (
        product_price                integer        not null,
        product_id                   char(30)       not null,
        product_time                 date           ,
        product_level                char(10)       ,
        product_name                 varchar(200)   ,
        product_type1                varchar(20)    ,
        product_type2                char(10)       ,
        product_monthly_sales_cnt    integer        ,
        product_comment_time         date           ,
        product_comment_num          integer        ,
        product_comment_content      varchar(200)                      
    ) SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca 
    OPTIONS (
    format 'orc', 
    encoding 'utf8',
    foldername '/user/hive/warehouse/demo.db/product_info_orc/'
    ) 
    DISTRIBUTE BY ROUNDROBIN;
    

执行数据导入

  1. 创建本地目标表。

    DROP TABLE IF EXISTS product_info;
    CREATE TABLE product_info
    (
        product_price                integer        not null,
        product_id                   char(30)       not null,
        product_time                 date           ,
        product_level                char(10)       ,
        product_name                 varchar(200)   ,
        product_type1                varchar(20)    ,
        product_type2                char(10)       ,
        product_monthly_sales_cnt    integer        ,
        product_comment_time         date           ,
        product_comment_num          integer        ,
        product_comment_content      varchar(200)                   
    ) 
    with (
    orientation = column,
    compression=middle
    ) 
    DISTRIBUTE BY HASH (product_id);
    
  2. 从外表导入目标表。

    INSERT INTO product_info SELECT * FROM foreign_product_info;
    
  3. 查询导入结果。

    SELECT * FROM product_info;
    

20200805-112140(eSpace).png

想了解更多GaussDB(DWS)猛戳


举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

DWS殿阁大学士

发帖: 254粉丝: 26

级别 : 版主,版块专家

发消息 + 关注

发表于2021年04月29日 16:57:44
直达本楼层的链接
沙发
显示全部楼层

终于等到你

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

月呀儿~~

发帖: 94粉丝: 0

发消息 + 关注

发表于2021年04月29日 22:51:32
直达本楼层的链接
板凳
显示全部楼层

视频课程挺好的,赞

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

DWS殿阁大学士

发帖: 254粉丝: 26

级别 : 版主,版块专家

发消息 + 关注

发表于2021年05月14日 19:50:25
直达本楼层的链接
地板
显示全部楼层

GaussDB(DWS)可以多出一些视频吗,这个挺好的

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

瘸子那条好腿

发帖: 57粉丝: 11

级别 : 版主,版块专家

发消息 + 关注

发表于2021年05月18日 15:30:37
直达本楼层的链接
5#
显示全部楼层