gpt4 book ai didi

http - StreamSets HTTP 客户端

转载 作者:可可西里 更新时间:2023-11-01 16:32:03 27 4
gpt4 key购买 nike

我在 Cloudera Distribution 上使用 StreamSets,试图从这个网站 http://files.data.gouv.fr/sirene/ 获取一些数据

我在选择 HTTP 客户端和 Hadoop FS 目标的参数时遇到了一些问题。

https://image.noelshack.com/fichiers/2017/44/2/1509457504-streamsets-f.jpg

我收到此错误:HTTP_00 - 无法解析记录:java.io.IOException:org.apache.commons.compress.archivers.ArchiveException:找不到流签名的存档器

我会向您展示我的配置。

HTTP 客户端:

一般

名称:HTTP 客户端 INSEE

描述:客户端 HTTP SIRENE

记录错误:发送到错误

HTTP

资源网址:http://files.data.gouv.fr/sirene/

标题:sirene_:sirene_

模式:流媒体

按状态操作

HTTP 统计代码:500 |状态操作:使用指数退避重试 |

基本退避间隔(毫秒):1000 |最大重试次数:10

HTTP 方法:获取

body 时区:UTC (UTC)

请求传输编码:缓冲

HTTP 压缩:无

连接超时:0

读取超时:0

身份验证类型:无

使用 OAuth 2

使用代理

最大批量大小(记录):1000

批量等待时间(毫秒):2000

分页

分页模式:无

TLS

使用TLS

超时处理

超时操作:立即重试

最大重试次数:10

数据格式

日期格式:分隔

压缩格式:存档

压缩目录中的文件名模式:*.csv

分隔符格式类型:自定义

标题行:带标题行

最大记录长度(字符):1024

允许额外的列

分隔符:分号

转义字符:其他\

引用字符:其他"

根字段类型:列表映射

要跳过的行:0

解析 NULL

字符集:UTF-8

忽略控制字符

Hadoop FS 目标:

一般

名称:Hadoop FS 1

描述:写入HDFS

阶段库:CDH 5.7.6

产生事件

必填字段

先决条件

记录错误:发送到错误

输出文件

文件类型:整个文件

文件前缀

标题中的目录

目录模板:/user/pap/StreamSets/sirene/

数据时区:UTC (UTC)

时间基准:${time:now()}

使用滚动属性

验证 HDFS 权限:开启

跳过文件恢复:开

迟到记录

延迟记录时间限制(秒):${1 * HOURS}

延迟记录处理:发送到错误

数据格式

数据格式:整个文件

文件名表达式:${record:value('/fileInfo/filename')}

权限表达式:777

文件存在:覆盖

在事件中包含校验和

...那么我做错了什么? :(

最佳答案

看起来像http://files.data.gouv.fr/sirene/正在返回文件列表,而不是压缩存档。这是一个棘手的问题,因为没有标准的方法来遍历这样的列表。您也许能够阅读 http://files.data.gouv.fr/sirene/作为文本,然后使用 Jython 评估器解析出 zip 文件 URL,检索、解压缩和解析它们,将解析的记录添加到批处理中。不过,我认为您使用此方法会有问题,因为所有记录最终都会出现在同一批中,从而耗尽内存。

另一个想法可能是使用两个管道 - 第一个将使用 HTTP 客户端来源和脚本评估器来下载压缩文件并将它们写入本地目录。然后,第二条管道将照常通过目录来源读取压缩的 CSV。

如果您决定试一试,请通过我们的 channel 之一与 StreamSets 社区互动 - 请参阅 https://streamsets.com/community

关于http - StreamSets HTTP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47037139/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com