Azure Blob存储文件源Azure的队列存储(遗留)
重要的
这个文档已经退休了,可能不会被更新。产品、服务或技术中提到的这些内容不再支持。看到自动加载器是什么?。
ABS-AQS连接器提供了一个优化的文件源使用Azure队列存储(aq)寻找新的文件写入一个Azure Blob存储(ABS)容器没有反复清单的所有文件。这提供了两个优点:
低延迟:不需要列表嵌套在ABS目录结构,这是缓慢和资源密集型的。
降低成本:没有更多的昂贵的ABS API请求列表。
请注意
ABS-AQS源从aq队列删除消息,因为它消耗的事件。如果你想要其他管道使用消息从这个队列,设置一个单独的aq队列优化读者。您可以设置多个事件网格订阅发布到不同的队列。
使用ABS-AQS文件来源
必须使用ABS-AQS文件来源:
建立了ABS事件通知通过利用Azure事件他们aq网格订阅和路线。看到对Blob存储事件做出反应。
指定
fileFormat
和queueUrl
选项和一个模式。例如:火花。readStream\。格式(“abs-aqs”)\。选项(“fileFormat”,“json”)\。选项(“queueName”,…)\。选项(“connectionString”,…)\。模式(…)\。负载()
Azure的队列存储和Blob存储进行身份验证
验证Azure的队列存储和Blob存储,使用共享访问或存储账户签名(SAS)牌钥匙。你必须提供一个连接字符串存储帐户您的队列在哪里部署包含你的SAS令牌或访问密钥存储账户。有关更多信息,请参见配置Azure存储连接字符串。
你还需要提供你的Azure Blob存储容器。看到连接到数据存储Gen2湖和Blob存储Azure如何配置信息访问Azure Blob存储容器。
请注意
我们强烈建议您使用秘密提供你的连接字符串。
配置
选项 |
类型 |
默认的 |
描述 |
---|---|---|---|
allowOverwrites |
布尔 |
|
是否应该再加工一个blob被覆盖。 |
connectionString |
字符串 |
(没有一个所需的参数) |
的连接字符串访问您的队列。 |
fetchParallelism |
整数 |
1 |
数量的线程从队列获取消息时使用服务。 |
fileFormat |
字符串 |
(没有一个所需的参数) |
文件的格式等 |
ignoreFileDeletion |
布尔 |
|
如果你有生命周期配置或者你手动删除源文件,您必须设置这个选项 |
maxFileAge |
整数 |
604800年 |
决定了多长时间(以秒为单位)被存储为文件通知状态,以避免重复处理。 |
pathRewrites |
一个JSON字符串。 |
|
如果你使用挂载点,您可以重写的前缀 |
queueFetchInterval |
例如,一个时间字符串 |
|
多长时间等待获取之间如果队列是空的。aq Azure指控/ API请求。因此,如果数据不经常到达,这个值可以设置为很长一段时间。只要队列非空,我们将不断获取。如果每5分钟创建新的文件,您可能希望设置一个高 |
queueName |
字符串 |
(没有一个所需的参数) |
aq队列的名称。 |
如果你观察很多消息看起来像司机日志获取0新事件和3老事件。
,你往往比新观察更多的旧事件,你应该降低你的触发间隔流。
如果你是使用文件从一个位置在Blob存储您期望一些文件可能被删除处理它们之前,你可以设置以下配置忽略错误并继续进行处理:
火花。sql(“设置spark.sql.files.ignoreMissingFiles = true”)