import os # Generate a larger dataset large_data = { 'transaction_id': range(50000), 'store': ['Downtown', 'Uptown', 'Suburban', 'Airport', 'Mall'] * 10000, 'product': [f'product_{i % 200}' for i in range(50000)], 'amount': [round(10 + (i % 500) * 0.5, 2) for i in range(50000)] } df_large = pd.DataFrame(large_data) table_large = pa.Table.from_pandas(df_large) # Write with different compression codecs for codec in ['NONE', 'SNAPPY', 'GZIP', 'ZSTD']: path = f'transactions_{codec.lower()}.parquet' pq.write_table(table_large, path, compression=codec) size = os.path.getsize(path) print(f"{codec:<8}: {size:>10,} bytes")