数据导入:
首先将OSS中的数据下载到本地或者ECS(弹性计算服务)实例,然后通过数据导入工具(如DataX、DTS等)将数据导入到PolarDB-X中。
API访问:
通过编写应用程序代码,使用OSS SDK访问OSS中的数据,并根据需要将数据写入PolarDB-X。
数据同步服务:
使用阿里云数据同步服务(如数据传输服务DTS),将OSS中的数据同步到PolarDB-X数据库中。
请注意,如果您的场景是数据分析,并且您需要查询大量静态数据,可能需要考虑使用Data Lake Analytics(DLA)之类的服务,它允许您直接在OSS上执行SQL查询,然后您可以根据查询结果决定是否需要将部分数据导入到PolarDB-X中。
https://zhuanlan.zhihu.com/p/477664175,此回答整理自钉群“阿里云 PolarDB-X 开源交流群”
连接OSS。您可以通过OSS server或者CONNECTION两种方法来连接OSS。
方法一:通过OSS server来连接OSS
a. 创建OSS server在PolarDB上创建OSS Server,即定义需要访问的OSS服务端。语法如下:
CREATE SERVER <server_name> FOREIGN DATA WRAPPER oss OPTIONS ( DATABASE '<my_database_name>' EXTRA_SERVER_INFO '{"oss_endpoint": "<my_oss_endpoint>", "oss_bucket": "<my_oss_bucket>", "oss_access_key_id": "<my_oss_acess_key_id>", "oss_access_key_secret": "<my_oss_acess_key_secret>"}';
b. 创建OSS Foreign Table定义了OSS Server之后,您需要在PolarDB上创建OSS外表,建立与OSS的连接。示例如下:
create table t1 (id int not null) engine=csv connection="server_name"; 其中,connection可以只配置为server名;如果您希望指定OSS服务上表的名称,也可以配置为server名/表名的形式。示例如下:
create table t1 (id int not null) engine=csv connection="server_name/t2"; 说明 如果不指定表名,则当前表对应的OSS文件为t1.CSV;如果指定表名,则当前表对应的OSS文件为t2.CSV。
方法二:通过CONNECTION来连接OSS如果您仅希望创建一个OSS表,不想创建server的相关信息,也可以直接通过CONNECTION创建对应的OSS表来连接OSS。建表语句示例如下:
CREATE TABLE t
(id
int(20) NOT NULL, name
varchar(32) NOT NULL DEFAULT '' ) ENGINE=CSV DEFAULT CHARSET=utf8 CONNECTION="oss://access_key_id:access_key_secret@endpoint/bucket/database/table";其中,access_key_id和access_key_secret为OSS账号ID和账号KEY;endpoint为OSS服务的域名,域名要写全;bucket为OSS服务的bucket名称;database为CSV数据文件在OSS中的目录名称;table是CSV数据文件名,这里注意不需要写后缀.CSV。 3. 数据查询。以上述步骤示例中的t1表为例进行说明。
#查询t1表内的数据数量 SELECT count(*) FROM t1;
#范围查询 SELECT id FROM t1 WHERE id < 10 AND id > 1;
#点查 SELECT id FROM t1 where id = 3;
#多表join SELECT id FROM t1 left join t2 on t1.id = t2.id WHERE t2.name like "%er%";
可以,PolarDB-X为了降低数据存储成本,同时保证查询性能,PolarDB-X支持将查询频度低的数据(称为冷数据)归档到OSS对象存储中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about