我正在使用 Java-Spark,我从 Kafka 主题收到消息,该消息指示 zip 文件路径,我想获取此 zip 文件并将其提取到 HDFS。
我有使用 Spark 结构化流从 Kafka 读取消息的代码。
如何将文件解压到HDFS?
我正在使用 net.lingala.zip4j.core.ZipFile
中的 ZipFile
,如下所示:
ZipFile zipFile = new ZipFile(pathFromKafka);
zipFile.extractAll("?");//What should I write here?
最佳答案
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>);
关于java - 使用 Java 将 zip 文件解压到 HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54674851/