Apache Parquet: Parquet file internals and inspecting Parquet file structure

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.ย. 2024

ความคิดเห็น • 20

  • @markevogt
    @markevogt 4 ปีที่แล้ว +4

    Interesting video showing a single RowGroup...
    You present well, and clearly have a solid grasp of the Parquet file format.
    If you're interested in preparing a sequel to your video...
    ... considering showing a diagram of MULTIPLE row groups, each stored on a different disk in a different node in a cluster, so that a RowGroup represents the "sharding" (splitting across rows in the logical representation of a table) of a logical table and distributing shards-as-RowGroups on DIFFERENT nodes.
    Then you could explore what happens during a query like "What is average square ft in ZIP Code 60542?"
    This query can & will be PARALLELIZED into 1 query on each disk where a portion of the larger (logical) table has been stored.
    What's COOL about parquet is this:
    - in a ROW-based storage format to get the ZIP from a single record I have to read EACH row, FIND the ZIP field and return it.
    - therefore in a row-based "shard" containing (say) 10,000 rows across (say) 10 disks (so 1,000 rows per disk) I have to make 10,000 READS across different regions of my disk... VERY INEFFICIENT just to get a SINGLE field (sqft) :-(
    - in a COLUMN-based storage format I simply have to make 1 single read , starting with where the sqft data begins, and stopping where this field ends. And in a SINGLE read (NOT 1,000) I have ALL the sqft values in that shard representing those rows in my larger (logical) table :-)
    - MEANWHILE on my other (say 10) disks also containing this (logical) table, there are also only 1 READ per disk,
    The result?
    Instead of 10,000 reads across 10 disks just to get 10,000 measely values of sqft to average...
    ... the parquet format lets me make only 10 reads and get the same 10,000 values :-O
    Illustrate THIS in your next video ;-)
    You'll be a hero :-)
    -Mark in North Aurora IL ...

  • @srividyaus
    @srividyaus 4 ปีที่แล้ว +3

    Best explanation of parquet file and columnar file format, I came across so far. Thank you very much

  • @flwi
    @flwi 4 ปีที่แล้ว +2

    Great overview! Thanks for taking the time to record it!

  • @abhijeetzagade3349
    @abhijeetzagade3349 3 ปีที่แล้ว

    best explanation of columnar storage format

  • @nkantkumar
    @nkantkumar 6 ปีที่แล้ว +4

    Excellent talk!!

  • @charanjeetsingh1100
    @charanjeetsingh1100 6 ปีที่แล้ว +1

    Very nice. Brilliant. Thanks.

  • @debashishkheti5010
    @debashishkheti5010 7 ปีที่แล้ว +2

    Nice Explanation !!

  • @meditating010
    @meditating010 6 ปีที่แล้ว +1

    crazy good videos .... you are godly

  • @aniruddhnathani5518
    @aniruddhnathani5518 10 หลายเดือนก่อน

    Nice video but i dont see any row group tuning parameter directly. It is tuned via block.size itself. Is my understanding correct?

  • @aharonwsmith
    @aharonwsmith 5 ปีที่แล้ว +1

    Good lecture. Play at 1.25x

  • @rambabuchamakuri1780
    @rambabuchamakuri1780 5 ปีที่แล้ว

    excellent..

  • @karthikgolagani6844
    @karthikgolagani6844 7 ปีที่แล้ว +1

    learnt new things

  • @sunilmali8483
    @sunilmali8483 6 หลายเดือนก่อน

    Hi all , I am searching a way to load the parquet file but not in one go. Want to load in parts . How can i achieve this in Java . Any Implementation reference will be highly appreciated. I have gone through few articles but not up to the mark.

  • @rogermenezes
    @rogermenezes 6 ปีที่แล้ว +3

    Awesome talk. Melvin, can you share your slides? via Slideshare or something.

    • @melvinl5797
      @melvinl5797  6 ปีที่แล้ว +1

      Thanks! Unfortunately dont have the slides anymore. The images used in the slides have been sourced from the official parquet site parquet.apache.org/documentation/latest/

  • @djibb.7876
    @djibb.7876 7 ปีที่แล้ว

    Great talk!
    I set up a spark-cluster with 2 workers. I save a Dtaframe using partitionBy ("column x") as a parquet format to some path on each worker. The matter is that i am able to save it but if i want to read it back i am getting these errors: - Could not read footer for file file´status ...... - unable to specify Schema ... Any Suggestions?

  • @brianz2011
    @brianz2011 5 ปีที่แล้ว

    Why the parquet store the data as row layout (row group)? Does it store data as column side by side?

  • @__dio
    @__dio 5 ปีที่แล้ว

    What happens if i write a parquet file that has 2 row group??

  • @rajatsharma1570
    @rajatsharma1570 4 ปีที่แล้ว

    Parquet-tools not working..