doris:Azure Storage导入数据

Doris 提供两种方式从 Azure Storage 导入文件:

  • 使用 S3 Load 将 Azure Storage 文件导入到 Doris 中,这是一个异步的导入方式。
  • 使用 TVF 将 Azure Storage 文件导入到 Doris 中,这是一个同步的导入方式。

使用 S3 Load 导入

使用 S3 Load 导入对象存储上的文件,详细步骤可以参考 Broker Load 手册

第 1 步:准备数据

创建 CSV 文件 s3load_example.csv 文件存储在 Azure Storage 上,其内容如下:

复制代码
1,Emily,25
2,Benjamin,35
3,Olivia,28
4,Alexander,60
5,Ava,17
6,William,69
7,Sophia,32
8,James,64
9,Emma,37
10,Liam,64

第 2 步:在 Doris 中创建表

复制代码
CREATE TABLE test_s3load(
    user_id            BIGINT       NOT NULL COMMENT "user id",
    name               VARCHAR(20)           COMMENT "name",
    age                INT                   COMMENT "age"
)
DUPLICATE KEY(user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 10;

第 3 步:使用 S3 Load 导入数据

Caution

Azure Storage 默认要求 HTTPs 传输,对应的存储账户配置是 需要安全传输:已启用。 必须在 Doris be.conf 中设置 s3_client_http_scheme = https 才能正常访问 Azure Storage。

Azure S3 properties 中的 s3.region 可以省略。

复制代码
LOAD LABEL s3_load_2022_04_01
(
    DATA INFILE("s3://your_bucket_name/s3load_example.csv")
    INTO TABLE test_s3load
    COLUMNS TERMINATED BY ","
    FORMAT AS "CSV"
    (user_id, name, age)
)
WITH S3
(
    "provider" = "AZURE",
    "s3.endpoint" = "StorageAccountA.blob.core.windows.net",  
    "s3.region" = "westus3",
    "s3.access_key" = "<your-ak>",
    "s3.secret_key" = "<your-sk>"
)
PROPERTIES
(
    "timeout" = "3600"
);

第 4 步:检查导入数据

复制代码
SELECT * FROM test_s3load;

结果:

复制代码
mysql> select * from test_s3load;
+---------+-----------+------+
| user_id | name      | age  |
+---------+-----------+------+
|       5 | Ava       |   17 |
|      10 | Liam      |   64 |
|       7 | Sophia    |   32 |
|       9 | Emma      |   37 |
|       1 | Emily     |   25 |
|       4 | Alexander |   60 |
|       2 | Benjamin  |   35 |
|       3 | Olivia    |   28 |
|       6 | William   |   69 |
|       8 | James     |   64 |
+---------+-----------+------+
10 rows in set (0.04 sec)

使用 TVF 导入

第 1 步:准备数据

创建 CSV 文件 s3load_example.csv 文件存储在 Azure Storage 上,其内容如下:

复制代码
1,Emily,25
2,Benjamin,35
3,Olivia,28
4,Alexander,60
5,Ava,17
6,William,69
7,Sophia,32
8,James,64
9,Emma,37
10,Liam,64

第 2 步:在 Doris 中创建表

复制代码
CREATE TABLE test_s3load(
    user_id            BIGINT       NOT NULL COMMENT "user id",
    name               VARCHAR(20)           COMMENT "name",
    age                INT                   COMMENT "age"
)
DUPLICATE KEY(user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 10;

第 3 步:使用 TVF 导入数据

Caution

Azure Storage 默认要求 HTTPs 传输,对应的存储账户配置是 需要安全传输:已启用。 必须在 Doris be.conf 中设置 s3_client_http_scheme = https 才能正常访问 Azure Storage。

Azure S3 properties 中的 s3.region 可以省略。

复制代码
INSERT INTO test_s3load
SELECT * FROM S3
(
    "uri" = "s3://your_bucket_name/s3load_example.csv",
    "format" = "csv",
    "provider" = "AZURE",
    "s3.endpoint" = "StorageAccountA.blob.core.windows.net",
    "s3.region" = "westus3",
    "s3.access_key" = "<your-ak>",
    "s3.secret_key" = "<your-sk>",
    "column_separator" = ",",
    "csv_schema" = "user_id:int;name:string;age:int"
);

第 4 步:检查导入数据

复制代码
SELECT * FROM test_s3load;

结果:

复制代码
mysql> select * from test_s3load;
+---------+-----------+------+
| user_id | name      | age  |
+---------+-----------+------+
|       5 | Ava       |   17 |
|      10 | Liam      |   64 |
|       7 | Sophia    |   32 |
|       9 | Emma      |   37 |
|       1 | Emily     |   25 |
|       4 | Alexander |   60 |
|       2 | Benjamin  |   35 |
|       3 | Olivia    |   28 |
|       6 | William   |   69 |
|       8 | James     |   64 |
+---------+-----------+------+
10 rows in set (0.04 sec)
相关推荐
武藤一雄1 小时前
WPF处理耗时操作的7种方法
microsoft·c#·.net·wpf
武藤一雄1 小时前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
AC赳赳老秦6 小时前
使用OpenClaw tavily-search技能高效撰写工作报告:以人工智能在医疗行业的应用为例
运维·人工智能·python·flask·自动化·deepseek·openclaw
漩涡·鸣人7 小时前
微软常用运行库合集(Visual C++)最新版
microsoft
小陈工15 小时前
FastAPI性能优化实战:从每秒100请求到1000的踩坑记录
python·性能优化·django·flask·numpy·pandas·fastapi
Predestination王瀞潞1 天前
4.3.1 存储->微软文件系统标准(微软,自有技术标准):exFAT(Extended File Allocation Table)扩展文件分配表系统
linux·运维·microsoft·exfat·ex4
视***间1 天前
2026:AI算力元年的加冕与思辨
人工智能·microsoft·机器人·边缘计算·智能硬件·视程空间
Predestination王瀞潞1 天前
4.3.3 存储->微软文件系统标准(微软,自有技术标准):VFAT(Virtual File Allocation Table)虚拟文件分配表系统
linux·microsoft·vfat
工业互联网专业1 天前
基于Python的黑龙江旅游景点数据分析系统的实现_flask+spider
python·flask·vue·毕业设计·源码·课程设计·spider
大叔_爱编程1 天前
基于协同过滤算法的理财产品推荐系统-flask
python·flask·vue·毕业设计·源码·课程设计·协同过滤