Bird
Raised Fist0
Hadoopdata~5 mins

Data serialization (Avro, Parquet, ORC) in Hadoop - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is data serialization in the context of big data?
Data serialization is the process of converting data into a format that can be easily stored or transmitted and later reconstructed. It helps in efficient storage and fast data processing in big data systems.
Click to reveal answer
beginner
What is Avro and what is it mainly used for?
Avro is a data serialization system that uses JSON for defining data schemas and a compact binary format for data storage. It is mainly used for data exchange between systems and supports schema evolution.
Click to reveal answer
intermediate
How does Parquet optimize data storage?
Parquet is a columnar storage format that stores data by columns instead of rows. This allows for better compression and faster queries on specific columns, making it efficient for analytical workloads.
Click to reveal answer
intermediate
What is ORC and why is it preferred in Hadoop ecosystems?
ORC (Optimized Row Columnar) is a columnar storage format designed for Hadoop. It provides high compression, fast read performance, and supports complex data types, making it ideal for large-scale data processing.
Click to reveal answer
advanced
Compare Avro, Parquet, and ORC in terms of use cases.
Avro is best for data exchange and streaming with schema evolution. Parquet and ORC are columnar formats suited for analytical queries; Parquet is widely used in many systems, while ORC is optimized for Hadoop with better compression and performance.
Click to reveal answer
Which data serialization format uses JSON to define its schema?
ACSV
BParquet
CORC
DAvro
Which format stores data by columns to improve query speed on specific fields?
AAvro
BParquet
CJSON
DXML
Which serialization format is specifically optimized for Hadoop with high compression?
AORC
BParquet
CAvro
DTXT
Which format is best suited for streaming data and schema evolution?
AORC
BParquet
CAvro
DCSV
Which of these is NOT a columnar storage format?
AAvro
BORC
CParquet
DNone of the above
Explain the main differences between Avro, Parquet, and ORC formats.
Think about schema, storage style, and typical use cases.
You got /4 concepts.
    Describe why columnar storage formats like Parquet and ORC are preferred for analytical queries.
    Consider how data is accessed in analytics.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which data serialization format stores data in a row-wise manner and includes a schema for each record?
      easy
      A. Avro
      B. Parquet
      C. ORC
      D. CSV

      Solution

      1. Step 1: Understand Avro's storage method

        Avro stores data row-wise, meaning it saves one record at a time along with its schema.
      2. Step 2: Compare with other formats

        Parquet and ORC store data column-wise, optimizing for query speed, while CSV has no schema.
      3. Final Answer:

        Avro -> Option A
      4. Quick Check:

        Row-wise with schema = Avro [OK]
      Hint: Row-wise + schema means Avro format [OK]
      Common Mistakes:
      • Confusing Parquet or ORC as row-wise
      • Thinking CSV has schema
      • Mixing storage orientation concepts
      2. Which of the following is the correct way to specify a Parquet file format in a Hadoop job configuration?
      easy
      A. job.setOutputFormatClass(TextOutputFormat.class);
      B. job.setOutputFormatClass(AvroOutputFormat.class);
      C. job.setOutputFormatClass(OrcOutputFormat.class);
      D. job.setOutputFormatClass(ParquetOutputFormat.class);

      Solution

      1. Step 1: Identify the output format class for Parquet

        Parquet files require setting the output format to ParquetOutputFormat in Hadoop jobs.
      2. Step 2: Eliminate other options

        TextOutputFormat is for text files, AvroOutputFormat for Avro files, and OrcOutputFormat for ORC files.
      3. Final Answer:

        job.setOutputFormatClass(ParquetOutputFormat.class); -> Option D
      4. Quick Check:

        Parquet output format = ParquetOutputFormat [OK]
      Hint: Parquet uses ParquetOutputFormat class in Hadoop [OK]
      Common Mistakes:
      • Using TextOutputFormat for Parquet files
      • Confusing AvroOutputFormat with ParquetOutputFormat
      • Mixing ORC and Parquet output formats
      3. Given the following PySpark code snippet, what will be the output schema of the saved file?
      df.write.format('orc').save('/data/output')
      medium
      A. Data saved in ORC format with schema preserved
      B. Data saved in CSV format without schema
      C. Data saved in Parquet format with schema preserved
      D. Data saved in Avro format with schema preserved

      Solution

      1. Step 1: Identify the format used in the code

        The code uses df.write.format('orc'), which means data is saved in ORC format.
      2. Step 2: Understand ORC properties

        ORC stores data column-wise and preserves schema for efficient queries.
      3. Final Answer:

        Data saved in ORC format with schema preserved -> Option A
      4. Quick Check:

        ORC format with schema = Data saved in ORC format with schema preserved [OK]
      Hint: format('orc') means ORC with schema saved [OK]
      Common Mistakes:
      • Assuming default is CSV
      • Confusing ORC with Parquet or Avro
      • Ignoring schema preservation in ORC
      4. You try to read a Parquet file in Spark using this code:
      spark.read.format('parquet').load('/data/file.orc')

      What is the main issue here?
      medium
      A. File extension does not match format specified
      B. Parquet format cannot read ORC files
      C. Spark cannot read Parquet files
      D. No issue, code will run fine

      Solution

      1. Step 1: Check the file format and extension

        The code tries to read a file with .orc extension using Parquet format.
      2. Step 2: Understand format compatibility

        Parquet reader cannot read ORC files because they have different internal structures.
      3. Final Answer:

        Parquet format cannot read ORC files -> Option B
      4. Quick Check:

        Parquet reader ≠ ORC file [OK]
      Hint: Parquet reader can't read ORC files [OK]
      Common Mistakes:
      • Ignoring file extension mismatch
      • Assuming Spark auto-detects format
      • Thinking Parquet and ORC are interchangeable
      5. You have a large dataset with many columns but only a few are needed for analysis. Which data serialization format is best to optimize query speed and storage, and why?
      hard
      A. CSV, because it is simple and easy to read
      B. Avro, because it stores data row-wise with schema
      C. Parquet, because it stores data column-wise allowing fast column queries
      D. JSON, because it supports nested data

      Solution

      1. Step 1: Understand the dataset and query needs

        Many columns exist but only a few are needed, so reading only those columns is important.
      2. Step 2: Compare serialization formats for columnar access

        Parquet stores data column-wise, enabling fast queries on selected columns and saving storage.
      3. Step 3: Eliminate other options

        Avro is row-wise, so it reads all columns; CSV and JSON lack efficient columnar storage and schema.
      4. Final Answer:

        Parquet, because it stores data column-wise allowing fast column queries -> Option C
      5. Quick Check:

        Column-wise storage = Parquet best for selective queries [OK]
      Hint: Column-wise format like Parquet speeds up column queries [OK]
      Common Mistakes:
      • Choosing Avro for column queries
      • Picking CSV or JSON for big data efficiency
      • Ignoring storage and query speed trade-offs
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard