2016-03-04 7 views
5

मैं parquet फ़ाइल में लिखने का स्पार्क एसक्यूएल उपयोग करने के लिए कोशिश कर रहा हूँ।स्पार्क एसक्यूएल - तेज़ बनाम lzo संपीड़न प्रारूपों बनाम gzip के बीच का अंतर

डिफ़ॉल्ट रूप से स्पार्क एसक्यूएल gzip का समर्थन करता है, लेकिन यह snappy और lzo जैसे अन्य संपीड़न प्रारूपों का भी समर्थन करता है।

इन संपीड़न प्रारूपों किसे सबसे अच्छी Hive लोड हो रहा है के साथ काम करने के लिए है में क्या अंतर है।

+2

ऐसा लगता है कि डिफ़ॉल्ट रूप से चिंगारी "तेज़" का उपयोग करता है और नहीं "gzip"। कम से कम यही मैं एस 3 पर देखता हूं: उनके नाम के हिस्से के रूप में स्ट्रिंग "स्नैपी" के साथ बनाई गई फाइलें। – bashan

+0

@bashan: स्पार्क के हाल के संस्करणों ने 1.6.1 तक डिफ़ॉल्ट प्रारूप को बदल दिया है, मैं डिफ़ॉल्ट पैराक्वेट संपीड़न प्रारूप gzip देख सकता हूं। – Shankar

उत्तर

10

बस उन्हें अपने डेटा पर प्रयास करें।

lzo और तेज़ तेजी कम्प्रेसर और बहुत तेजी से decompressors, लेकिन कम संपीड़न के साथ, gzip जो बेहतर संपीड़ित करता है, लेकिन एक छोटे से धीमी है की तुलना में कर रहे हैं।

5

उपयोग तेज़ आप प्रदर्शन लाभ के लिए उच्च डिस्क उपयोग (कम सीपीयू + Splittable) संभाल कर सकते हैं यदि।

हमारे परीक्षणों के आधार पर, gzip विसंपीड़न बहुत धीमी है (< 100 एमबी/s), जिससे प्रश्नों विसंपीड़न बाध्य:

जब स्पार्क डिफ़ॉल्ट रूप से तेज़ करने के लिए GZIP से बदल, इस तर्क था। Snappy एक कोर पर ~ 500MB/s पर डिकंप्रेस कर सकता है।

तेज़:

  • संग्रहण स्थान: उच्च
  • CPU उपयोग: कम
  • Splittable: हाँ (1)

GZIP:

  • संग्रहण स्थान: मध्यम
  • CPU उपयोग: मध्यम
  • Splittable: नहीं

1) http://boristyukin.com/is-snappy-compressed-parquet-file-splittable/

संबंधित मुद्दे