What is the main difference between ORC and Parquet?

Both file formats are columnar with similar support for encoding and compression. Their key difference is in how nested data is represented. In Parquet, the nested data is fully shredded into columns with additional metadata to reconstruct the nesting structure. In ORC, nested structures are not decomposed into columns. Rather the nested data value is stored as a regular column value.