== Physical Plan ==
CollectLimit (5)
+- * Project (4)
+- * Generate (3)
+- * Project (2)
+- Scan json (1)
(1) Scan json
Output [2]: [meta#602, results#603]
Batched: false
Location: InMemoryFileIndex [file:/home/jovyan/data/openaq-api-data]
ReadSchema: struct<meta:struct<found:bigint,limit:bigint,name:string,page:bigint,website:string>,results:array<struct<bounds:array<double>,coordinates:struct<latitude:double,longitude:double>,country:struct<code:string,id:bigint,name:string>,datetimeFirst:struct<local:string,utc:string>,datetimeLast:struct<local:string,utc:string>,distance:string,id:bigint,instruments:array<struct<id:bigint,name:string>>,isMobile:boolean,isMonitor:boolean,licenses:string,locality:string,name:string,owner:struct<id:bigint,name:string>,provider:struct<id:bigint,name:string>,sensors:array<struct<id:bigint,name:string,parameter:struct<displayName:string,id:bigint,name:string,units:string>>>,timezone:string>>>
(2) Project [codegen id : 1]
Output [2]: [meta#602.name AS _extract_name#635, results#603]
Input [2]: [meta#602, results#603]
(3) Generate [codegen id : 1]
Input [2]: [_extract_name#635, results#603]
Arguments: explode(results#603), [_extract_name#635], true, [result#631]
(4) Project [codegen id : 1]
Output [4]: [_extract_name#635 AS src#627, result#631.name AS location_name#628, result#631.timezone AS location_timezone#629, substring_index(input_file_name(), /, -1) AS file_name#630]
Input [2]: [_extract_name#635, result#631]
(5) CollectLimit
Input [4]: [src#627, location_name#628, location_timezone#629, file_name#630]
Arguments: 1000