blob: cdf1693ca8d0ea9dcb48079e31100ea532771d9f [file] [view]
---
{
"title": "FILE",
"language": "en",
"description": "The File table-valued-function (tvf) is a wrapper around table functions like S3, HDFS, and LOCAL,"
}
---
## Description
The File table-valued-function (tvf) is a wrapper around table functions like [S3](./s3.md), [HDFS](./hdfs.md), and [LOCAL](local.md), providing a unified interface to access file contents on different storage systems.
This function is supported since version 3.1.0.
## Syntax
```sql
FILE(
{StorageProperties},
{FileFormatProperties}
)
```
- `{StorageProperties}`
The StorageProperties section is used to fill in connection and authentication information related to the storage system. For details, please refer to the [Supported Storage Systems] section.
- `{FileFormatProperties}`
The FileFormatProperties section is used to fill in properties related to file formats, such as CSV delimiters. For details, please refer to the [Supported File Formats] section.
## Supported Storage Systems
* [ hdfs](../../../lakehouse/storages/hdfs.md)
* [ aws s3](../../../lakehouse/storages/s3.md)
* [ google cloud storage](../../../lakehouse/storages/gcs.md)
* [ Alibaba Cloud OSS](../../../lakehouse/storages/aliyun-oss.md)
* [ Tencent Cloud COS](../../../lakehouse/storages/tencent-cos.md)
* [ Huawei Cloud OBS](../../../lakehouse/storages/huawei-obs.md)
* [ MINIO](../../../lakehouse/storages/minio.md)
## Supported File Formats
* [Parquet](../../../lakehouse/file-formats/parquet.md)
* [ORC](../../../lakehouse/file-formats/orc.md)
* [Text/CSV/JSON](../../../lakehouse/file-formats/text.md)
## Examples
### Accessing S3 Storage
```sql
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"
);
```
### Accessing HDFS Storage
```sql
select * from file(
"fs.hdfs.support" = "true",
"uri" = "hdfs://path/to/file.csv",
"fs.defaultFS" = "hdfs://localhost:9000",
"hadoop.username" = "doris",
"format" = "csv"
);
```
### Accessing Local Storage
```sql
select * from file(
"fs.local.support" = "true",
"file_path" = "student.csv",
"backend_id" = "10003",
"format" = "csv"
);
```
### Using desc function to View Table Structure
```sql
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"
);
```