== Parsed Logical Plan == GlobalLimit 11 +- LocalLimit 11 +- Project [cast(timestamp#32 as string) AS timestamp#139, cast(formatted_date#114 as string) AS formatted_date#140] +- Project [timestamp#32, formatted_date#114] +- Project [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, to_date(from_unixtime('timestamp, yyyy-MM-dd HH:mm:ss, None), None) AS formatted_date#114] +- 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 == timestamp: string, formatted_date: string GlobalLimit 11 +- LocalLimit 11 +- Project [cast(timestamp#32 as string) AS timestamp#139, cast(formatted_date#114 as string) AS formatted_date#140] +- Project [timestamp#32, formatted_date#114] +- Project [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, to_date(from_unixtime('timestamp, yyyy-MM-dd HH:mm:ss, None), None) AS formatted_date#114] +- 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 11 +- LocalLimit 11 +- Project [cast(timestamp#32 as string) AS timestamp#139, cast(cast(from_unixtime(cast(timestamp#32 as bigint), yyyy-MM-dd HH:mm:ss, Some(GMT)) as date) as string) AS formatted_date#140] +- 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 11 +- *(1) Project [cast(timestamp#32 as string) AS timestamp#139, cast(cast(from_unixtime(cast(timestamp#32 as bigint), yyyy-MM-dd HH:mm:ss, Some(GMT)) as date) as string) AS formatted_date#140] +- FileScan csv [timestamp#32] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/ethereum/blocks.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<timestamp:int>