αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ
Weather Deity by Remarin

αž€αŸ’αžšαž»αž˜αž€αžΆαžšαž„αžΆαžš αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž–αž–αž€ Mail.ru αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž’αžαŸ’αžαž”αž‘ αžœαž·αžŸαŸ’αžœαž€αžš Rahul Bhatia αž˜αž€αž–αžΈ Clairvoyant αž’αŸ†αž–αžΈαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžšαžŽαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ† αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαž‘αžΌαž‘αŸ…αž”αŸ†αž•αž»αžαž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹ Hadoop αž“αž·αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžŽαžΆαžŠαŸ‚αž›αž›αŸ’αž’αž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž€αžΆαžš?

αž€αžΆαžšαžšαžΆαŸ†αž„αžŸαŸ’αž‘αŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš HDFS αžŠαžΌαž…αž‡αžΆ MapReduce αž“αž·αž„ Spark αž‚αžΊαž‡αžΆαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€ αž’αžΆαž“ αž“αž·αž„αžŸαžšαžŸαŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαŸ†αž‘αžΎαž„αžŠαŸ„αž™αž—αžΆαž–αž›αŸ†αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ† αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžœαž·αžœαžαŸ’αžαž‡αžΆαž‡αžΆαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸαžš αž¬αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž§αž”αžŸαž‚αŸ’αž‚αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€ - Hadoop αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž›αŸ‚αž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž€αžΆαžšαž’αžαŸ‹αž±αž“αž€αŸ†αž αž»αžŸαŸ” αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαžαžΆαžŸ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αžŽαŸ’αžαžΆαž‰ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αž‰αŸ’αž…αžΌαž›/αž‘αž·αž“αŸ’αž“αž•αž› αž“αž·αž„αž’αŸ’αžœαžΈαŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αž»αž€αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αžšαž·αž˜αžΆαžŽαž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αžΎαž“αž‘αžΎαž„ αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž›αžΎαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžΆαž€αŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαŸ‚αžšαŸ”

αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ Hadoop αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž™αŸ‰αžΆαž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αžŸαž˜αžŸαŸ’αžšαž”αž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ–

  1. αž–αŸαž›αžœαŸαž›αžΆαž’αžΆαž“αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ”
  2. αž–αŸαž›αžœαŸαž›αžΆαžαžαž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ”
  3. αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αŸ”
  4. αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αžœαžαŸ’αžαž“αŸƒαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαŸ”
  5. αž–αž„αŸ’αžšαžΈαž€αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αž„αŸ’αž αžΆαž”αŸ‹αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αžΌαž‘αŸ… αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž“αž·αž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž–αŸαž‰αžαžΆαž˜αž›αž€αŸ’αžαžŽαŸˆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αž˜αŸ’αžšαžΎαžŸαž‚αžΊαž–αž·αžαž‡αžΆαž’αŸ†αžŽαžΆαžŸαŸ‹αŸ”

αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžš Avro

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αžŸαŸ€αžšαŸ€αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™ Avro αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ’αžšαžΎαž™αŸ‰αžΆαž„αž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™ - αžœαžΆαŸ” αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Hadoop αŸ” αžœαžΆαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹ JSON αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αžΆαž“ αž“αž·αž„αž”αž€αžŸαŸ’αžšαžΆαž™αžŠαŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŽαžΆαž˜αž½αž™αŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αž½αž“αžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‚αŸ„αž›αž–αžΈαžš αž”αž„αŸ’αžšαž½αž˜ αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ€αžšαŸ€αž›αžšαž”αžŸαŸ‹ Avro αž‚αžΊαž—αžΆαžŸαžΆαž’αž–αŸ’αž™αžΆαž€αŸ’αžšαžΉαžαŸ” αž―αž€αžŸαžΆαžšαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž—αžΆαžŸαžΆαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ C, C++, C#, Java, Python αž“αž·αž„ Ruby αŸ”

αž›αž€αŸ’αžαžŽαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžšαž”αžŸαŸ‹ Avro αž‚αžΊαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸαžšαžΉαž„αž˜αžΆαŸ†αžšαž”αžŸαŸ‹αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαžΆαž˜αž–αŸαž›αžœαŸαž›αžΆ αž–αŸ„αž›αž‚αžΊαžœαž·αžœαžαŸ’αžαŸ” Avro αž™αž›αŸ‹αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ - αž€αžΆαžšαž›αž»αž” αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜ αž¬αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαžΆαž›αŸ”

Avro αž‚αžΆαŸ†αž‘αŸ’αžšαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž’αžΆαžšαŸ αž”αŸ’αžšαž—αŸαž‘αžŠαŸ‚αž›αž”αžΆαž“αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž› αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžšαž„αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ
αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ†αž”αž“αŸ‹αž…αž»αŸ‡αž…αž (αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš) αž“αŸƒαž”αžΉαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž”αžΉαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž¬ Data lake - αž”αžŽαŸ’αžαž»αŸ†αž“αŸƒαž€αžšαžŽαžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αŸ’αžšαž—αŸαž‘αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž”αŸ’αžšαž—αž–αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹)αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αž‚αžΊαžŸαŸαž€αŸ’αžαž·αžŸαž˜αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ†αž”αž“αŸ‹αž…αž»αŸ‡αž…αžαž“αŸƒαž”αžΉαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  1. αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαŸ†αž”αž“αŸ‹αž“αŸαŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ„αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αž»αŸ‡αž€αŸ’αžšαŸ„αž˜ αž αžΎαž™αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž•αŸ’αž’αŸ‚αž€αž›αžΎαž‡αž½αžšαžŠαŸαž€αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αŸ”
  2. αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αž»αŸ‡αž€αŸ’αžšαŸ„αž˜αž’αžΆαž…αž‘αžΆαž‰αž™αž€αžαžΆαžšαžΆαž„αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž–αžΈαž―αž€αžŸαžΆαžšαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž› - αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž˜αŸαžαžΆαžαžΆαž„αž€αŸ’αžšαŸ…αž‘αŸαŸ”
  3. αžšαžΆαž›αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž› (αž€αžΆαžšαžœαž·αžœαžαŸ’αžαž“αŸƒαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ) αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžš parquet

Parquet αž‚αžΊαž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Hadoop αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž‡αž½αžšαžˆαžšαžšαžΆαž”αžŸαŸ’αž˜αžΎ.

αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‡αž½αžšαžŠαŸαž€αž”αŸ‚αž”αž”αŸ’αžšαž–αŸƒαžŽαžΈ αž•αžΆαž€αžƒαžΈαžαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž’αžΆαž“αž‡αž½αžšαžˆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž–αžΈαžαžΆαžšαžΆαž„αž’αŸ†αž‘αžΌαž›αžΆαž™ (αž‡αž½αžšαžˆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“) αŸ” αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžš αž˜αžΆαž“αžαŸ‚αž‡αž½αžšαžˆαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡ I/O αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž±αŸ’αž™αžαž·αž…αž”αŸ†αž•αž»αžαŸ”

αž€αžΆαžšαž”αž€αžŸαŸ’αžšαžΆαž™ αž“αž·αž„αž€αžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αžαžΌαž…αž˜αž½αž™αŸ– αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžš Parquet αž“αŸ…αž€αŸ’αž“αž»αž„ Hadoop αžŸαžΌαž˜αž˜αžΎαž›αžαžΆαžαžΎαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎαž‡αž½αžšαžˆαžš - i.e. columnar - format αŸ” αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž“αŸαŸ‡αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαž˜αŸ’αž›αŸƒαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ—αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžšαž½αž˜αž˜αžΆαž“αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ αžˆαŸ’αž˜αŸ„αŸ‡ αž“αž·αž„αžœαžΆαž›αŸ” αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αžαž˜αŸ’αž›αŸƒβ€‹αž‡αž½αžšβ€‹αžˆαžšβ€‹αž›αŸαžβ€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αžšαž½αž˜β€‹αž‚αŸ’αž“αžΆ αžŠαžΌαž…β€‹αž“αžΉαž„β€‹αžαž˜αŸ’αž›αŸƒβ€‹αž‡αž½αžšβ€‹αžˆαžš αžˆαŸ’αž˜αŸ„αŸ‡ αž“αž·αž„β€‹αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž“αŸ…β€‹αž›αžΎαŸ” αžαžΆαžšαžΆαž„αž“αžΉαž„αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

ID
αžˆαŸ’αž˜αŸ„αŸ‡
αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“

1
ធេម ៑្៣ៀαŸ₯៦
d1

2
ធេម ៑្៣ៀαŸ₯៦
d2

3
ធេម ៑្៣ៀαŸ₯៦
d3

αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

1
ធេម ៑្៣ៀαŸ₯៦
d1
2
ធេម ៑្៣ៀαŸ₯៦
d2
3
ធេម ៑្៣ៀαŸ₯៦
d3

αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžš columnar αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŠαžΌαž…αž“αŸαŸ‡αŸ–

1
2
3
ធេម ៑្៣ៀαŸ₯៦
ធេម ៑្៣ៀαŸ₯៦
ធេម ៑្៣ៀαŸ₯៦
d1
d2
d3

αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αž½αžšαžˆαžšαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž½αžšαž‡αž½αžšαžˆαžšαž…αŸ’αžšαžΎαž“αž–αžΈαžαžΆαžšαžΆαž„αž˜αž½αž™αŸ” αžœαžΆαž“αžΉαž„αž’αžΆαž“αžαŸ‚αž‡αž½αžšαžˆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžš αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž“αŸ…αž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαŸ” αžαžΆαž˜αžšαž”αŸ€αž”αž“αŸαŸ‡ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš I/O αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αžšαž·αžαž’αž”αŸ’αž”αž”αžšαž˜αžΆαŸ”

αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‡αž½αžšαžˆαžš NAME αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” IN αž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž•αŸ’αž‘αž»αž€ αž‰αŸ‚αž€αžαžΆαž˜αžœαžΆαž› αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŸαŸ’αžšαž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™ NAME αŸ” αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αž½αžšαžˆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžαž½αž„αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž‡αž½αžšαžˆαžšαžˆαŸ’αž˜αŸ„αŸ‡ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αžαž˜αŸ’αž›αŸƒαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αžšαžˆαžšαž“αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαŸ” αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαŸ’αž€αŸαž“αž€αžΆαžšαžαžαž‘αžΆαŸ†αž„αž˜αžΌαž›αž‘αŸαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αž½αžšαžˆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ†αžŽαž½αžšαž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αŸαž›αžœαŸαž›αžΆαžŸαŸ’αžœαŸ‚αž„αžšαž€αžαž·αž…αž‡αžΆαž„αž˜αž»αž“ αžŠαžΎαž˜αŸ’αž”αžΈαž‘αŸ…αžŠαž›αŸ‹αž‡αž½αžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžš αž“αž·αž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž…αŸ†αž“αž½αž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš I/O αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž˜αžΆαž“αžαŸ‚αž‡αž½αžšαžˆαžšαžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžαŸ‚αž˜αž½αž™αž‚αžαŸ‹ parquet αž‚αžΊαžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž˜αž½αž™αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž‡αžΆαž”αŸ‹. αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš parquet αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αžœαžΆαž›αžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αž“αŸ…αž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαž€αŸαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αžœαžΆαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž”αžΆαž“αžŠαžΆαž€αŸ‹αŸ” Parquet αž”αŸ’αžšαžΎαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαžšαž»αŸ‡αžšαžΎ αž“αž·αž„αž€αžΆαžšαž•αŸ’αž‚αž»αŸ† αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž‡αžΆαž”αŸ‹αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ
αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž–αžΈαž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžš Parquet αž“αŸ…αž€αŸ’αž“αž»αž„ Hadoop αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαžΉαž„αž–αžΈαž›αž€αŸ’αžαžαžŽαŸ’αžŒαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  1. αž€αŸ’αžšαž»αž˜αž“αŸƒαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš (row group) : logical horizontal division of data into row. αž€αŸ’αžšαž»αž˜αž‡αž½αžšαžŠαŸαž€αž˜αž½αž™αž˜αžΆαž“αž”αŸ†αžŽαŸ‚αž€αž“αŸƒαž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”
  2. αž”αŸ†αžŽαŸ‚αž€αž‡αž½αžšαžˆαžš (column chunk) : αž”αŸ†αžŽαŸ‚αž€αž“αŸƒαž‡αž½αžšαžˆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž”αŸ†αžŽαŸ‚αž€αž‡αž½αžšαžˆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒαž‡αž½αžšαžŠαŸαž€ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆαžαžΆαž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαŸ”
  3. αž‘αŸ†αž–αŸαžš (αž‘αŸ†αž–αŸαžš)αŸ– αž”αŸ†αžŽαŸ‚αž€αž‡αž½αžšαžˆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆαž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž–αžΈαž˜αž½αž™αž‘αŸ…αž˜αž½αž™αŸ” αž‘αŸ†αž–αŸαžšαž˜αžΆαž“αž…αŸ†αžŽαž„αž‡αžΎαž„αž‘αžΌαž‘αŸ… αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžšαŸ†αž›αž„αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž“αŸ…αž–αŸαž›αž’αžΆαž“αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ
αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž…αŸ†αžŽαž„αž‡αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž›αŸαžαžœαŸαž‘αž˜αž“αŸ’αžαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” PAR1 (4 αž”αŸƒ) αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž―αž€αžŸαžΆαžšαž‡αžΆαž―αž€αžŸαžΆαžš Parquet αŸ”

αž”αžΆαžαž€αžαžΆαž“αž·αž™αžΆαž™αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  1. αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΌαž’αžšαžŠαŸ„αž“αŸαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžšαž”αžŸαŸ‹αž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αž“αŸ…αž–αŸαž›αž’αžΆαž“ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž’αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžšαž”αžŸαŸ‹αž―αž€αžŸαžΆαžšαž‡αžΆαž˜αž»αž“αžŸαž·αž“ αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€αž”αŸ†αžŽαŸ‚αž€αž‡αž½αžšαžˆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž•αŸ’αž“αŸ‚αž€αž‡αž½αžšαžˆαžšαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžšαž½αž˜αž˜αžΆαž“αž€αŸ†αžŽαŸ‚αž‘αž˜αŸ’αžšαž„αŸ‹ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ αž“αž·αž„αž‚αžΌαžαž˜αŸ’αž›αŸƒαžŸαŸ„αž”αž“αŸ’αžαŸ‚αž˜αžŽαžΆαž˜αž½αž™αŸ”
  2. αž”αŸ’αžšαžœαŸ‚αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆ (4 αž”αŸƒ) αŸ”
  3. αž›αŸαžαžœαŸαž‘αž˜αž“αŸ’αž PAR1 (4 αž”αŸƒ) αŸ”

αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžš ORC

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž‡αž½αžš-αž‡αž½αžšαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžš (αž‡αž½αžšβ€‹αž‡αž½αžšβ€‹αžŠαŸαž€β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžŸαžΎαžšβ€‹αž‘αžΎαž„, CRO) αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž™αž€αžˆαŸ’αž“αŸ‡αž›αžΎαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž”αž„αŸ’αžšαž½αž˜αž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαŸ†αž›αž„αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹ - αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž˜αžΆαž“αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž›αž·αž”αž·αž€αŸ’αžšαž˜αž’αŸ† αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž¬αžšαž€αŸ’αžŸαžΆαžŠαŸ„αž™αžŠαŸƒαŸ”

αž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹ ORCαŸ–

  1. αž―αž€αžŸαžΆαžšαž˜αž½αž™αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ— αžŠαŸ‚αž›αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎ NameNode (αžαŸ’αž“αžΆαŸ†αž„αžˆαŸ’αž˜αŸ„αŸ‡)αŸ”
  2. αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™ Hive αžšαž½αž˜αž‘αžΆαŸ†αž„ DateTime αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžŸαž—αžΆαž‚ αž“αž·αž„αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ (αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž”αž‰αŸ’αž‡αžΈ αž•αŸ‚αž“αž‘αžΈ αž“αž·αž„αžŸαž αž‡αžΈαž–)αŸ”
  3. αž€αžΆαžšαž’αžΆαž“αž―αž€αžŸαžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαžŠαŸ„αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš RecordReader αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”
  4. αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž―αž€αžŸαžΆαžšαžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαŸ’αž€αŸαž“αžšαž€αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ”
  5. αž€αžΆαžšαž”αŸ‰αžΆαž“αŸ‹αž”αŸ’αžšαž˜αžΆαžŽαž“αŸƒαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† heap αž’αžαž·αž”αžšαž˜αžΆαžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž“/αžŸαžšαžŸαŸαžšαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž–αŸαžαŸŒαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžΆαžαž€αžαžΆαž―αž€αžŸαžΆαžšαŸ”
  6. αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžŸαŸ€αžšαŸ€αž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ„αž›αž–αžΈαžš Protocol Buffers αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αž‰αŸ’αž…αžΌαž› αž“αž·αž„αž›αž»αž”αžœαžΆαž›αŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž”αŸ‹αžšαŸ†αžαŸ’αž›αžΈ
ORC αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αžŽαŸ’αžαž»αŸ†αž“αŸƒαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαžαŸ‚αž˜αž½αž™ αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαž»αŸ† αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž‡αž½αžšαžˆαžšαŸ”

αž―αž€αžŸαžΆαžš ORC αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αžšαž»αž˜αž“αŸƒαž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž αŸ…αžαžΆαž†αŸ’αž“αžΌαž αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžΆαžαž€αžαžΆαž“αŸƒαž―αž€αžŸαžΆαžšαŸ” Postscript αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž―αž€αžŸαžΆαžšαž˜αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αž„αŸ’αž αžΆαž”αŸ‹ αž“αž·αž„αž‘αŸ†αž αŸ†αž“αŸƒαž”αžΆαžαž€αžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž”αŸ‹αŸ”

αž‘αŸ†αž αŸ†αž†αŸ’αž“αžΌαžαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‚αžΊ 250 αž˜αŸαž€αžΆαž”αŸƒαŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž†αŸ’αž“αžΌαžαž’αŸ†αž”αŸ‚αž”αž“αŸαŸ‡ αž€αžΆαžšαž’αžΆαž“αž–αžΈ HDFS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αŸ– αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€αž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαž’αŸ†αŸ—αŸ”

αž”αžΆαžαž€αžαžΆαž―αž€αžŸαžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž”αž‰αŸ’αž‡αžΈαž•αŸ’αž›αžΌαžœαž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš αž…αŸ†αž“αž½αž“αž‡αž½αžšαžŠαŸαž€αž€αŸ’αž“αž»αž„αž˜αž½αž™αž‡αž½αžš αž“αž·αž„αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαž‡αž½αžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αžαž˜αŸ’αž›αŸƒαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž…αŸ†αž“αž½αž“αžšαžΆαž”αŸ‹ αž’αž”αŸ’αž”αž”αžšαž˜αžΆ αž’αžαž·αž”αžšαž˜αžΆ αž“αž·αž„αž•αž›αž”αžΌαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ—αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž•αž„αžŠαŸ‚αžšαŸ”

αž”αžΆαžαž€αžαžΆαž“αŸƒαž”αž“αŸ’αž‘αŸ‡αž˜αžΆαž“αžαžαž‘αžΈαžαžΆαŸ†αž„αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αŸ”

αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αž½αžšαžŠαŸαž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž–αŸαž›αžŸαŸ’αž€αŸαž“αžαžΆαžšαžΆαž„αŸ”

αž‘αž·αž“αŸ’αž“αž“αŸαž™αž›αž·αž”αž·αž€αŸ’αžšαž˜αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžαž˜αŸ’αž›αŸƒαž’αž”αŸ’αž”αž”αžšαž˜αžΆ αž“αž·αž„αž’αžαž·αž”αžšαž˜αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ— αž“αž·αž„αž‘αžΈαžαžΆαŸ†αž„αž“αŸƒαž‡αž½αžšαžŠαŸαž€αž€αŸ’αž“αž»αž„αž‡αž½αžšαžˆαžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αž›αž·αž”αž·αž€αŸ’αžšαž˜ ORC αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ‚β€‹αž€αžΆαžšβ€‹αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸβ€‹αž†αŸ’αž“αžΌαž αž“αž·αž„β€‹αž€αŸ’αžšαž»αž˜β€‹αž‡αž½αžšβ€‹αžŠαŸαž€ αž˜αž·αž“αž˜αŸ‚αž“β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž†αŸ’αž›αžΎαž™β€‹αžŸαŸ†αžŽαž½αžšβ€‹αž‘αŸαŸ”

αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αŸ—

Avro αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‡αžΆαž˜αž½αž™ parquet

  1. Avro αž‚αžΊαž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αž‘αž»αž€αž‡αž½αžšαžŠαŸαž€ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž› Parquet αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž‡αž½αžšαžˆαžšαŸ”
  2. Parquet αž‚αžΊαžŸαŸαž€αŸ’αžαž·αžŸαž˜αž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžšαžœαž·αž—αžΆαž‚ αž˜αžΆαž“αž“αŸαž™αžαžΆ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž“ αž“αž·αž„αžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαŸ”
  3. αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Avro αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž™αŸ‰αžΆαž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Parquet αŸ”
  4. Avro αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžœαž·αžœαžαŸ’αžαž“αŸαžŸαŸ€αž‚αŸ’αžœαžΈαž€αžΆαž“αŸ‹αžαŸ‚αž…αžΆαžŸαŸ‹αž‘αž»αŸ†αŸ” Parquet αž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ‚αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž› Avro αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαžœαž·αžœαžαŸ’αžαž“αŸαž–αž αž»αž˜αž»αžαž„αžΆαžš αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜ αž¬αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αž½αžšαžˆαžšαŸ”
  5. Parquet αž‚αžΊαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž€αžŸαž½αžšαžŸαŸ†αžŽαž»αŸ†αžšαž„αž“αŸƒαž‡αž½αžšαžˆαžšαž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž–αž αž»αž‡αž½αžšαŸ” Avro αž‚αžΊαžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš ETL αžŠαŸ‚αž›αž™αžΎαž„αžŸαž½αžšαž‡αž½αžšαžˆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

ORC αž‘αž›αŸ‹αž“αžΉαž„ Parquet

  1. Parquet αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŠαžΆαž€αŸ‹αž”αžΆαž“αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“αŸ”
  2. ORC αž‚αžΊαžŸαŸαž€αŸ’αžαž·αžŸαž˜αž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αŸ’αž™αžΆαž€αžšαžŽαŸαž–αžΈαž€αžΆαžšαžšαž»αž‰αž…αŸ’αžšαžΆαž“αŸ”
  3. ORC αž‚αžΆαŸ†αž‘αŸ’αžšαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž· ACID αŸ”
  4. ORC αž”αž„αŸ’αžšαž½αž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“αŸ”

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž‘αŸ€αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž“αž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘:

  1. αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž–αž€αŸ– αžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αžΆαž…αž€αŸ’αž›αžΆαž™αž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαž˜αŸ’αžšαž„αŸ‹αž‘αž·αžŸ.
  2. αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸαžšαžΆαž”αž‘αžΆαž”αž…αŸ†αž–αŸ„αŸ‡αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™.
  3. αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαž‘αžΌαžšαž›αŸαžαžšαž”αžŸαŸ‹αž™αžΎαž„αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŒαžΈαž‡αžΈαžαž›.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹