1

我正在使用 Java-Spark,我收到来自 Kafka 主题的消息,指示 zip 文件路径,我想获取这个 zip 文件并将其提取到 HDFS。

我有使用 Spark Structured Stream 从 Kafka 读取消息的代码。

将文件提取到 HDFS 的方法是什么?

我使用ZipFile如下net.lingala.zip4j.core.ZipFile

ZipFile zipFile = new ZipFile(pathFromKafka);
zipFile.extractAll("?");//What should I write here?
4

1 回答 1

0

ZipFile 不允许您将文件提取到 HDFS 您可以将文件提取到本地文件系统,然后将这些文件放入 HDFS:

//imports required 
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;

//some class here .....
Configuration conf = new Configuration();
conf.set("fs.defaultFS", <hdfs write endpoint>);
FileSystem fs = FileSystem.get(conf);
fs.copyFromLocalFile(<src>, <dst>);
于 2019-02-13T22:24:53.977 回答