Xlake訪問外部存儲
更新時間 2025-02-05 09:37:29
最近更新時間: 2025-02-05 09:37:29
分享文章
本頁介紹天翼云TeleDB數據庫通過Xlake訪問外部存儲的操作。
創建插件
create extension datalake_fdw;
創建foreign data wrapper
CREATE FOREIGN DATA WRAPPER wrapper_name
HANDLER datalake_fdw_handler
VALIDATOR datalake_fdw_validator;
- wrapper_name: fdw的名字,可以任意取,但是下面使用時需要保持一致。
創建foreign server
CREATE SERVER server_name
FOREIGN DATA WRAPPER datalake_fdw
OPTIONS (host 'xxx', protocol 'xxx', isvirtual 'xxx',
ishttps 'xxx');
oss對象存儲參數:
- server_name:服務器的名字,可以任意取,但是下面使用時需要保持一致。
- Host:對象存儲服務地址,如192.168.2.1:800。
- Protocol:對象存儲云平臺,例如minio等。
- Isvirtual:按照 virutal-host-style 還是 path-host-style 的方式來解析對象存儲的主機,true為virutal-host-style。
- Ishttps:是否使用https協議。
創建user mapping
user mapping是數據庫用戶與外部服務用戶的映射關系。
CREATE USER MAPPING FOR db_user
SERVER minio_foreign_server
OPTIONS (user 'XXX', accesskey 'XXXXXXXXXXXXX', secretkey 'XXXXXXXXXX');
- db_user:數據庫用戶
- User:對象存儲服務用戶名(如有)。
- Accesskey:對象存儲服務accesskey。
- Secretkey:對象存儲服務secretkey。
創建foreign table
CREATE FOREIGN TABLE t1(a int, name text, b int)
SERVER minio_foreign_server
OPTIONS (filePath '/bucket-name/datalake/prefix', enableCache 'false', format 'csv');
- filePath:對象存儲桶路徑。
- enableCache:是否啟用緩存。
- Format:對象存儲文件格式。
訪問foreign table
Xlake僅支持讀操作。
例如:select * from t1;