0

我已获得访问服务器的权限,该服务器提供了我将下载并导入 HDFS 的文件的目录列表。我目前正在做的是使用 HTTP GET 访问服务器并下载 HTML 目录列表,然后我使用 jsoup 并解析指向我需要下载的文件的所有链接。一旦我有一个完整的列表,我会一个一个地下载每个文件,然后将每个文件导入 HDFS。我不相信水槽能够读取和解析 html 来下载文件。有没有更简单的方法来做我所描述的事情?

4

1 回答 1

0

使用 Flume,我将执行以下操作:

1) 有一个进程 grep 你的 URL 并将转储的 HTML 文件存储到一个目录

2) 使用客户反序列化器配置指向该目录的 SpoolDir 源:

deserializer    LINE    Specify the deserializer used to parse the file into events. Defaults to parsing each line as an event. The class specified must implement EventDeserializer.Builder.

该反序列化器读取 HTML 文件并使用 JSoup 提取 HTML 文件。然后将提取的位转换为所需格式的多个事件并发送到 HDFSSink

基本上就是这样。

于 2015-05-20T10:40:06.137 回答