á¡ááœá²á·
á¡áááºááŒá±á¬áá·áº ááá°áá®áá±á¬ ááá¯ááºáá±á¬áºáááºáá»á¬áž ááá¯á¡ááºááááºážá
MapReduce ááŸáá·áº Spark áá²á·ááá¯á·áá±á¬ HDFS-enabled á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠá¡ááá á áœááºážáá±á¬ááºááẠááááºááá¯á·ááŸá¯ááẠáá±áá¬ááᯠááŸá¬ááœá±áááºá áááºáááºááŸáá·áº áá±ážáá¬ážááẠááá¯á¡ááºááá·áºá¡áá»áááºááŒá áºáááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¯á¶áá±ááá¯ááºáá² ááŒá±á¬ááºážáá²áá±áá±á¬ schema áá áºáá¯ááŸááá»áŸáẠááá¯á·ááá¯áẠááá¯ááŸá±á¬ááºááŸá¯ááá·áºáááºáá»ááºáá»á¬ážááŸááá±áá«á ááŒá®ážáá¬ážáá±á¬áá±áá¬á¡á á¯áá»á¬ážááᯠá á®áá¶ááá·áºááœá²áá¬ááœáẠá€ááŒá¿áá¬áá»á¬ážááᯠáá±á«ááºážá ááºáá¬ážáááºá
áá±áá¬ááŒá®ážááŒá®ážáá¬ážáá¬ážáá¯ááºáá±á¬ááºááŒááºážááẠááá¯ááŸá±á¬ááºááŸá¯á áá áºááœá²ááœáẠáááºááá¯ááá¯ážá á±ááẠ- Hadoop ááẠá¡ááŸá¬ážáá¶ááá¯ááºáááºááŸáá á±ááẠáá±áá¬ááᯠáááá¯á¡ááºáá² ááááºážáááºážáá¬ážáááºá áá áºáá»á¬ážá¡ááŒááºá áááá¯áááºáá¬á ááœááºáááºá á¡áááº/á¡ááœááºá áá Ạá áááºááŒáá·áº áááºáá±á¬ááºáá¬ážáááºá áá±áá¬ááá¬á ááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ áááºážááᯠáá¯ááºáá±á¬ááºááŒááºážááŸáá·áº ááááºážáááºážááŒááºážá¡ááœáẠáá¯ááºáá»á ááááºáááºáž áá»á¬ážáá¬áááºá
ááá¯ááºáá±á¬áºáááºá¡áá»áá¯ážáá»áá¯áž
- á á¬áááºáá»ááẠááá¯ááŒááºáááºá
- ááá¯ááºáá°ážáá»ááẠááá¯ááŒááºáááºá
- áá»áŸáá±áá¬ážáá±á¬ááá¯ááºáá»á¬ážá
- schema ááá·áºáá²ááŒá áºá ááºá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- áá»á¯á¶á·áá»á²á·áá±á¬ááºáá¶ááŸá¯á
á¡áá»áá¯á·áá±á¬ ááá¯ááºáá±á¬áºáááºáá»á¬ážááẠáá±áá°áá»á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáááºááœááºáá¬ážááŒá®áž á¡áá»áá¯á·ááŸá¬ ááá¯ááá¯áááá»áá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬ážá¡ááœáẠáááºááœááºááŒá®áž á¡áá»áá¯á·ááŸá¬ áá®ážááŒá¬ážáá±áá¬ááá¹ááá¬áá»á¬ážááŸáá·áº ááá¯ááºáá®á á±ááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá«áááºá áá«ááŒá±á¬áá·áº ááœá±ážáá»ááºááŸá¯áᬠáááá·áºááᯠááŒá®ážáá¬ážáá«áááºá
Avro ááá¯ááºáá±á¬áºáááº
á¡ááœáẠáá±áá¬á¡ááŸááºá áẠAvro ááᯠááœááºááœááºáá»ááºáá»áẠáá¯á¶ážáááºá string ááá¯á¡ááŒá±áá¶áááºáááá¯ááá¯áááºááŸá¬ Hadoop ááŸá string data storage format ááŒá áºáááºá áááºážááẠschema ááᯠJSON áá±á¬áºáááºááŒáá·áº ááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº áááºááá·áºáááá¯ááááºááááᯠáááºááŸá¯áááºááŸáá·áº áá¬áá¬ááŒááºááẠááœááºáá°á á±áááºá áá±áá¬ááá¯ááºááá¯ááºá binary áá±á¬áºáááºááŒá áºááŒá®áž áá»á áºáá»á áºááŒá®áž áááá±á¬ááºáá«áááºá
Avro á á¡ááŸááºá ááºá áá áºááẠáá¬áá¬á áá¬ážááŒá¬ážáá±áá«áááºá ááá¯ááºáá»á¬ážááᯠáá¬áá¬á áá¬ážá¡áá»áá¯ážáá»áá¯ážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºá áááºááŸáááœáẠCá C++á C#á Javaá Python ááŸáá·áº Rubyá
Avro á á¡áááá¡ááºá¹áá«áááºááŸá¬ á¡áá»áááºááŸáá·áºá¡áá»áŸ ááŒá±á¬ááºážáá²áá±áá±á¬ áá±áá¬á¡á á®á¡á ááºáá»á¬ážá¡ááœáẠáááºážá ááá¯ááºáá¬áá±á¬ áá¶á·ááá¯ážááŸá¯ááŒá áºáááºá Avro ááẠschema á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážâáá»ááºááŒááºážá áá±á«ááºážááá·áºááŒááºáž ááá¯á·ááá¯áẠá¡ááœááºáá»á¬ážááŒá±á¬ááºážáá²ááŒááºážááá¯á·ááᯠáá¬ážáááºáááºá
Avro ááẠáá±áá¬ááœá²á·á ááºážáá¯á¶á¡áá»áá¯ážáá»áá¯ážááᯠáá¶á·ááá¯ážáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠarray áá áºáá¯á á á¬áááºážáá±á¬ááºá¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŸáá·áº subrecord áá«áááºáá±á¬ ááŸááºáááºážáá áºáá¯ááᯠáááºáá®ážááá¯ááºáááºá
á€áá±á¬áºáááºááẠáá±áá¬á¡áá¯ááºáá
áºáá¯á áááºážáááºááŒááºáž (á¡áá°ážá¡ááŒá±á¬ááºáž) áá¯ááºááá¯á· á
á¬áá±ážááẠá
á¶ááŒááŒá
áºááẠ(
ááá¯á·ááŒá±á¬áá·áºá á€áá±á¬áºáááºááẠá¡á±á¬ááºáá«á¡ááŒá±á¬ááºážáá»á¬ážááŒá±á¬áá·áº data lake ááááºážáááºáá¯ááºááá¯á·á á¬áá±ážááẠá¡ááá·áºáá±á¬áºáá¯á¶ážááŒá áºáááº-
- á¡á±á¬ááºááá¯ááºážá áá áºáá»á¬ážááŒáá·áº áááºáááºáá¯ááºáá±á¬ááºáááºá¡ááœáẠá€áá¯ááºááŸáá±áá¬ááᯠá¡áá»á¬ážá¡á¬ážááŒáá·áº áá áºáá¯áá¯á¶ážááœáẠáááºáá±á·ááŸáááŒá®áž á¡áááºážá¡ááŒá±áá¶áá±á¬áºáááºááẠá€ááá á¹á ááœáẠááá¯ááá¯áááá±á¬ááºáá«áááºá
- Downstream á áá áºáá»á¬ážááẠááá¯ááºáá»á¬ážá០schema ááá¬ážáá»á¬ážááᯠá¡ááœááºááá° áá¯ááºáá°ááá¯ááºáááºâááŒááºá meta ááá¯ááŸá±á¬ááºááŸá¯ááœáẠschema áá»á¬ážááᯠáá®ážááŒá¬ážááááºážáááºážááẠáááá¯á¡ááºáá«á
- áá°áá¡á á®á¡á ááºááá¯á· ááŒá±á¬ááºážáá²ááŸá¯ááá¯ááºážááᯠááœááºáá°á áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááẠ(schema ááá·áºáá²ááŒá áºá ááº)á
áá«áá±ážááá¯ááºáá¯á¶á á¶
áá«áá±ážááẠááááºážáááºážáá¬ážááá·áº Hadoop á¡ááœáẠopen source ááá¯ááºáá±á¬áºáááºáá áºáá¯ááŒá áºáááºá flat columnar format ááŒáá·áº nested data structures áá»á¬áž.
ááá¬ážááá¯ážáá»á¡áááºážáá»ááºážáááºáááºážááŸáá·áº ááŸáá¯ááºážááŸááºáá«á Parquet ááẠááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº á áœááºážáá±á¬ááºáááºááá¯ááºážáá»á¬ážááœáẠááá¯ááá¯áááá±á¬ááºáááºá
áááºážááẠáá»ááºááŒáá·áºáá±á¬ (áá±á¬áºáá¶áá»á¬ážá áœá¬) ááá¬ážá០áá®ážááŒá¬ážáá±á¬áºáá¶áá»á¬ážááᯠáááºááá·áºáá±ážááœááºážáá»á¬ážá¡ááœáẠá¡áá°ážá¡áá¯á¶ážáááºáááºá ááá¯ááºáá±á¬áºáááºááŒá±á¬áá·áºá ááá¯á¡ááºáá±á¬áá±á¬áºáá¶áá»á¬ážááá¯áᬠáááºááá±á¬ááŒá±á¬áá·áº I/O ááᯠá¡áááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááááºážááááºážáá¬ážáááºá
á¡áá±ážá áááºááŸááºážááŒáá»ááº: Hadoop ááŸá Parquet ááá¯ááºáá±á¬áºáááºááᯠááá¯ááá¯áá±á¬ááºážááœááºá áœá¬ áá¬ážáááºáááºá áá±á¬áºáá¶á¡ááŒá±áᶠ- ááá¯ááá¯áááºááŸá¬ áá±á¬áºáá¶áá¬áž - áá±á¬áºáááºááᯠááŒáá·áºááŒáá«á áá¯á·á á€áá±á¬áºáááºááẠáá±á¬áºáá¶áá áºáá¯á á®á¡ááœáẠá¡áá¬ážáá°áááºááá¯ážáá»á¬ážááᯠá¡áá°ááᜠááááºážáááºážáá¬ážáááºá
ID
á¡áááº
áá«á
1
emp1
d1
2
emp2
d2
3
emp3
d3
string áá±á¬áºáááºááœááºá áá±áá¬ááᯠá¡á±á¬ááºáá«á¡ááá¯ááºáž ááááºážáááºážáá«áááºá
1
emp1
d1
2
emp2
d2
3
emp3
d3
áá±á¬áºáá¶áá¬ážááá¯ááºáá±á¬áºáááºááœááºá áá°áá®áá±á¬áá±áá¬ááᯠá€áá²á·ááá¯á· ááááºážáááºážáááº-
1
2
3
emp1
emp2
emp3
d1
d2
d3
ááá¬ážáá áºáá¯á០áá±á¬áºáá¶á¡áá»á¬ážá¡ááŒá¬ážááᯠáááºáá±ážááŒááºážááẠááá¯á¡ááºááá·áºá¡áá« áá±á¬áºáá¶áá¯á¶á á¶ááẠááá¯ááá¯áááá±á¬ááºáááºá áááºážááẠáááºáá»ááºááŒá áºáá±áá±á¬ááŒá±á¬áá·áº ááá¯á¡ááºáá±á¬áá±á¬áºáá¶áá»á¬ážááá¯áᬠáááºáá«áááºá á€áááºážá¡á¬ážááŒáá·áº I/O áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááááºážááááºážáá¬ážáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠNAME áá±á¬áºáá¶ááá¯áᬠááá¯á¡ááºáááºá IN
ááá¯á·ááŒá±á¬áá·áºá áá±á¬áºáá¶áá±á¬áºáááºááẠááá¯á¡ááºáá±á¬áá±á¬áºáá¶áá»á¬ážááá¯á· ááŸá¬ááœá±ááẠá¡áá»áááºáááºážá ááá¯áá»ááºáá±á¬áá±á¬áºáá¶áá»á¬ážááá¯áá¬áááºáá±á¬ááŒá±á¬áá·áº I/O áá¯ááºáá±á¬ááºááŸá¯á¡áá±á¡ááœááºááᯠáá»áŸá±á¬á·áá»áá±ážáá±á¬ááŒá±á¬áá·áº á á¯á¶á ááºážááŸá¯á áœááºážáá±á¬ááºáááºááᯠááá¯ááá¯áá±á¬ááºážááœááºá á±áááºá
áá°ážááŒá¬ážáá±á¬á¡ááºá¹áá«áááºáá»á¬ážáá²ááŸáá
áºáá¯
Hadoop ááŸá Parquet ááá¯ááºáá±á¬áºáááºááᯠáá¬ážáááºáááºá á¡á±á¬ááºáá« á
ááºážáááºážáá»ááºáá»á¬ážááᯠááááŸáááẠááá¯á¡ááºáá«áááºá
- ááŒáá¯ážáááºážá¡á¯ááºá ᯠ(row group) : áá±áá¬áá»á¬ážááᯠáá¯áá¹áááááºážááŒáá·áº á¡áá»á¬ážááá¯áẠá¡áááºážáá»á¬ážááœá²ááŒááºážá á¡áááºážá¡á¯ááºá á¯áá áºáá¯ááẠáá±áá¬á¡ááœá²ááœáẠáá±á¬áºáá¶áá áºáá¯á á®á á¡ááá¯ááºážáá áºááá¯ááºážáá«áááºáááºá
- áá±á¬áºáá¶á¡ááá¯ááºážá¡á (áá±á¬áºáá¶á¡áá¯á¶áž) : áá®ážááŒá¬ážáá±á¬áºáá¶áá áºáá¯áá¡ááá¯ááºážá¡á á á€áá±á¬áºáá¶á¡ááá¯ááºážáá»á¬ážááẠáá®ážááŒá¬ážá¡áááºážá¡á¯ááºá á¯áá áºá á¯ááœáẠáá±ááá¯ááºááŒááŒá®áž ááá¯ááºáá²ááœáẠáá áºáááºáááºážááŒá áºááẠá¡á¬ááá¶áá«áááºá
- á á¬áá»ááºááŸá¬ (á á¬áá»ááºááŸá¬): áá±á¬áºáá¶á¡ááá¯ááºážá¡á áá»á¬ážááᯠáá áºáá¯ááŒá®ážáá áºáá¯áá±ážáá¬ážáá±á¬ á á¬áá»ááºááŸá¬áá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážáá¬ážáááºá á á¬áá»ááºááŸá¬áá»á¬ážááœáẠá¡áá»á¬ážá¡á¬ážááŒáá·áº áá±á«ááºážá ááºáá«ááŸááá±á¬ááŒá±á¬áá·áº á á¬áááºááá·áºá¡áá« áááá¯á¡ááºáá±á¬ á á¬áá»ááºááŸá¬áá»á¬ážááᯠáá»á±á¬áºááœá¬ážááá¯ááºáááºá
á€ááœáẠáá±á«ááºážá
ááºááœáẠááŸá±á¬áºáá¶áá«ááºáá«ááŸááááºá PAR1 ááá¯ááºááᯠáá«áá±ážááá¯ááºá¡ááŒá
ẠáááºááŸááºáá±ážáá±á¬ (4 bytes)á
á¡á±á¬ááºááŒá±ááœáẠá¡á±á¬ááºáá«á¡ááá¯ááºážáá±á¬áºááŒáá¬ážáááº-
- áá±á¬áºáá¶áá áºáá¯á á®á áááºáá¬áá±áá¬á á¡á ááŒáá®ááááºáá»á¬ážáá«ááŸááá±á¬ ááá¯ááºáááºáá¬áá±áá¬á áááºááá·áºá¡áá«á á áááºáááºá á¬ážááœáẠáá±á¬áºáá¶á¡ááá¯ááºážá¡á á¡á¬ážáá¯á¶ážááᯠááŸá¬ááœá±ááẠááá¯ááºá áááºáá¬áá±áá¬ááᯠáŠážá áœá¬áááºááá«áááºá ááá¯á·áá±á¬áẠáá±á¬áºáá¶á¡ááá¯ááºážáá»á¬ážááᯠáááºááá¯ááºáááºááá«áááºá á¡ááŒá¬ážáá±á¬ áááºáá¬áá±áá¬ááœáẠáá±á¬áºáááºáá¬ážááŸááºážá á¡á á®á¡á ááºááŸáá·áº á¡ááŒá¬ážáá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬áž áá«áááºáááºá
- áááºáá¬áá±áá¬á¡ááŸáẠ(4 bytes)á
- ááŸá±á¬áºáá¶áá«áẠPAR1 (á) ááá¯ááºá
ORC ááá¯ááºáá±á¬áºáááº
á¡áááºáž-áá±á¬áºáᶠááá¯ááºáá±á¬áºáááºááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáááºá ( Optimized Row áá±á¬áºáá¶á
ORC áá±á¬áºáááºá á¡á¬ážáá¬áá»ááºáá»á¬áž-
- ááá¯ááºáá áºáá¯ááẠNameNode (name node) áá±á«áºááŸá load ááá¯áá»áŸá±á¬á·áá»áá±ážááá·áº á¡áá¯ááºáá áºáá¯á á®á output ááŒá áºáááºá
- DateTimeá áá¿áááŸáá·áº ááŸá¯ááºááœá±ážáá±á¬ áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬áž (ááœá²á·á ááºážáá¯á¶á á á¬áááºážá ááŒá±áá¯á¶ááŸáá·áº ááŒááºáá±á¬ááºá á¯) á¡áá«á¡ááẠHive áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- ááá°áá®áá±á¬ RecordReader áá¯ááºáááºážá ááºáá»á¬ážááŒáá·áº áá°áá®áá±á¬ááá¯ááºááᯠáá áºááŒáá¯ááºáááºáááºááŸá¯ááŒááºážá
- á¡ááŸááºá¡áá¬ážáá»á¬ážááᯠá áááºááºááááºáá² ááá¯ááºáá»á¬ážááᯠááœá²áá¯ááºááá¯ááºááŒááºážá
- ááá¯ááºá¡á±á¬ááºááŒá±áá¬ážááŸá á¡áá»ááºá¡áááºáá»á¬ážá¡áá±á«áº á¡ááŒá±áá¶á áááºááŸá¯áááº/áá±ážááŒááºáž áá¯ááºáááºážá ááºáá»á¬ážá¡ááœáẠááŒá áºááá¯ááºááŒá±á¡áá»á¬ážáá¯á¶áž á¡á á¯á¡áá¯á¶ááŸááºáá¬ááºááœá²áá±ááŸá¯ááᯠááá·áºááŸááºážááŒááºážá
- áááºáá¬áá±áá¬ááᯠáááá¯ááá¯áá±á¬ Buffers binary serialization áá±á¬áºáááºááœáẠááááºážáááºážáá¬ážááŒá®ážá á¡ááœááºáá»á¬ážááᯠááá·áºáááºááŸáá·áº áááºááŸá¬ážááẠááœáá·áºááŒá¯áááºá
ORC ááẠááá¯ááºáá
áºáá¯áááºážááœáẠá
á¬ááŒá±á¬ááºážáá»á¬ážá
á¯á
ááºážááŸá¯áá»á¬ážááᯠááááºážáááºážáá¬ážááŒá®áž á
á¯á
ááºážááŸá¯á¡ááœááºážá á
á¬ááŒá±á¬ááºážáá±áá¬ááᯠáá±á¬áºáá¶áá¬ážáá±á¬áºáááºááŒáá·áº ááááºážáááºážáá¬ážáááºá
ORC ááá¯ááºáá áºáá¯ááẠá¡á ááºážááŒá±á¬ááºážáá»á¬ážáá¯áá±á«áºáá±á¬ ááá¯ááºážá¡á¯ááºá á¯áá»á¬ážááᯠááááºážáááºážáá¬ážááŒá®áž ááá¯ááºáá¡á±á¬ááºááŒá±ááœáẠá¡áá»ááºá¡áááºáá¶á·ááá¯ážáá±ážáááºá ááá¯ááºáá¡áá¯á¶ážááŸá Postscript ááœáẠáá»á¯á¶á·áá¬ážáá±á¬ ááá·áºáááºáá±á¬ááºáá»á¬ážááŸáá·áº áá»á¯á¶á·áá¬ážáá±á¬á¡á±á¬ááºááŒá±ááŸááºá á¯á á¡ááœááºá¡á á¬ážááá¯á·áá«ááŸááááºá
áá°áááºážá¡á ááºážá¡ááœááºá¡á á¬ážááẠ250 MB ááŒá áºáááºá á€áá»áŸááŒá®ážáá¬ážáá±á¬á¡á ááºážááŒá±á¬ááºážáá»á¬ážááŒá±á¬áá·áº HDFS ááŸáááºááŸá¯ááŒááºážá¡á¬áž ááá¯ááá¯áááá±á¬ááºá áœá¬áá¯ááºáá±á¬ááºáááº- ááŒá®ážáá¬ážáá±á¬á¡ááœááºáá»á¬ážááŒá áºáááºá
ááá¯ááºá¡á±á¬ááºááŒá±ááŸááºááẠááá¯ááºááŸá áááºážááŒá±á¬áá»á¬ážá á¬áááºážá áááºážááœá¬ážáá áºáá¯á á®á á¡áááºážá¡áá±á¡ááœááºááŸáá·áº áá±á¬áºáá¶áá áºáá¯á á®á áá±áá¬á¡áá»áá¯ážá¡á á¬ážááᯠááŸááºáááºážáááºáááºá áá±á¬áºáá¶áá áºáá¯á á®á¡ááœáẠáááŸááá¬áá±á¬ countá miná max ááŸáá·áº sum ááá¯á·á ááááºáááºááá¯ážááá¯áááºáž ááá¯áá±áá¬ááœáẠáá±ážáá¬ážáááºá
áá»áœááºááœááºážáá»ááºáá¡á±á¬ááºááŒá±ááœáẠáá¯ááºááœáŸáá·áºááá·áºáá±áá¬áá»á¬ážá áááºážááœáŸááºáá áºáá¯áá«ááŸááááºá
ááá¬ážáá»á¬ážááᯠá áááºááºáááºáá±á¬á¡áá« á¡áááºážáá±áá¬ááᯠá¡áá¯á¶ážááŒá¯áááºá
á¡ááœáŸááºážáá±áá¬ááœáẠáá±á¬áºáá¶áá áºáá¯á á®á¡ááœáẠá¡áááá·áºáá¯á¶ážááŸáá·áº á¡ááŒáá·áºáá¯á¶ážáááºááá¯ážáá»á¬ážááŸáá·áº áá±á¬áºáá¶áá áºáá¯á á®ááŸá á¡áááºážáá»á¬ážá á¡áá±á¡áá¬ážáá«áááºáááºá ORC á¡ááœáŸááºážáá»á¬ážááᯠáá±ážááœááºážáá»á¬ážááá¯ááŒá±ááá¯áááºá¡ááœááºááá¯ááºáá² á¡á ááºážááŒá±á¬ááºážáá»á¬ážááŸáá·áº á¡áááºážá¡á¯ááºá á¯áá»á¬ážááᯠááœá±ážáá»ááºáááºá¡ááœááºáᬠá¡áá¯á¶ážááŒá¯áá«áááºá
ááá°áá®áá±á¬ááá¯ááºáá±á¬áºáááºáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá
Avro ááẠáá«áá±ážááŸáá·áº ááŸáá¯ááºážááŸááºáááºá
- Avro ááẠá¡áááºážááá¯ááŸá±á¬ááºááŸá¯áá±á¬áºáááºááŒá áºááŒá®áž Parquet ááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáá±á¬áºáá¶áá»á¬ážááœáẠááááºážáááºážáá¬ážáááºá
- áá«áá±ážááẠááœá²ááŒááºážá áááºááŒá¬áá±ážááŒááºážáá»ááºáá»á¬ážá¡ááœáẠááá¯ááá·áºáá±á¬áºáááºá ááá¯ááá¯áááºááŸá¬ áááºááŸá¯ááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº á¡áá»ááºá¡áááºáá±ážááŒááºážááŒááºážáá»á¬ážááẠá á¬áá±ážááŒááºážááẠáá»á¬ážá áœá¬ááá¯ááá¯áááá±á¬ááºáááºáᯠááá¯ááá¯áááºá
- Avro ááœááºáá±ážáá¬ážááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠParquet áááºááá¯ááá¯áááá±á¬ááºá áœá¬áá¯ááºáá±á¬ááºáááºá
- Avro ááẠáá¬ážáá áºááá·áºáá²ááŒá áºá ááºááᯠááá¯ááá¯ááá·áºáá»ááºá áœá¬ ááá¯ááºááœááºáááºá áá«áá±ážááẠschema áááºááá¯ážááŸá¯ááá¯áᬠáá¶á·ááá¯ážáá±ážáá±á¬áºáááºáž Avro ááẠáááºá á¯á¶áá¯á¶ážááá·áºáá²ááŒá áºá ááºááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯ááá¯áááºááŸá¬ áá±á¬áºáá¶áá»á¬ážááá·áºááŒááºáž ááá¯á·ááá¯áẠááŒá±á¬ááºážáá²ááŒááºážáááºááŒá áºáááºá
- áá«áá±ážááẠáá±á¬áºáá¶á¡áá»á¬ážá¡ááŒá¬ážááᯠááá¬ážááœááºáá áºáá¯ááŸá áá±á¬áºáá¶á¡ááœá²áá»á¬ážááᯠáá±ážááŒááºážáááºá¡ááœáẠá á¶ááŒááŒá áºáááºá Avro ááẠáá±á¬áºáá¶áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá±ážááŒááºážááá·áº ETL áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠááá·áºáá»á±á¬áºáááºá
ORC vs áá«áá±áž
- áá«áá±ážááẠá¡ááá¯ááºá¡áááºážáá±áá¬ááᯠááá¯ááá¯áá±á¬ááºážááœááºá áœá¬ ááááºážáááºážáááºá
- ORC ááẠpushdown ááᯠááá·áºááŸááºážááẠááá¯ááá·áºáá±á¬áºáá«áááºá
- ORC ááẠACID áá¯ááºááá¹áááá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá
- ORC ááẠáá±áá¬ááᯠááá¯áá±á¬ááºážá¡á±á¬áẠáá»á¯á¶á·áááºá
áá±á¬ááºááẠáá¬á¡ááŒá±á¬ááºážá¡áá¬ááœá± áááºáááºáááá²:
cloud ááŸá ááŒá®ážáá¬ážáá±á¬ áá±áá¬ááœá²ááŒááºážá áááºááŒá¬ááŸá¯- áá¯áá¹ááá®áá áºáᯠáá±áá¬áŠážáááºáá¬áá¯á¶ .Database Schemas á¡ááœáẠááŸááá·áºáá»áá±á¬ áááºážááœáŸáẠ.áá áºáá»á áºáááºá¡ááœááºááŒá±á¬ááºážááŒááºážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áááŒá±ážáááºážááá¯ááºáž .
source: www.habr.com