我获得了一个服务器的访问权限,该服务器提供了我将下载并导入HDFS的文件的目录列表。我目前正在做的是使用HTTP GET命中服务器并下载HTML目录列表然后我使用jsoup并解析我需要下载的文件的所有链接。一旦我有一个完整的列表,我逐个下载每个文件,然后将每个文件导入HDFS。我不相信水槽能够阅读&解析html下载文件。是否有更简洁的方式来完成我所描述的内容?
答案 0 :(得分: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
基本上就是这样。