使用SSIS从ADLS第2代读取

时间:2019-02-19 08:55:08

标签: azure ssis etl azure-storage-blobs azure-data-lake

有人知道AD2(Azure Data Lake Store)gen2使用哪个连接和数据流组件吗?

我设法在连接管理器中使用Blob连接器并成功连接到ADLS Gen2,但是当我尝试使用Blob源组件时,收到了400错误的请求。如果它只是不带HNS的Blob存储,效果很好。

ADLS组件声明它仅适用于第1代ADLS。

那么如何读写第二代ADLS?

5 个答案:

答案 0 :(得分:2)

当前版本的SSIS Azure功能包支持ADLS Gen2。可以用作数据流中的数据源或目标:

enter image description here

该屏幕快照旨在将其显示为目标,但是ADLSgen2也可以通过相应的“弹性文件目标”和“弹性文件源”作为源很好地工作

enter image description here

答案 1 :(得分:0)

首先,基于 @rickvdbosch 提供的great link,看来Azure Data Lake Storage Gen2在BLOB存储API方面存在许多临时限制。这意味着它不是组件限制,也许您应该等到它将与SSIS集成。

用于Azure的Microsoft SQL SERVER功能包

如果您提到这些是指这些组件:

  

ADLS组件声明它仅适用于第1代ADLS。

然后忽略此部分。

我不确定它是否支持Gen2,但我认为您可以使用Azure Data Lake Store组件,这些组件是用于Azure的Microsoft SQL SERVER功能包的一部分。有关更多信息,请参阅:

下载链接


其他方法

如果以上建议不起作用,则应使用Azure Data FactoryInstalling AWS CLI v10版本的using AzCopy或命令行

答案 2 :(得分:0)

我得到以下信息: “第二代目前不支持BLOB API(但是会在很短的时间内支持),因此SSIS无法连接。”

因此对于SSIS,当前是ADLS Gen 1或blob存储区

答案 3 :(得分:0)

我使用脚本任务使用Rest API将文件或System.Objects(在内存中转换为csv)写入Azure Storage Gen 2(启用了分层命名空间)。在发布SSIS组件之前,我一直以演示为目的。

答案 4 :(得分:0)

您不能使用Azure Feature Pack中的旧组件写入ADLS Gen2,但可以使用Azure Blob目标组件连接到blob Gen2(非分层)。

enter image description here