Question: Given a Parquet dataset distributed on HDFS (metadata file + may `.parquet` parts), how to correctly merge parts and collect the data onto local file system? `dfs -getmerge ...` doesn't work - it merges metadata with actual parquet files..

Answer: 
you may use pig 

```
A = LOAD '/path/to parquet/files' USING parquet.pig.ParquetLoader as (x,y,z) ;
STORE A INTO 'xyz path' USING PigStorage('|');

```

You may create Impala table on to it, & then use 

```
impala-shell -e "query" -o <output>

```

same way you may use Mapreduce as well
You may use parquet tools 
 `java -jar parquet-tools.jar merge source/ target/`