同步目标表为Dataphin平台进行业务数据加工的表(即该业务所在项目中的计算源中的表)。本文为您介绍如何创建数据同步的目标表。

背景信息

目前,Dataphin平台支持通过构建即席查询和离线计算任务的两种方式,新建目标表。

通过即席查询的方式新建目标表

  1. 登录Dataphin控制台
  2. 在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>
  3. 在Dataphin首页,单击研发
  4. 可选:在数据开发页面,单击项目名称后的test图标,选择数据开发的项目空间(DevBasic项目)。
    如果您当前访问的是DevBasic项目,且项目空间为您的数据开发空间,则不需要选择项目空间。
  5. 在数据开发页面,单击即席查询
  6. 新建即席查询文件夹。
    1. 即席查询页面,单击即席查询后的fagaga图标。
    2. 新建文件夹弹框中,填写文件夹名称
    3. 单击确定,完成即席查询文件夹的创建。
  7. 新建即席查询文件。
    1. 即席查询页面,单击即席查询后的gaaga图标。
    2. 新建文件页面,填写文件的名称描述选择目录
    3. 单击确定,完成即席查询文件的创建。
  8. 编写即席查询文件的代码。
    1. 根据业务场景,编写创建同步目标表的SQL语句,示例如下。
      -- Table<store_sales (23 cols)  partition=ss_sold_date_sk>
      drop table if exists store_sales;
      create table if not exists store_sales(
            ss_sold_date_sk bigint
      ,     ss_sold_time_sk bigint
      ,     ss_item_sk bigint
      ,     ss_customer_sk bigint
      ,     ss_cdemo_sk bigint
      ,     ss_hdemo_sk bigint
      ,     ss_addr_sk bigint
      ,     ss_store_sk bigint
      ,     ss_promo_sk bigint
      ,     ss_ticket_number bigint
      ,     ss_quantity int
      ,     ss_wholesale_cost double
      ,     ss_list_price double
      ,     ss_sales_price double
      ,     ss_ext_discount_amt double
      ,     ss_ext_sales_price double
      ,     ss_ext_wholesale_cost double
      ,     ss_ext_list_price double
      ,     ss_ext_tax double
      ,     ss_coupon_amt double
      ,     ss_net_paid double
      ,     ss_net_paid_inc_tax double
      ,     ss_net_profit double
      )
      partitioned by (ds string)
    2. 完成编写后,单击预编译,检验SQL语句是否复合规范。
      如果不复合规范,则单击格式化,系统自动调整您编写的SQL语句,使得其符合规范。
    3. 规范校验通过后,单击执行,查看运行SQL结果是否成功。
  9. SQL运行成功后,单击页面右上方的gagag图标,完成目标表的创建。

通过离线计算任务的方式新建目标表

  1. 在Dataphin首页,单击研发
  2. 可选:在数据开发页面,单击项目名称后的test图标,选择数据开发的项目空间(DevBasic项目)。
    如果您当前访问的是DevBasic项目,且项目空间为您的数据开发空间,则不需要选择项目空间。
  3. 在数据开发页面,单击数据处理
  4. 数据处理页面,单击左侧导航栏中的vega图标。
  5. 新建离线计算任务的文件夹。
    1. 离线计算任务页面,单击离线计算任务后的fagaga图标。
    2. 新建文件夹页面,填写文件夹名称
    3. 单击确定,完成代码任务文件夹的创建。
  6. 新建代码任务文件。
    1. 离线计算任务页面,单击离线计算任务后的gaaga后,选择MAX_COMPUTE_SQL
    2. 根据新建文件页面提示,配置参数。
      faga
      参数 描述
      名称 填写离线计算任务的名称,例如SQL。
      调度类型 选择离线计算任务调度的类型。调度类型包括周期性节点手动节点
      描述 填写对任务的简单描述。
      选择目录 选择离线计算任务的目录。
    3. 单击确定,完成离线代码任务文件的创建。
  7. 编写离线计算任务的代码。
    1. 根据业务场景,编写创建同步目标表的SQL语句,示例如下。
      -- Table<customer (18 cols)>
      
      drop table if exists customer;
      create table if not exists customer(
            c_customer_sk bigint
      ,     c_customer_id string
      ,     c_current_cdemo_sk bigint
      ,     c_current_hdemo_sk bigint
      ,     c_current_addr_sk bigint
      ,     c_first_shipto_date_sk bigint
      ,     c_first_sales_date_sk bigint
      ,     c_salutation string
      ,     c_first_name string
      ,     c_last_name string
      ,     c_preferred_cust_flag string
      ,     c_birth_day int
      ,     c_birth_month int
      ,     c_birth_year int
      ,     c_birth_country string
      ,     c_login string
      ,     c_email_address string
      ,     c_last_review_date_sk bigint
      )
      ;
    2. 完成编写后,单击预编译,检验SQL语句是否复合规范。
      如果不复合规范,则单击格式化,系统自动调整您编写的SQL语句,使得其符合规范。
    3. 规范校验通过后,单击执行,查看运行SQL结果是否成功。
  8. 可选:配置调度参数。
    • 如果离线计算任务的调度类型为周期性节点,则需要配置调度参数,详情请参见调度配置
    • 如果离线计算任务的调度类型为手动节点,则无需进行调度配置。
  9. 保存、提交和发布离线计算任务。
    1. 在代码编写页面,单击右上角的图标,保存代码。
    2. 在代码编写页面,单击右上角的图标,提交代码。
    3. 可选:发布离线计算任务。
      • 如果您的开发模式是Dev-Prod模式,则需要发布离线计算任务,详情请参见发布管理
      • 如果您的开发模式是Basic模式,则不需要发布离线计算任务,提交后的离线计算任务就可以参与调度。