从存储桶加载数据
当数据文件存储在对象存储桶中,例如Amazon S3时,可以直接使用 COPY INTO 命令将它们加载到Databend中。请注意,文件必须是Databend支持的格式,否则无法导入数据。有关Databend支持的文件格式的更多信息,请参见 输入和输出文件格式。
本教程使用Amazon S3存储桶作为示例,并提供了一个详细的分步指南,以帮助您有效地完成从存储桶中存储的文件加载数据的过程。
教程:从Amazon S3存储桶加载数据
开始之前
在开始之前,请确保您已完成以下任务:
- 下载样本文件 books.parquet 并将其保存到本地文件夹。该文件包含两条记录:
books.parquet
Transaction Processing,Jim Gray,1992
Readings in Database Systems,Michael Stonebraker,2004
- 在Amazon S3中创建一个存储桶,并将样本文件上传到存储桶。有关如何操作,请参考以下链接:
创建存储桶:https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html
上传对象:https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html
对于本教程,我们在 US East (Ohio) 地区(ID: us-east-2)创建了一个名为 databend-toronto 的存储桶。
步骤1. 创建目标表
在Databend中使用以下SQL语句创建表:
USE default;
CREATE TABLE books
(
title VARCHAR,
author VARCHAR,
date VARCHAR
);
步骤2. 将数据复制到表中
- 使用 COPY INTO 命令将数据加载到目标表中:
COPY INTO books
FROM 's3://databend-toronto/'
CONNECTION = (
AWS_KEY_ID = '<my-access-key-id>',
AWS_SECRET_KEY = '<your-secret-access-key>',
REGION = 'us-east-2'
)
PATTERN = '.*[.]parquet'
FILE_FORMAT = (
TYPE = 'PARQUET'
);
- 检查已加载的数据:
SELECT * FROM books;
---
title |author |date|
----------------------------+-------------------+----+
Transaction Processing |Jim Gray |1992|
Readings in Database Systems|Michael Stonebraker|2004|