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

快速搭建實時數(shù)倉分析大屏

本文為您介紹如何使用實時數(shù)倉Hologres對接實時計算,快速搭建實時數(shù)倉分析大屏的最佳實踐。

前提條件

背景信息

Hologres是阿里云的實時交互式分析產(chǎn)品,通過內(nèi)置的實時數(shù)據(jù)API(詳情請參見實時數(shù)據(jù)API直接對接實時計算,實現(xiàn)高并發(fā)實時寫入或查詢實時數(shù)據(jù),速度達(dá)到秒級。

Hologres兼容PostgreSQL,將查詢到的數(shù)據(jù)直接對接BI分析工具,使用可視化方式快速分析和展現(xiàn)數(shù)據(jù)。

本文以搭建某電商店鋪實時運(yùn)營指標(biāo)大屏為例,展示店鋪的總流量、每個商店的訪問量、區(qū)域銷售量和熱銷商品數(shù)據(jù)。

使用Hologres搭建實時運(yùn)營指標(biāo)大屏的完整鏈路圖如下所示。a

  • 采集源數(shù)據(jù)并實時寫入實時計算,通過實時計算清洗并聚合數(shù)據(jù)。

  • 實時寫入處理后的數(shù)據(jù)至Hologres,使用Hologres進(jìn)行交互式查詢。

  • Hologres對接數(shù)據(jù)大屏DataV,展示實時運(yùn)營指標(biāo)大屏。

操作步驟

  1. 獲取源數(shù)據(jù)。

    通過流式數(shù)據(jù)服務(wù)DataHub或者其他業(yè)務(wù)日志獲取源數(shù)據(jù)。

    為了方便流程操作,本試驗從實時計算直接產(chǎn)生數(shù)據(jù),詳情請參見第3步。

  2. 在Hologres中創(chuàng)建數(shù)據(jù)接收表。

    使用Holoweb創(chuàng)建與源表字段及數(shù)據(jù)類型相同的表,用于接收實時寫入的數(shù)據(jù)。具體操作請參見連接HoloWeb并執(zhí)行查詢,SQL語句示例如下。

    BEGIN;
    CREATE TABLE public.order_details (
    "user_id" int8,
    "user_name" text,
    "item_id" int8,
    "item_name" text,
    "price" numeric(38,2),
    "province" text,
    "city" text,
    "ip" text,
    "longitude" text,
    "latitude" text,
    "sale_timestamp" timestamptz NOT NULL
    );
    CALL SET_TABLE_PROPERTY('public.order_details','orientation', 'column');
    CALL SET_TABLE_PROPERTY('public.order_details','clustering_key', 'sale_timestamp:asc');
    CALL SET_TABLE_PROPERTY('public.order_details','segment_key', 'sale_timestamp');
    CALL SET_TABLE_PROPERTY('public.order_details','bitmap_columns', 'user_name,item_name,province,city,ip,longitude,latitude');
    CALL SET_TABLE_PROPERTY('public.order_details','dictionary_encoding_columns','user_name:auto,item_name:auto,province:auto,city:auto,ip:auto,longitude:auto,latitude:auto');
    CALL SET_TABLE_PROPERTY('public.order_details','time_to_live_in_seconds', '3153600000');
    CALL SET_TABLE_PROPERTY('public.order_details','distribution_key', 'user_id');
    CALL SET_TABLE_PROPERTY('public.order_details','storage_format', 'orc');
    COMMIT;
  3. 實時計算控制臺中,上傳自定義Connector JAR資源ordergen。具體操作請參見上傳與使用自定義連接器

  4. 實時計算清洗數(shù)據(jù)。

    進(jìn)入實時計算控制臺,使用實時計算清洗并聚合源數(shù)據(jù),通過實時數(shù)據(jù)API將數(shù)據(jù)實時寫入Hologres。具體操作請參見SQL作業(yè)開發(fā),SQL語句示例如下。

    CREATE TEMPORARY TABLE source_table (
    user_id BIGINT,
    user_name VARCHAR,
    item_id BIGINT,
    item_name VARCHAR,
    price numeric (38, 2),
    province VARCHAR,
    city VARCHAR,
    longitude VARCHAR,
    latitude VARCHAR,
    ip VARCHAR,
    sale_timestamp TIMESTAMP
     )
    WITH ('connector' = 'ordergen');
    
    CREATE TEMPORARY TABLE hologres_sink (
    user_id BIGINT,
    user_name VARCHAR,
    item_id BIGINT,
    item_name VARCHAR,
    price numeric (38, 2),
    province VARCHAR,
    city VARCHAR,
    longitude VARCHAR,
    latitude VARCHAR,
    ip VARCHAR,
    sale_timestamp TIMESTAMP
     )
    WITH (
    'connector' = 'hologres',
    'dbname' = '<holo_db>',
    'tablename' = '<receive_table>',
    'username' = '<uid>',
    'password' = '<pid>',
    'endpoint' = '<host>'
     );
    
    INSERT INTO hologres_sink
    SELECT user_id,
     user_name,
     item_id,
     item_name,
     price,
     province,
     city,
     longitude,
     latitude,
     ip,
     sale_timestamp
    FROM
    source_table;

    參數(shù)說明如下:

    參數(shù)名

    描述

    holo_db

    Hologres的數(shù)據(jù)庫名。

    receive_table

    Hologres接收數(shù)據(jù)的表名,本文中為public.order_details

    uid

    當(dāng)前云賬號的AccessKey ID。

    pid

    當(dāng)前云賬號的AccessKey Secret。

    host

    Hologres實例指定VPC網(wǎng)絡(luò)的域名。您可以進(jìn)入Hologres管理控制臺的實例詳情頁,從網(wǎng)絡(luò)信息中獲取域名。

  5. 前往實時計算的作業(yè)運(yùn)維頁面啟動作業(yè)至運(yùn)行階段,詳情請參見作業(yè)啟動image

  6. 在Hologres中實時查詢數(shù)據(jù)。

    根據(jù)業(yè)務(wù)情況,在Hologres中從不同維度實時查詢實時寫入的數(shù)據(jù),示例如下。

    SELECT SUM(price) AS "GMV" FROM order_details ;
    
    SELECT COUNT(DISTINCT user_id) AS "UV" FROM order_details ;
    
    SELECT city AS "城市", COUNT(DISTINCT user_id) AS "購買用戶數(shù)" FROM order_details GROUP BY "城市" ORDER BY "購買用戶數(shù)" DESC limit 100;
    
    SELECT item_name AS "商品", SUM(price) AS "銷售額" FROM order_details GROUP BY "商品" ORDER BY "銷售額" DESC limit 100;
    
    SELECT to_char(sale_timestamp, 'MM-DD') AS "日期", SUM(price) AS "GMV" FROM order_details GROUP BY "日期" ORDER BY "GMV" DESC limit 100;                
  7. 展示DataV實時大屏。

    Hologres中查詢出的數(shù)據(jù)直接對接DataV,用于制作實時大屏。操作步驟如下:

    1. 添加數(shù)據(jù)源。

      1. 進(jìn)入DataV控制臺首頁,在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)準(zhǔn)備 > 數(shù)據(jù)源,在數(shù)據(jù)源頁面單擊新建數(shù)據(jù)源

      2. 添加數(shù)據(jù)源面板中配置Hologres數(shù)據(jù)源的相關(guān)參數(shù),參數(shù)詳情請參見添加實時數(shù)倉Hologres數(shù)據(jù)源

      3. 單擊確定

    2. 創(chuàng)建實時大屏。

      根據(jù)大屏需要顯示的內(nèi)容,選擇相應(yīng)組件并配置數(shù)據(jù)源信息。詳情請參見概述

      本試驗中選擇了基本柱狀、輪播、基礎(chǔ)平面地圖和數(shù)字翻牌器。以配置數(shù)字翻牌器示例。

      1. 配置數(shù)據(jù)源信息。如下圖所示。y

      2. 配置數(shù)字翻牌器的邊框、字體和顏色。數(shù)字翻牌器

    3. 展示實時大屏。

      配置大屏的插件參數(shù)及數(shù)據(jù)源信息后,可根據(jù)實際業(yè)務(wù)添加裝飾元素,美化插件。

      • 左側(cè)實時顯示商品的訪問量以及城市的銷售額。

      • 中間地圖實時顯示每一筆交易訂單的位置、總的銷售額以及總訪問次數(shù)。

      • 右側(cè)實時顯示商品的銷售額占比和商品的銷售排行。