繁体   English   中英

如何通过 OPENROWSET (SQL Server) 列出 s3 存储桶文件夹中的所有镶木地板文件?

[英]How to list all parquet files in s3 bucket folder via OPENROWSET (SQL Server)?

我在一个文件夹中有一个存储桶 (AWS),其中包含 3 个相同但名称不同的 PARQUET 文件:

在此处输入图像描述

我正在尝试使用以下代码创建一个外部表:

CREATE EXTERNAL TABLE tb_Test
(
coluna_1 INT,
coluna_2 VARCHAR(100)
)
WITH 
    (
    LOCATION = '/testeParquet/**',
    DATA_SOURCE = s3_ds, 
    FILE_FORMAT = ParquetFileFormat
    );
GO

当我尝试读取外部表时收到此错误消息:

Msg 16561, Level 16, State 1, Line 109
无法访问外部表“db_S3.dbo.tb_Test”,因为无法列出目录内容。

如果我告知它创建和读取正确的文件的名称。

但我想创建文件夹中的所有文件,而不必逐个文件通知。

您不需要在存储桶路径末尾添加“**”。

请参阅: https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-table-transact-sql?view=sql-server-ver16&tabs=dedicated#location--folder_or_filepath

CREATE EXTERNAL TABLE tb_Test
(
   coluna_1 INT,
   coluna_2 VARCHAR(100)
)
WITH 
(
   LOCATION = '/testeParquet/',
   DATA_SOURCE = s3_ds, 
   FILE_FORMAT = ParquetFileFormat
);
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM