跳到主要内容

从本地文件加载

无需先将本地数据文件上传到 Stage 或存储桶,然后再加载到Databend中。相反,您可以使用 BendSQL,Databend的原生CLI工具,直接导入数据。这简化了工作流程,并且可以为您节省存储费用。

请注意,文件必须是Databend支持的格式,否则无法导入数据。有关Databend支持的文件格式的更多信息,请参见 输入和输出文件格式

教程 1 - 从本地文件加载

本教程使用CSV文件作为示例,演示如何使用 BendSQL 从本地源导入数据到Databend。

开始之前

下载并保存示例文件 books.csv 到本地文件夹。该文件包含两条记录:

books.csv
Transaction Processing,Jim Gray,1992
Readings in Database Systems,Michael Stonebraker,2004

步骤 1. 创建数据库和表

❯ bendsql
root@localhost:8000/default> CREATE DATABASE book_db;

root@localhost:8000/default> USE book_db;

root@localhost:8000/book_db> CREATE TABLE books
(
title VARCHAR,
author VARCHAR,
date VARCHAR
);

CREATE TABLE books (
title VARCHAR,
author VARCHAR,
date VARCHAR
)

步骤 2. 将数据加载到表中

使用以下命令发送加载数据请求:

❯ bendsql --query='INSERT INTO book_db.books VALUES;' --format=csv --data=@books.csv
备注

确保您能够直接从本地 BendSQL 连接到 Databend 后端对象存储。如果不能,请使用 --set presigned_url_disabled=1 选项禁用预签名URL功能。

步骤 3. 验证加载的数据

root@localhost:8000/book_db> SELECT * FROM books;

┌───────────────────────────────────────────────────────────────────────┐
│ title │ author │ date
│ Nullable(String) │ Nullable(String) │ Nullable(String)
├──────────────────────────────┼─────────────────────┼──────────────────┤
│ Transaction Processing │ Jim Gray │ 1992
│ Readings in Database Systems │ Michael Stonebraker │ 2004
└───────────────────────────────────────────────────────────────────────┘

教程 2 - 加载到指定列

教程 1中,您创建了一个表,其中包含三列,这些列与示例文件中的数据完全匹配。您也可以将数据加载到表的指定列中,因此表不需要与要加载的数据具有相同的列,只要指定的列能够匹配即可。本教程将展示如何做到这一点。

开始之前

在开始本教程之前,请确保您已完成教程 1

步骤 1. 创建表

创建一个表,与表"books"相比,包含一个额外的名为"comments"的列:

root@localhost:8000/book_db> CREATE TABLE bookcomments
(
title VARCHAR,
author VARCHAR,
comments VARCHAR,
date VARCHAR
);

CREATE TABLE bookcomments (
title VARCHAR,
author VARCHAR,
comments VARCHAR,
date VARCHAR
)

步骤 2. 将数据加载到表中

使用以下命令发送加载数据请求:

❯ bendsql --query='INSERT INTO book_db.bookcomments(title,author,date) VALUES;' --format=csv --data=@books.csv

请注意,上面的query部分指定了列(title, author, 和 date)以匹配加载的数据。

步骤 3. 验证加载的数据

root@localhost:8000/book_db> SELECT * FROM bookcomments;

┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ title │ author │ comments │ date
│ Nullable(String) │ Nullable(String) │ Nullable(String) │ Nullable(String)
├──────────────────────────────┼─────────────────────┼──────────────────┼──────────────────┤
│ Transaction Processing │ Jim Gray │ NULL │ 1992
│ Readings in Database Systems │ Michael Stonebraker │ NULL │ 2004
└──────────────────────────────────────────────────────────────────────────────────────────┘
这篇文章对您有帮助吗?
Yes
No