У меня есть архив _2016_08_17.zip
который содержит 8 .tsv файлов. Мне нужно извлечь файл с именем hit_data.tsv
и загрузить его в bigquery. Файлы находятся в ведре на облачной платформе Google.Получить .tsv файл из архива в java без разархивирования архива
Может кто-нибудь дать мне простую программу, которая открывает архив, находит правильный файл и затем печатает его строки на экране. Я могу взять это оттуда. Моя идея - заменить путь gs://path_name/*hit_data.tsv
буфером, который содержит данные hit_data.tsv
.
public static void main(String[] args) {
Pipeline p = DataflowUtils.createFromArgs(args);
p
.apply(TextIO.Read.from("gs://path_name/*hit_data.tsv"))
\\.apply(Sample.<String>any(10))
.apply(ParDo.named("ExtractRows").of(new ExtractRows('\t', "InformationDateID")))
.apply(BigQueryIO.Write
.named("BQWrite")
.to(BigQuery.getTableReference("ddm_now_apps", true))
.withSchema(getSchema())
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED));
p.run();
}
Возможно, но я не хочу получить доступ к жесткому диску больше, чем мне нужно. Я могу получить доступ к файлу без сохранения распакованного файла на жестком диске. –
уверен, но это не то, что вы просили - вы должны уточнить свой вопрос, чтобы уточнить – GreyBeardedGeek
Я попытался спросить его так, как это имеет смысл. Я думаю, вы знаете, что я имею в виду. –