2016-05-06 93 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 

我想用毒蛇咬傷蟒蛇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

它如何處理具有相同名稱的csvs? @vgunnu – TheSilence

+0

將該文件夾中的所有文件合併到新文件中。與Hive類似 – vgunnu