== Parsed Logical Plan == GlobalLimit 21 +- LocalLimit 21 +- Project [cast(miner#25 as string) AS miner#105, cast(total_size#100 as string) AS total_size#106] +- GlobalLimit 10 +- LocalLimit 10 +- Project [miner#25, size#28 AS total_size#100] +- Sort [size#28 DESC NULLS LAST], true +- Relation[number#16,hash#17,parent_hash#18,nonce#19,sha3_uncles#20,logs_bloom#21,transactions_root#22,state_root#23,receipts_root#24,miner#25,difficulty#26L,total_difficulty#27,size#28,extra_data#29,gas_limit#30,gas_used#31,timestamp#32,transaction_count#33,base_fee_per_gas#34] csv == Analyzed Logical Plan == miner: string, total_size: string GlobalLimit 21 +- LocalLimit 21 +- Project [cast(miner#25 as string) AS miner#105, cast(total_size#100 as string) AS total_size#106] +- GlobalLimit 10 +- LocalLimit 10 +- Project [miner#25, size#28 AS total_size#100] +- Sort [size#28 DESC NULLS LAST], true +- Relation[number#16,hash#17,parent_hash#18,nonce#19,sha3_uncles#20,logs_bloom#21,transactions_root#22,state_root#23,receipts_root#24,miner#25,difficulty#26L,total_difficulty#27,size#28,extra_data#29,gas_limit#30,gas_used#31,timestamp#32,transaction_count#33,base_fee_per_gas#34] csv == Optimized Logical Plan == GlobalLimit 21 +- LocalLimit 21 +- Project [miner#25, cast(total_size#100 as string) AS total_size#106] +- GlobalLimit 10 +- LocalLimit 10 +- Project [miner#25, size#28 AS total_size#100] +- Sort [size#28 DESC NULLS LAST], true +- Project [miner#25, size#28] +- Relation[number#16,hash#17,parent_hash#18,nonce#19,sha3_uncles#20,logs_bloom#21,transactions_root#22,state_root#23,receipts_root#24,miner#25,difficulty#26L,total_difficulty#27,size#28,extra_data#29,gas_limit#30,gas_used#31,timestamp#32,transaction_count#33,base_fee_per_gas#34] csv == Physical Plan == CollectLimit 21 +- *(1) Project [miner#25, cast(total_size#100 as string) AS total_size#106] +- TakeOrderedAndProject(limit=10, orderBy=[size#28 DESC NULLS LAST], output=[miner#25,total_size#100]) +- FileScan csv [miner#25,size#28] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/ethereum/blocks.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<miner:string,size:int>