日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

數據引入層(ODS)

基于阿里巴巴OneData方法論最佳實踐,ODS層存放您從業務系統獲取的最原始的數據,是其他上層數據的源數據。業務數據系統中的數據通常為長期累積的、非常細節的數據,且訪問頻率很高,是面向應用的數據。

數據引入層表設計

本教程中,在ODS層主要包括的數據有:交易系統訂單詳情、用戶信息詳情、商品詳情等。這些數據未經處理,是最原始的數據。在邏輯層面上,這些數據都是以二維表的形式存儲。嚴格地說,雖然ODS層不屬于數倉建模的范疇,但是合理地規劃ODS層并做好數據同步也非常重要。本教程中,使用了6張ODS表:

  • 記錄用于拍賣的商品信息:s_auction。

  • 記錄用于正常售賣的商品信息:s_sale。

  • 記錄用戶詳細信息:s_users_extra。

  • 記錄新增的商品成交訂單信息:s_biz_order_delta。

  • 記錄新增的物流訂單信息:s_logistics_order_delta。

  • 記錄新增的支付訂單信息:s_pay_order_delta。

說明
  • 表或字段命名盡量和業務系統保持一致,但是需要通過額外的標識來區分增量和全量表。在Dataphin中,di后綴的事實模型為增量表(事務型),df后綴的事實模型為全量表(周期快照型)。

  • 命名時需要特別注意沖突處理。例如,不同業務系統的表可能是同一個名稱,為區分兩個不同的表,您可以將這兩個同名表的來源數據庫名稱作為后綴或前綴。例如,表中某些字段的名稱剛好和關鍵字重名了,可以通過規范定義后綴添加_col1解決。

建表示例

通過即席查詢功能,您可以編寫SQL語句創建所需的ODS表。為方便您使用,集中為您提供建表語句如下。

CREATE TABLE IF NOT EXISTS s_auction
(
    id                             STRING COMMENT '商品ID',
    title                          STRING COMMENT '商品名稱',
    gmt_modified                   STRING COMMENT '商品最后修改日期',
    price                          DOUBLE COMMENT '商品成交價格,單位元',
    starts                         STRING COMMENT '商品上架時間',
    minimum_bid                    DOUBLE COMMENT '拍賣商品起拍價,單位元',
    duration                       STRING COMMENT '有效期,銷售周期,單位天',
    incrementnum                   DOUBLE COMMENT '拍賣價格的增價幅度',
    city                           STRING COMMENT '商品所在城市',
    prov                           STRING COMMENT '商品所在省份',
    ends                           STRING COMMENT '銷售結束時間',
    quantity                       BIGINT COMMENT '數量',
    stuff_status                   BIGINT COMMENT '商品新舊程度:0全新 1閑置 2二手',
    auction_status                 BIGINT COMMENT '商品狀態:0正常 1用戶刪除 2下架 3從未上架',
    cate_id                        BIGINT COMMENT '商品類目ID',
    cate_name                      STRING COMMENT '商品類目名稱',
    commodity_id                   BIGINT COMMENT '品類ID',
    commodity_name                 STRING COMMENT '品類名稱',
    umid                           STRING COMMENT '買家umID'
)
COMMENT '商品拍賣ODS'
PARTITIONED BY (ds         STRING COMMENT '格式:YYYYMMDD')
LIFECYCLE 400;


CREATE TABLE IF NOT EXISTS s_sale
(
    id                           STRING COMMENT '商品ID',
    title                        STRING COMMENT '商品名稱',
    gmt_modified                 STRING COMMENT '商品最后修改日期',
    starts                       STRING COMMENT '商品上架時間',
    price                        DOUBLE COMMENT '商品價格,單位元',
    city                         STRING COMMENT '商品所在城市',
    prov                         STRING COMMENT '商品所在省份',
    quantity                     BIGINT COMMENT '數量',
    stuff_status                 BIGINT COMMENT '商品新舊程度:0全新 1閑置 2二手',
    auction_status               BIGINT COMMENT '商品狀態:0正常 1用戶刪除 2下架 3從未上架',
    cate_id                      BIGINT COMMENT '商品類目ID',
    cate_name                    STRING COMMENT '商品類目名稱',
    commodity_id                 BIGINT COMMENT '品類ID',
    commodity_name               STRING COMMENT '品類名稱',
    umid                         STRING COMMENT '買家umID'
)
COMMENT '商品正常購買ODS'
PARTITIONED BY (ds      STRING COMMENT '格式:YYYYMMDD')
LIFECYCLE 400;


CREATE TABLE IF NOT EXISTS s_users_extra
(
    id                  STRING COMMENT '用戶ID',
    logincount          BIGINT COMMENT '登錄次數',
    buyer_goodnum       BIGINT COMMENT '作為買家的好評數',
    seller_goodnum      BIGINT COMMENT '作為賣家的好評數',
    level_type          BIGINT COMMENT '1 一級店鋪 2 二級店鋪 3 三級店鋪',
    promoted_num        BIGINT COMMENT '1 A級服務 2 B級服務 3 C級服務',
    gmt_create          STRING COMMENT '創建時間',
    order_id            BIGINT COMMENT '訂單ID',
    buyer_id            BIGINT COMMENT '買家ID',
    buyer_nick          STRING COMMENT '買家昵稱',
    buyer_star_id       BIGINT COMMENT '買家星級 ID',
    seller_id           BIGINT COMMENT '賣家ID',
    seller_nick         STRING COMMENT '賣家昵稱',
    seller_star_id      BIGINT COMMENT '賣家星級ID',
    shop_id             BIGINT COMMENT '店鋪ID',
    shop_name           STRING COMMENT '店鋪名稱'
)
COMMENT '用戶擴展表'
PARTITIONED BY (ds       STRING COMMENT 'yyyymmdd')
LIFECYCLE 400;


CREATE TABLE IF NOT EXISTS s_biz_order_delta
(
    biz_order_id           STRING COMMENT '訂單ID',
    pay_order_id           STRING COMMENT '支付訂單ID',
    logistics_order_id     STRING COMMENT '物流訂單ID',
    buyer_nick             STRING COMMENT '買家昵稱',
    buyer_id               STRING COMMENT '買家ID',
    seller_nick            STRING COMMENT '賣家昵稱',
    seller_id              STRING COMMENT '賣家ID',
    auction_id             STRING COMMENT '商品ID',
    auction_title          STRING COMMENT '商品標題',
    auction_price          DOUBLE COMMENT '商品價格',
    buy_amount             BIGINT COMMENT '購買數量',
    buy_fee                BIGINT COMMENT '購買金額',
    pay_status             BIGINT COMMENT '支付狀態:1未付款 2已付款 3已退款',
    logistics_id           BIGINT COMMENT '物流訂單ID',
    mord_cod_status        BIGINT COMMENT '物流狀態:0初始狀態 1接單成功 2接單超時 3攬收成功 4攬收失敗 5簽收成功 6簽收失敗 7用戶取消物流訂單',
    status                 BIGINT COMMENT '狀態:0訂單正常 1訂單不可見',
    sub_biz_type           BIGINT COMMENT '業務類型:1拍賣 2購買',
    end_time               STRING COMMENT '交易結束時間',
    shop_id                BIGINT COMMENT '店鋪ID'
)
COMMENT '交易成功訂單日增量表'
PARTITIONED BY (ds       STRING COMMENT 'yyyymmdd')
LIFECYCLE 7200;


CREATE TABLE IF NOT EXISTS s_logistics_order_delta
(
    logistics_order_id    STRING COMMENT '物流訂單ID ',
    post_fee              DOUBLE COMMENT '物流費用',
    address               STRING COMMENT '收貨地址',
    full_name             STRING COMMENT '收貨人全名',
    mobile_phone          STRING COMMENT '移動電話',
    prov                  STRING COMMENT '省份',
    prov_code             STRING COMMENT '省份ID',
    city                  STRING COMMENT '市',
    city_code             STRING COMMENT '城市ID',
    logistics_status      BIGINT COMMENT '物流狀態:1-未發貨 2-已發貨 3-已收貨 4-已退貨 5-配貨中',
    consign_time          STRING COMMENT '發貨時間',
    gmt_create            STRING COMMENT '訂單創建時間',
    shipping              BIGINT COMMENT '發貨方式:1-平郵 2-快遞 3-EMS',
    seller_id             STRING COMMENT '賣家ID',
    buyer_id              STRING COMMENT '買家ID'
)
COMMENT '交易物流訂單日增量表'
PARTITIONED BY (ds                 STRING COMMENT '日期')
LIFECYCLE 7200;


CREATE TABLE IF NOT EXISTS s_pay_order_delta
(
    pay_order_id          STRING COMMENT '支付訂單ID',
    total_fee             DOUBLE COMMENT '應支付總金額(數量*單價)',
    seller_id             STRING COMMENT '賣家ID',
    buyer_id              STRING COMMENT '買家iD',
    pay_status            BIGINT COMMENT '支付狀態:1等待買家付款 2等待賣家發貨 3交易成功',
    pay_time              STRING COMMENT '付款時間',
    gmt_create            STRING COMMENT '訂單創建時間',
    refund_fee            DOUBLE COMMENT '退款金額(包含運費)',
    confirm_paid_fee      DOUBLE COMMENT '已經確認收貨的金額'
)
COMMENT '交易支付訂單增量表'
PARTITIONED BY (ds        STRING COMMENT '日期')
LIFECYCLE 7200;

數據同步加載與處理

ODS的數據需要由各數據源系統同步、存儲到MaxCompute,才能用于進一步的數據開發。本教程建議您使用Dataphin的數據集成功能完成數據同步。在使用數據引入功能的過程中,建議您遵循以下規范:

  • 一個系統的源表只允許同步一次到MaxCompute,保持表結構的一致性。

  • 數據引入支持全量數據同步、實時增量數據同步(分鐘或小時調度實現)兩種同步方式。

  • ODS層的表建議以統計日期及時間分區表的方式存儲,便于管理數據的存儲成本和策略控制,Dataphin中默認時間分區的名字為ds。

  • 數據引入支持手動調整源表和目標表的同步字段。

    • 如果源表字段在目標表中不存在,用戶需手動添加目標字段,或刪除源表字段。

    • 如果源表字段與目標表字段不匹配,用戶需先刪除目標字段,然后重新添加與之匹配的字段。