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

實時分析海量MaxCompute數據

本文為您介紹實時數倉Hologres如何實時查詢海量MaxCompute數據,并以可視化方式分析和展現查詢結果的最佳實踐。

前提條件

背景信息

Hologres是兼容PostgreSQL協議的實時交互式分析產品,在底層與MaxCompute無縫連接。

Hologres支持使用創建外部表的方式,實現MaxCompute加速查詢,查看MaxCompute的數據。

本文以搭建訪問某淘寶店鋪的客戶畫像為例,展示客戶所在城市、客戶年齡、首選客戶和出生于1980~1990年的首選客戶所在城市人數的分布情況。

使用Hologres加速查詢MaxCompute數據的完整鏈圖如下所示。

image

  1. 訪問店鋪的客戶數據存儲在MaxCompute表中。

  2. 使用Hologres的創建外部表方式,實現MaxCompute加速查詢。

  3. Hologres對接數據大屏Quick BI,使用可視化方式展示客戶畫像。

操作步驟

  1. 準備MaxCompute數據源。

    在MaxCompute中創建一張表并寫入數據,詳情請參見創建表

    本次試驗采用已有的阿里云MaxCompute中public_data項目的如下MaxCompute表。獲取表的方法請參見公開數據集

    MaxCompute表名稱

    數據量

    customer

    1200萬

    customer_address

    600萬

    customer_demographics

    192萬

  2. Hologres創建外部表并查詢表數據。

    通過使用HoloWeb創建外部表,實現MaxCompute加速查詢。操作步驟如下:

    1. 新建外部表。

      登錄HoloWeb,單擊元數據管理 > MaxCompute加速 > 創建外部表,使用可視化的方式創建外部表。

      輸入MaxCompute表的名稱,例如public_data.customer就可以索引出表的字段,您可以根據實際業務,選擇需要同步的表字段,單擊提交

      說明
      • 目前暫不支持跨地域查詢MaxCompute表的數據。

      • 創建外部查詢MaxCompute數據是通過外部服務器來實現的,您可以直接調用Hologres底層已創建的名為odps_server的外部表服務器。其詳細原理請參見Postgres FDW

      您也可以使用SQL語句批量創建外部表。

      IMPORT FOREIGN SCHEMA public_data LIMIT to(
        customer,
        customer_address,
        customer_demographics,
        inventory,item,
        date_dim,
        warehouse) 
      FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
    2. 預覽外部表數據。

      成功新建外部表后,在左側實例管理目錄,鼠標右擊新建的外部表,單擊打開表,在表詳情頁單擊數據預覽,預覽MaxCompute表的數據。

      說明

      數據預覽只展示部分數據。

    3. 查詢外部表數據。

      在表詳情頁單擊查詢表,在臨時Query查詢頁面,輸入如下示例SQL命令后單擊運行,查詢外部表的數據。

      示例SQL語句如下。

      # SQL1: 查詢首選客戶分布情況,按人數降序排列。
      SELECT c_preferred_cust_flag,
             count(*) AS cnt
      FROM customer
      WHERE c_preferred_cust_flag IS NOT NULL
      GROUP BY c_preferred_cust_flag
      ORDER BY cnt DESC LIMIT 10;
      
      # SQL2: 查詢客戶年齡人數大于1000的分布情況,按人數降序排列。
      SELECT c_birth_year,
             count(*) AS cnt
      FROM customer
      WHERE c_birth_year IS NOT NULL
      GROUP BY c_birth_year HAVING count(*) > 1000
      ORDER BY cnt DESC LIMIT 10;
      
      # SQL3: 查詢客戶所在城市的人數大于10的分布情況,按人數降序排序。
      SELECT ca_city,
             count(*) AS cnt
      FROM customer ,
           customer_address
      WHERE c_current_addr_sk = ca_address_sk
        AND ca_city IS NOT NULL
      GROUP BY ca_city HAVING count(*) > 10
      ORDER BY cnt DESC LIMIT 10;
      
      # SQL4: 查詢首選客戶出生于1980~1990年且所在城市的人數大于10的分布情況,按人數降序排列。
      SELECT ca_city,
             count(*) AS cnt
      FROM customer ,
           customer_address
      WHERE c_current_addr_sk = ca_address_sk
        AND c_birth_year >= 1980
        AND c_birth_year < 1990
        AND c_preferred_cust_flag = 'Y'
        AND ca_city IS NOT NULL
      GROUP BY ca_city HAVING count(*) > 10
      ORDER BY cnt DESC LIMIT 10;
  3. 使用Quick BI分析數據。

    Hologres查詢出的MaxCompute數據直接對接Quick BI,使用可視化方式分析和展示數據。操作步驟如下:

    1. 添加數據源。

      進入Quick BI控制臺首頁,選擇PostgreSQL數據源,并填寫配置信息,詳情請參見Quick BI

    2. 創建數據集。

      成功連接Quick BI后,您可以將需要展示的數據創建為數據集并制作報表。

      本次試驗通過點擊使用SQL代碼創建數據集的方式來創建數據集,如下圖所示。

      image

    3. 使用可視化方式展示客戶畫像。

      根據業務需求展示報表。示例所配置的報表展示如下。a