全部產品
Search
文件中心

Graph Compute:準備工作

更新時間:Jun 30, 2024

介紹進行本快速入門的操作前,需要做的準備工作。

前提條件

  • 登入阿里雲帳號,具體流程請參考阿里雲帳號註冊流程

帳號授權

  • 如果您使用【阿里雲-子帳號】進行執行個體建立和管理、查看,需要由【阿里雲-主帳號】進行授權,需要授權的類型可參看:

    • 權限原則名稱:

      • AliyunGraphcomputeFullAccess 管理圖計算服務(Graph Compute)的許可權。

      • AliyunGraphcomputeReadOnlyAccess 唯讀訪問圖計算服務(Graph Compute)的許可權。

  • 具體參考:

    • Step1:新增授權

      • https://ram.console.aliyun.com/permissions/new

        授權

    • Step2:子帳號可進行許可權查看

      • https://ram.console.aliyun.com/policies

      graph許可權

    • Step3: VPC許可權

      • 如果需要對VPC專用網路進行建立,還需要有【AliyunVPCReadOnlyAccess】-唯讀訪問Virtual Private Cloud的許可權

資料授權

  • 選擇MaxCompute資料來源(原ODPS),請一定進行授權操作,參見離線儲存授權

    • 需要給帳號【ALIYUN$openias】授權。

      Tips:ALIYUN$openias 為iGraph引擎系統的MaxCompute帳號,承擔MaxCompute資料索引構建的功能。

  • 請注意欄位限制問題:

    • 當前資料來源中的欄位類型支援MaxCompute 1.0、2.0的基礎資料類型

    MaxCompute資料版本

    MaxCompute資料類型

    iGraph支援

    對映iGraph欄位類型

    1.0資料類型版本

    BIGINT

    INT64

    DOUBLE

    DOUBLE

    DECIMAL

    推薦STRING、DOUBLE;

    註:如選擇數實值型別,需依賴精度範圍內能強制轉換,否則會轉換失敗或者丟失精度

    STRING

    STRING

    DATETIME

    STRING

    BOOLEAN

    STRING

    2.0資料類型版本基礎類型

    TINYINT

    INT8

    SMALLINT

    INT16

    INT

    INT32

    BIGINT

    INT64

    BINARY

    不推薦使用

    註:長度限制2M以內

    FLOAT

    推薦 FLOAT

    DOUBLE

    推薦 DOUBLE

    DECIMAL(precision,scale)

    推薦 STRING、DOUBLE

    註:如選擇數實值型別,需依賴精度範圍內能強制轉換,否則會轉換失敗或者丟失精度

    VARCHAR(n)

    推薦 STRING;

    註:如選擇數實值型別,需依賴欄位能強制轉換

    CHAR(n)

    STRING

    STRING

    STRING

    DATE

    推薦STRING;

    註:iGraph查詢返回與 1970-01-01 00:00:00 UTC 的位移天數

    DATETIME

    推薦STRING、INT64;

    註:iGraph類型查詢結果為Unix時間戳記,預設返回【毫秒】的字串

    TIMESTAMP

    推薦STRING、INT64;

    註:iGraph類型查詢結果為Unix時間戳記,預設返回【秒】的字串

    BOOLEAN

    STRING

    1.0和2.0複雜類型

    ARRAY

    不支援

    MAP

    不支援

    STRUCT

    不支援

Tips:

  1. 資料來源類型【MaxCompute+增量表】:MaxCompute全量部分會經過iGraph轉換,增量部分不會經過轉換,需要使用者自行轉換後寫入才能和全量部分資料保持一致。

  2. MaxCompute表中不能包含【複雜類型-ARRAY|MAP|STRUCT】欄位,否則會造成索引資料無法構建。

建立資料來源

如果您的資料需要GraphCompute做定時全量,還需要建立MaxCompute專案和對應的資料來源表;

具體步驟可參考:

  1. 建立MaxCompute專案,該專案所屬地區需要與GraphCompute的地區一致:

  2. 添加工作空間成員:

    • 如果您的帳號是子帳號,需要由主帳號或者專案OWNER授權【空間管理員】的角色,方便後續進行GraphCompute公用帳號的授權操作;

    • 具體參看:授權給其他使用者

  3. 建立表:

    • 登入安裝並登入MaxCompute本地用戶端

    • 建立分區表:

      1. 注意:

        1. 分區表的分區欄位需要指定【ds|dt】;

        2. 支援Maxcompute1.0/2.0的基礎資料來源,不允許有複雜類型欄位;

      2. 執行個體:

        create table if not exists bank_data_pt
        (
         age             BIGINT comment '年齡',
         job             STRING comment '工作類型',
         campaign        BIGINT comment '本次活動聯絡的次數',
         pdays           DOUBLE comment '與上一次聯絡的時間間隔',
         previous        DOUBLE comment '之前與客戶聯絡的次數',
         poutcome        STRING comment '之前行銷活動的結果',
         emp_var_rate    DOUBLE comment '就業變化速率',
         cons_price_idx  DOUBLE comment '消費者物價指數',
         fixed_deposit   BIGINT comment '是否有定期存款'
        )partitioned by (ds STRING comment '分區標示');
  4. 授權GraphCompute系統帳號【ALIYUN$openias】可讀許可權;注意:海外地區(如新加坡地區)需要額外賬戶許可權,具體可聯絡支援人員。

    1) 添加角色

    // 添加 openias帳號許可權
    add user `ALIYUN$openias`; 
    // 通過list users;確認是否已經添加成功
    list users;

    2) 授權可讀許可權

    // 授權
    // [project] 替換為您的真實project
    // [table] 替換為您真實的table
    grant Read ON PROJECT [project] to user `ALIYUN$openias`;
    grant List ON PROJECT [project] to user `ALIYUN$openias`;
    grant Describe ON TABLE [table] to user `ALIYUN$openias`;
    grant Select ON TABLE [table] to user `ALIYUN$openias`;

    3) 敏感欄位單獨授權

    # 顯式授權訪問t1中敏感度不超過2級的資料
    $ GRANT LABEL 2 ON TABLE t1 TO USER `ALIYUN$openias`;
    
    # 顯式授權訪問t1(col1, col2)中敏感度不超過3級的資料
    $ GRANT LABEL 3 ON TABLE t1(col1, col2) TO USER `ALIYUN$openias`;
    
    # 對整個專案空間都進行敏感欄位的授權
    $ set label 4 to user `ALIYUN$openias`;

  5. 資料匯入

具體參考MaxCompute 使用DataWorks(離線與即時)