Table of Contents |
---|
...
Stage Number | Stage | Category | Summary | Environment | Iterations | Estimated Person Time | Estimated Computer Time |
---|---|---|---|---|---|---|---|
1 | Import and parse reference dataset (Optional) | Parsing | This optional step in the Bulk Loader process is to cross check an address for a match in a reference data set. If a source address is found in the reference dataset the address makes it to the next step. If not found the address is put aside in an exclusion set for later review. | Once per Bulk Loader process | 1 hour | 10 minutes | |
2 | Import, parse and filter source dataset | Parsing | Import the dataset destined for the EAS. Parse and filter the set. | Once per Bulk Loader process | 90 minutes | 15 minutes | |
Geocode and filter | Geocoding | Geocode the set and filter further based on the geocoder score and status. | ArcMap | Once per Bulk Loader process | 1 hour | 5 minutes | |
4 | Export full set (single batch) or subset (multiple batches) | Geocoding | For large datasets, create one of many subsets that will be run through the Bulk Loader in multiple batches. | ArcMap | One or more batches for each Bulk Loader process | 30 minutes per batch | 5 minutes per batch |
5 | Bulk Load batch (full set or subset) | Bulk Loading | Run the entire batch or each subset batch through the Bulk Loader. | One or more batches for each Bulk Loader process | 1 hour per batch | 5 minutes per batch | |
6 | Extract results | Bulk Loading | Extract and archive the list of addresses that were added to the EAS . Also archive the unique EAS 'change request id' associated with this batch. Also archive the addresses that were rejected by the Bulk Loader in this batch. | PostgreSQL / pgAdmin | One or more batches for each Bulk Loader process | 1 hour per batch | 5 minutes per batch |
7 | Cleanup and Restoration | Bulk Loading | Clean up database, restore services and in the event of a failure, restore from backup. | PostgreSQL / pgAdmin | One or more batches for each Bulk Loader process | 1 hour per batch | 5 minutes per batch |
...
Anchor | ||||
---|---|---|---|---|
|
This optional stage is run once per Bulk Loader process. This stage can be skipped if the reference dataset is already available or if the optional 'filter by reference' step (Step 2.5) is skipped.
...
Anchorstage3 stage3
Stage 3 - Geocode and filter
stage3 | |
stage3 |
-
Step 3.1 - Geocode source dataset
...
Anchorstage4 stage4
Stage 4 - Export full set (single batch) or subset (multiple batches)
stage4 | |
stage4 |
Note | ||
---|---|---|
| ||
Stages 4, 5 and 6 can be run one time with the results from Stage 3, or they can be run in multiple batches of subsets. A major consideration of when to run the full set at once versus in batches is the number of records being Bulk Loaded. The size of each Bulk Loader operation affects the following aspects of the EAS:
For medium-to-large datasets (input sets with over 1,000 records) it is recommended that the process first be run on a development server to assess the implications of the operation. Where appropriate, perform the Bulk Loading process in batches over several days or weeks. The remaining steps will document a single batch example iteration of a multi-batch process. |
...
Anchorstage5 stage5
Stage 5 - Run the Bulk Loader
stage5 | |
stage5 |
For a complete set of steps and background about the Bulk Loader, see also Running the Bulk Loader, a page dedicated to its input, operation and results.
...
Make note of the database partition size on the file system. Compre with size of partition prior to loading to get the total disk space used as a result of running the Bulk Loader.
Code Block language bash firstline 1 title disk usage linenumbers true df /data
Make note of EAS record counts after the Bulk Load operation.
Code Block language sql firstline 1 title Record Counts linenumbers true SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY schemaname,relname,n_live_tup
- Save results as artifact record-counts-after.csv
- Also save results in Excel spreadsheet artifact as bulkloader_results_YYYYMMDD.xlsx
In the spreadsheet, calculate the difference between the 'before' and 'after' record counts. The results will indicate the number of new base addresses added to the table `public.address_base` and the number of new addresses and units added to the table `public.addresses`.
See dedicated Bulk Loader page, Running the Bulk Loader, for more analysis options.
Make note of then remove records from the
bulkloader.blocks_nearest
table and then make note of the disk usage once again:Code Block language sql linenumbers true SELECT COUNT(*) FROM bulkloader.blocks_nearest;
Code Block language sql linenumbers true TRUNCATE bulkloader.blocks_nearest;
Code Block language sql linenumbers true VACUUM FULL ANALYZE bulkloader.blocks_nearest;
ArtchiveCode Block language bash linenumbers true df /data
bulkloader.address_extract
table.Query all records and save as artifact address_extract.csv
Code Block language sql firstline 1 title Count/view new base addresses linenumbers true SELECT * FROM bulkloader.address_extract;
Query subtotals and save as artifact exception_text_counts.csv
Code Block language sql firstline 1 title Count/view unit addresses linenumbers true SELECT exception_text, Count(*) FROM bulkloader.address_extract GROUP BY exception_text ORDER BY exception_text;
Query all exception text records and save as artifact exception_text.csv
Code Block language sql firstline 1 title Count/view new base addresses linenumbers true SELECT * FROM bulkloader.address_extract WHERE NOT(exception_text IS NULL) ORDER BY exception_text, id;
Anchor stage6 stage6 Stage 6 Anchor stage6 stage6
Stage 6 - Extract results
stage6 | |
stage6 |
-
Step 6.1 - Archive exceptions
Info | ||
---|---|---|
| ||
The Bulk Loader operation in Stage 5 populated an EAS table named If any errors occurred on a given address during the load, the Bulk Loader populated the |
- Archive the entire
address_extract
table.Use a query tool such as pgAdmin to query and save the table as a CSV file.
Code Block language sql firstline 1 title bulkloader.address_extract linenumbers true SELECT * FROM 'bulkloader.address_extract';
- Save the file in the network folder dedicated to artifacts for the Bulk Loader iteration.For example, R:\Tec\..\Eas\_Task\path\to\archive\bulkloader_YYYYMMDD\bulkloader\batch_002\dedicated to artifacts for the Bulk Loader iteration.
- Save as artifact address_extract.csv
- Archive the addresses that raised exceptions during the Bulk Loader runQuery the
'bulkloader.address_extract'
table for any value in the'exception_text'
field.processQuery subtotals and save as artifact exception_text_counts.csv
Code Block language sql firstline 1 title Count/view unit addresses linenumbers true SELECT exception_text, Count(*) FROM bulkloader.address_extract GROUP BY exception_text ORDER BY exception_text;
Query all exception text records and save as artifact exception_text.csv
Save the file in the network folder dedicated to artifacts for the Bulk Loader iteration.For example,Code Block language sql firstline 1 title exception_textCount/view new base addresses linenumbers true SELECT * FROM bulkloader.address_extract WHERE NOT(exception_text IS NULL) ORDER BY exception_text;
R:\Tec\..\Eas\_Task\path\to\archive\bulkloader_YYYYMMDD\bulkloader\batch_002\exceptions.csv
, id;
- Artifacts
- address_extract.csv - Results of every address submitted to the Bulk Loader.
- exception_text_counts.csv - Counts of the records that were not loaded due to the error indicated in the
'exception_text
' field. - exception_text.csv - Subset of the just the records that were not loaded due to the error indicated in the
'exception_text
' field.
-
Step 6.2 - Archive unique EAS
change_request_id
associated with the Bulk Load
...
- If the Bulk Loader Process was run on the production server then restore services
SKIP
Turn on production-to-replication serviceRe-enable database replication by restarting the database service on the replication server (DR PROD DB).Code Block language bash title Stop PostgreSQL linenumbers true sudo -u postgres -i /usr/pgsql-9.0/bin/pg_ctl -D /data/9.0/data start
SKIP
Turn on downstream database propagation service(s)Resume downstream replication to internal business system database (SF PROD WEB).Code Block language text firstline 1 title start xmit sudo /var/www/html/eas/bin/xmit_change_notifications.bsh start
Enable front-end access to EAS
Place the Web servers into live mode (SF PROD WEB, DR PROD WEB).
Code Block language bash linenumbers true cd /var/www/html sudo ./set_eas_mode.sh LIVE
...