2016-05-06 1 views
0

Я меняю структуру каталогов hdfs. Ток один выглядит следующим образом:Перемещение и объединение каталогов в hdfs

.../customers/customers1/2016-05-16-10/lots_of_files1.csv 
.../customers/customers2/2016-05-16-10/lots_of_files2.csv 
.../customers/customers3/2016-05-16-10/lots_of_files1.csv 
.../customers/customers4/2016-05-16-10/... 
.../customers/customers5/2016-05-16-10/... 
.../customers/customers6/2016-05-16-10/... 
.../customers/customers7/2016-05-16-10/... 

Я хотел бы избавиться от клиентов (1-7):

.../customers/2016-05-16-10/lots_of_files1.csv 
.../customers/2016-05-16-10/lots_of_files2.csv 
.../customers/2016-05-16-10/lots_of_files1(1).csv 

Я думал использовать Snakebite питона библиотеку HDFS, но много края - возникают случаи: 1. Одна и та же дата может произойти несколько раз. 2. Название csv может происходить более одного раза, но данные разные, и их нужно также перемещать.

Как вы достигаете этого самым чистым способом?

ответ

0

Если вы не беспокоитесь, чтобы сохранить имена файлов, вы можете легко сделать это с помощью Apache Drill. некоторые вещи, как Apache Drill поддерживает чтение и запись файлов через SQL. некоторые вещи, как

create table dfs.`/myfolder/customers/2016-05-16-10` select * from dfs.`/myfolder/customers` where dir1 = '2016-05-16-10'; 

Все файлы из/*/2016-05-16-10 будут записаны в целевой таблице.

https://drill.apache.org/docs/

+0

Как это ручка с томов CSV же именем? @vgunnu – TheSilence

+0

Слияние всех файлов в этой папке с новыми файлами. Похожие на Hive – vgunnu