2017-05-29 27 views
1

我們使用Spark在HDFS上生成拼花地板文件。在HDFS上有用的Parquet元數據文件?

Spark會生成4個文件,實體數據和3個元數據文件。事情是,這3個元數據文件需要1塊,這裏是128M,因爲我們運行這樣的任務很多,這可能會佔用很多空間。

是否需要文件?或者這是一個處理好的方法?

+0

沒有元數據,很難理解Parquet文件。 – LiMuBei

+0

我們使用Hive作爲數據倉庫,查詢PrestoDB和Hive –

+1

_「元數據文件佔用1個塊,這裏128M ...可能佔用大量空間」_ >> ** no。** HDFS塊大小沒有對_physical_磁盤使用有重大影響。這完全是關於大數據文件的數據分佈。當客戶端寫入HDFS文件時,當前塊達到128 MB時,將創建一個新塊(並在隨機節點上覆制);但最後,每個塊將作爲常規Linux文件存儲,字節爲字節(在一個額外的Linux文件中加上一些元數據)。 –

回答

3

實木複合地板輸出文件夾中的元數據文件是可選的,並且Spark不需要在實木複合地板文件中讀取,因爲每個實木複合地板文件都嵌入了元數據。

另一方面,thrift需要讀取這些文件。

在Spark 2.0中,默認情況下編寫Parquet摘要文件。 [參考。 SPARK-15719。]

+0

非常感謝你,所以我可以安全地刪除它。你知道是否可以使用Spark 1.6.2將''ENABLE_JOB_SUMMARY''設置爲false? –

+0

我不確定在spark 2之前在實木複合地板上存在這樣的conf。 – eliasah