在Azure Data Factory中将数据从一个文件夹复制到另一个文件夹时出错

kyks70gy  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(154)

此查询以前在Azure Data Factory管道中工作,但几天前停止工作。Azure Blob存储中的文件名/格式等没有任何更改。在此行中获取错误:

SELECT * FROM OPENROWSET ( 
  BULK 
'/filepath.csv@snapshot=*', FORMAT = 'CSV' 
)

错误提示.csv@snapshot=* 具有不允许的URL后缀。完整代码:

-- CREATE OR REPLACE VIEW clean.barriers AS 
IF EXISTS (SELECT * FROM sys.tables t 
    JOIN sys.schemas s ON (t.schema_id = s.schema_id) 
    WHERE s.name = 'clean' AND t.name = 'barriers') 
EXEC('DROP EXTERNAL TABLE [clean].[barriers]')  

CREATE EXTERNAL TABLE [clean].[barriers]
WITH 
( 
   LOCATION = 'clean/synapse/barriers',
   DATA_SOURCE = "", 
   FILE_FORMAT = [SynapseParquetFormat] 
) 
AS  

SELECT * FROM OPENROWSET ( 
  BULK 
'/filepath.csv@snapshot=*', FORMAT = 'CSV' 
) 
WITH( 
-- Schema adjusted to what we have in clean/barriers in Bigquery 
mshp_id INT, 
prog_name NVARCHAR(256), 
barrier_name NVARCHAR(256), 
days INT 
) AS load_clean_data
pbpqsu0x

pbpqsu0x1#

根据官方文档,您应该有一个源文件的数据源,也就是您试图复制数据的源文件。

因此,尝试为源CSV文件创建一个数据源并检查,它可能会工作。
此外,当您使用ADF执行上述脚本时,请先尝试在不使用ADF的情况下执行脚本,如果出现错误,则问题可能出在脚本而不是ADF上。如果不是,请尝试更改ADF的活动并进行检查。
你也可以在你的BULK路径中尝试这个问题解决。当你想要从csv文件夹中得到数据时,给予如下的路径并检查。

/folder/*.csv

相关问题