更新时间:2025-08-22 GMT+08:00

MRS集群上的数据准备

从MRS导入数据到DWS集群之前,假设您已经完成了以下准备工作:

  1. 已创建MRS集群和Lakeformation实例,并完成MRS集群和Lakeformation实例对接,具体操作请参见创建MRS集群时配置LakeFormation数据连接
  2. 在MRS集群上创建了Spark Hudi表,且表数据已经存储到该表对应的OBS路径上。

如果您已经完成上述准备,则可以跳过本章节。

为方便起见,以在MRS集群上创建Spark Hudi表作为示例,完成上述准备工作。

在MRS集群上创建Spark Hudi表

  1. 创建了MRS集群。

    具体操作请参见《MapReduce服务用户指南》的“创建集群 > 创建自定义集群”章节。

  2. 下载客户端。

    1. 在MRS集群页面,单击集群名称进入“概览”,单击“前往Manager”,如果提示绑定公网IP,请先绑定公网IP。
    2. 输入MRS Manager的用户名admin和密码,密码为创建MRS集群时输入的admin密码。
    3. 登录成功后,选择“集群 > 待操作集群的名称 > 概览 > 更多 > 下载客户端”。界面显示“下载集群客户端”对话框。

      历史版本的客户端获取方法:请选择“服务管理 > 下载客户端”,“客户端类型”选择“仅配置文件”。

  3. 登录MRS集群的Spark-sql客户端。

    1. 登录Master节点。

      具体操作,请参见《MapReduce服务用户指南》中的“远程操作指南 > 登录Master节点”章节。

    2. 执行以下命令切换用户。
      sudo su - omm
    3. 执行以下命令切换到客户端目录:
      cd /opt/client
    4. 执行以下命令配置环境变量:
      source bigdata_env 
      source ./Hudi/component_env
    5. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建Hive表的权限,具体操作请参见《MapReduce服务用户指南》的“创建角色”章节。配置拥有对应权限的角色,具体操作请参见《MapReduce服务用户指南》的“创建角色”章节。为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。
      kinit MRS集群用户

      例如,kinit hiveuser。

    6. 执行以下命令启动Hive客户端:
      spark-sql

  4. 在Spark-sql中创建Hudi表。

    执行以下命令创建Hudi表并插入数据:

    CREATE TABLE test_hudi
     (  
           product_price                int            , 
           product_id                   char(30)       ,
           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)   
      ) 
    using hudi options ( type = 'mor', primaryKey = 'product_price',payloadClass = 'org.apache.hudi.common.model.DefaultHoodieRecordPayload',preCombineField = 'product_id' );  
    insert into test_hudi values 
    (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), 
    (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.), 
    (300,HWEC-L-2531-#xP8,2017-09-23,A,2017 autumn new shoes women,brown,M,403,2017-09-26,607,good)