跳到主要内容

FILE

描述

File 表函数(table-valued-function,tvf)是对 S3HDFSLOCAL 等表函数的封装,提供了一个统一的接口来访问不同存储系统上的文件内容。

该函数自 3.1.0 版本支持。

语法

FILE(
{StorageProperties},
{FileFormatProperties}
)
  • {StorageProperties}

    StorageProperties 部分用于填写存储系统相关的连接和认证信息。具体可参阅【支持的存储系统】部分。

  • {FileFormatProperties}

    FileFormatProperties 部分用于填写文件格式相关的属性,如 CSV 的分割符等。具体可参阅【支持的文件格式】部分。

支持的存储系统

支持的文件格式

示例

访问 S3 存储

select * from file(
"fs.s3.support" = "true",
"uri" = "s3://bucket/file.csv",
"s3.access_key" = "ak",
"s3.secret_key" = "sk",
"s3.endpoint" = "endpoint",
"s3.region" = "region",
"format" = "csv"
);

访问 HDFS 存储

select * from file(
"fs.hdfs.support" = "true",
"uri" = "hdfs://path/to/file.csv",
"fs.defaultFS" = "hdfs://localhost:9000",
"hadoop.username" = "doris",
"format" = "csv"
);

访问本地存储

select * from file(
"fs.local.support" = "true",
"file_path" = "student.csv",
"backend_id" = "10003",
"format" = "csv"
);

使用 desc function 查看表结构

desc function file(
"fs.s3.support" = "true",
"uri" = "s3://bucket/file.csv",
"s3.access_key" = "ak",
"s3.secret_key" = "sk",
"s3.endpoint" = "endpoint",
"s3.region" = "region",
"format" = "csv"
);