Amazon S3
Contents
Amazon S3#
简介#
Amazon S3 是 AWS 云上的对象存储服务。 OpenMLDB 支持使用 S3 作为离线存储引擎,用于读取和导出特征计算的数据。
配置#
配置Taskmanager#
要读写 Amazon S3 的数据,首先需要在 AWS 云服务上注册账号,申请一个可以用的 AccessKey 和 SecretKey。
然后在 TaskManager 的配置文件 taskmanager.properties
中添加下面的配置即可,注意需要修改 AccessKey 和 SecretKey 为上面申请的密钥。
spark.default.conf=spark.hadoop.fs.s3a.access.key=xxx;spark.hadoop.fs.s3a.secret.key=xxx
使用#
导入数据#
如果想要导入 S3 的数据,在上面 TaskManager 配置成功并且重启后,可直接执行下面的命令,即可导入对应 Bucket 和路径的数据。
LOAD DATA INFILE 's3a://bucket/path/' INTO TABLE t1 OPTIONS (header=true, mode='append', deep_copy=true);
S3数据源支持 deep_copy 为 true 和 false 两种导入方式,只有为 true 才会从 S3 拷贝数据到 OpenMLDB 离线存储。
注意,deep_copy 为 true 时只能用 overwrite 模式,如果前面已经有软链接导入则会被清空。如果想要既有硬拷贝又有软链接,目前只能先做硬拷贝(设置 deep_copy 为 true),然后在做软链接(设置 deep_copy 为 false),并且硬拷贝后数据格式为 parquet,因此要求软链接到数据也是相同 Schema 的 parquet 数据。