Извлеките zip-файл в HDFS, используя Java - PullRequest
0 голосов
/ 13 февраля 2019

Я использую Java-Spark, я получаю сообщение из темы Кафки, которое указывает путь к zip-файлу, я хочу взять этот zip-файл и извлечь его в HDFS.

У меня есть код, которыйчитать сообщения от Kafka с помощью Spark Structured Stream.

Как извлечь файлы из HDFS?

Я использую ZipFile из net.lingala.zip4j.core.ZipFile следующим образом:

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

1 Ответ

0 голосов
/ 14 февраля 2019

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>);
...