建表語句
假設資料表表名為test_maxcompute_table,那麼done表表名為test_maxcompute_table_done。
#1.建立資料表:
CREATE TABLE IF NOT EXISTS test_maxcompute_table
(
pk_id Bigint ,
cate_id Bigint ,
vector_array string
)
PARTITIONED by
(
ds STRING
);
#2.建立資料表分區:
alter table test_maxcompute_table add if not exists partition (ds="20230423");
#3.建立done表
create table test_maxcompute_table_done (attribute string) partitioned by (ds string);
#4.建立done表分區
alter table test_maxcompute_table_done add if not exists partition (ds="20230423");
#5.在資料表中插入資料
insert into test_maxcompute_table partition (ds='20230423') select 1,'12345','xxx,xxx,xxx,xx....';
#6.done表中插入資料
insert into table ecom_table_done partition (ds="20230423") select '{"swift_start_timestamp":1682179200}';
說明
引擎支援的MaxCompute 表欄位類型有:STRING 、BOOLEAN、DOUBLE、BIGINT、DATETIME;
授權語句
表許可權,在配置MaxCompute 資料表時需要登入OpenSearch的帳號對該表有相應的許可權(describe,select,download,欄位的label許可權)。
-- 添加帳號(該帳號為操作引擎執行個體的帳號)
add user ****@aliyun.com;
-- 給該帳號賦相應的表許可權
GRANT describe,select,download ON TABLE table_xxx TO USER ****@aliyun.com
GRANT describe,select,download ON TABLE table_xxx_done TO USER ****@aliyun.com
-- 由於MaxCompute開啟了欄位許可權校正,導致拉取資料的時候無法訪問高許可權的欄位,表索引build不出來,碰到這種情況需要授權給帳號欄位層級的存取權限。
-- 給整個Project統一授權
SET LABEL 3 to USER ****@aliyun.com
-- 給單表授權
GRANT LABEL 3 ON TABLE table_xxx(col1, col2) TO ****@aliyun.com
MaxCompute資料來源相關參數尋找
參數 | 是否必填 | 說明 |
資料來源類型 | 是 | 選擇“MaxCompute” |
資料來源名稱 | 是 | 長度限制為30個字元,有且只能有數字、字母、底線 |
project | 是 | MaxCompute的資料開發頁面可查看 說明 如果是標準版模式: 需要在專案名後加_dev,比如zy_ts_test >zy_ts_test_dev |
accessKeyId | 是 | 在帳號管理下可查看 |
accessKeySecret | 是 | |
table | 是 | 資料表表名 |
分區 | 是 | 資料表分區,例如:ds=20230423,ds表示分區名 |