如何读取Sql Server Data Warehouse中外部表的子文件夹中包含的所有文件

时间:2019-04-18 10:42:22

标签: sql-server-2016 azure-data-lake azure-sql-data-warehouse

我必须使用polybase表将数据从datalake加载到sql server数据仓库。我已经创建了用于创建外部表的设置。我已经创建了位置为“ / A / B / PARQUET”的外部表/*.parquet/”。但是我收到无效的路径错误。在PARQUET文件夹下有一个名为name.parquet的子文件夹,在该文件夹下有.parquet文件。由于没有名为* .parquet。的路径,而是如何获取所有子文件夹(。实木复合地板)在PARQUET文件夹下? 有什么办法可以将所有包含.parquet文件的子文件夹放在PARQUET文件夹下,有人可以帮我吗?预先感谢。

CREATE EXTERNAL TABLE [dbo].[EXT_TEST1]
( A VARCHAR(10),B VARCHAR(20)) 
(DATA_SOURCE = [Azure_Datalake],LOCATION = N'/A/B/PARQUET/*.parquet/',FILE_FORMAT =csvfileformat,REJECT_TYPE = VALUE,REJECT_VALUE = 1)

folder structure:
A->B->PARQUET->asdfolder.parquet-> file1.parquet
             ->dfgfolder.parquet-> file2.parquet
             ->shdfolder.parquet-> file3.parquet

1 个答案:

答案 0 :(得分:0)

请将该位置更改为:

LOCATION = '/A/B/PARQUET'

Polybase将加载该文件夹和子文件夹中的所有文件。唯一的例外是文件或文件夹,它们以句点(.或下划线(_)开头,如here所述。