add notes about schema and table extraction
This commit is contained in:
		
							parent
							
								
									3c4d9772bb
								
							
						
					
					
						commit
						e354d6c2b8
					
				
							
								
								
									
										35
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								readme.md
									
									
									
									
									
								
							| @ -74,7 +74,11 @@ source definition | |||||||
|             * build an import log |             * build an import log | ||||||
|             * run maps (as opposed to relying on trigger) |             * run maps (as opposed to relying on trigger) | ||||||
| * **read data** | * **read data** | ||||||
|     * top level key to table as type? |     * the `schema` key contains either a text element or a text array in curly braces | ||||||
|  |         * forcing everything to extract via `#>{}` would be cleaner but may be more expensive than `jsonb_populate_record` | ||||||
|  |         * it took 5.5 seconds to parse 1,000,000 rows of an identicle google distance matrix json to a 5 column temp table | ||||||
|  |     * top level key to table based on `jsonb_populate_record` extracting from `tps.type` developed from `srce.defn->schema` | ||||||
|  |     * custom function parsing contents based on #> operator and extracting from `srce.defn->schema` | ||||||
|     * view that `uses the source definiton` to extrapolate a table? |     * view that `uses the source definiton` to extrapolate a table? | ||||||
|     * a materialized table is built `based on the source definition` and any addtional regex? |     * a materialized table is built `based on the source definition` and any addtional regex? | ||||||
|         * add regex = alter table add column with historic updates? |         * add regex = alter table add column with historic updates? | ||||||
| @ -87,17 +91,34 @@ source definition | |||||||
|     "source":"client_file", |     "source":"client_file", | ||||||
|     "loading_function":"csv" |     "loading_function":"csv" | ||||||
|     "constraint":[ |     "constraint":[ | ||||||
|         "{date}", |         "{doc}" | ||||||
|         "{doc,origin_addresses,0}" |  | ||||||
|     ], |     ], | ||||||
|  |     "schema_type":"JSONB_POPULATE", | ||||||
|     "table_schema":[ |     "table_schema":[ | ||||||
|         { |         { | ||||||
|             "top_level_key":"column"name", |             "path":"{doc,origin_addresses,0}", | ||||||
|             "type":"numeric" |             "type":"text", | ||||||
|  |             "column_name":"origin_address" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "top_level_key":"column"name", |             "path":"{doc,destination_addresses,0}", | ||||||
|             "type":"numeric" |             "type":"text", | ||||||
|  |             "column_name":"origin_address" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "path":"{doc,status}", | ||||||
|  |             "type":"text", | ||||||
|  |             "column_name":"status" | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             "path":"{doc,rows,0,elements,0,distance,value}", | ||||||
|  |             "type":"numeric", | ||||||
|  |             "column_name":"distance" | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             "path":"{doc,rows,0,elements,0,duration,value}", | ||||||
|  |             "type":"numeric", | ||||||
|  |             "column_name":"duration" | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user