場景描述
A有一張數據表datatrust_a/host_train_adult_10用于記錄人群屬性(記錄年齡、工作等信息),id作為主鍵,有一張數據表datatrust_a/sj_mpcsql_out,用于統計結果輸出;B有一張數據表datatrust_b/slave_train_adult_10用于記錄人群屬性(記錄國籍、性別等信息),id作為主鍵。
需求是A想聯合兩邊的表進行統計分析,查詢【年齡大于27】,按【年齡、國籍】進行分組,統計【工作等級】的數量。可通過創建TrustDA/MpcSql任務實現。
使用說明
隱私計算空間中每個SQL查詢,需創建MpcSql分析任務進行查詢。
步驟一:新建TrustDA/MpcSql任務
在DataTrust首頁,單擊頂部菜單欄的通用計算。
按照下圖指引,進入任務研發頁面。
選擇TrustDA/MpcSql任務。
步驟二:配置任務參數信息
在創建任務頁面,配置參數。
參數 | 描述 |
任務名稱 | 請填寫任務的名稱。 |
運行方式 | 指使用哪一種技術方式實現,目前支持安全多方、聯邦學習兩種。 |
任務類型 | 任務類型默認是TrustDA/MpcSql,不支持修改。 |
調度規則 | 支持日常不調度、按日調度、按周調度、按月調度四種,配置后會按配置的周期定時跑該任務。 日常不調度:配置后不運行任務。 按日調度:每天運行任務。 按周調度:每周運行任務。 按月調度:每月運行任務。
|
使用緩存 | 若數據量超過百萬級且需要多次SQL分析,建議使用緩存以提升SQL的執行效率。開啟使用緩存需選擇緩存任務,如何創建緩存任務,請參見創建TrustDA/PIRPreCache任務 。 |
SQL腳本編寫 | 在代碼編輯器中編寫SQL腳本。支持join(inner join/full join/left join/right join)、group by 、order by、聚合(sum/count)等常用算子。 僅支持使用INSERT OVERWRITE TABLE語句將輸出結果寫在了輸出表中,SQL示例如下:示例一: INSERT OVERWRITE TABLE alice.sj_mpcsql_out PARTITION (job_name = 'no_group_where_between_test') -- 注:只支持”INSERT OVERWRITE“ SELECT t1.id as col2_string, t1.income as col3_string, t1.age as col1_int FROM alice.host_train_adult_100 t1 -- 注:[使用方].[輸入表] JOIN -- 注:只支持”JOIN“、”INNER JOIN“ bob.slave_train_adult_100 t2 -- 注:[加持方].[輸入表] ON t1.id = t2.id 示例二: INSERT OVERWRITE TABLE alice.sj_mpcsql_out PARTITION (job_name = 'groupby_oneside_distinct_twoside_test') SELECT t1.education_num as col1_int, COUNT(t1.workclass) as col2_string, COUNT(DISTINCT(t2.sex)) as col3_string FROM alice.host_train_adult_100 t1 JOIN bob.slave_train_adult_100 t2 ON t1.id = t2.id GROUP BY t1.education_num 您可以點擊SQL檢查對當前SQL語句進行安全檢查。
|
單擊提交,完成任務的創建。
后續步驟
任務創建完成后,您可在任務管理頁面對任務執行查看、編輯、運行等操作。