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 | |
3 | Geocode and filter | Geocoding | Geocode the set and filter further based on 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 many 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 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 | seconds |
...
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 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 1000 records) it is recommended to run the process on a development server and 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 one 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.
Step 5.1 - Bulk Loader Preparation
Transfer the bulkload.shp shapefile from previous step to an EAS automation machine,
<environment>_AUTO
.Substitute
<environment>
with one of the relevant environments: SF_DEV, SF_QA, SF_PROD, SD_PROD.
Copy the shapefile to the folder
C:\apps\eas_automation\app_data\data\bulkload_shapefile
.Connect to the database,
<environment>_DB
, and clear any leftover records from previous Bulk Loader batches.TRUNCATE bulkloader.address_extract, bulkloader.blocks_nearest;
VACUUM FULL ANALYZE bulkloader.address_extract
;VACUUM FULL ANALYZE bulkloader.blocks_nearest;
Make note of EAS record counts before the Bulk Loading 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
Step 5.2 - Halt Services (production only)
Place EAS web application into maintenance mode
Turn off the replication server
- See also Replication Setup
Turn off downstream database propagation service(s)
Step 5.3 - Backup Database
- Make a backup of the EAS database
- See also Backup the EAS Databases
Step 5.4 - Run Bulk Loader
- Open a command prompt and change folders:
cd C:\apps\eas_automation\automation\src
Run the step to stage the address records:
python job.py --job stage_bulkload_shapefile --env SF_DEV --action EXECUTE --v
Run the step to bulk load the address records:
python job.py --job bulkload --env SF_DEV --action EXECUTE --v
To calculate the time it took to run the Bulk Loader look at the timestamps in the output or use a stopwatch or clock to time the operation.
Step 5.3 -
AnalysisAnchor analysis analysis
- Query and make note of totals in the
bulkloader.address_extract
table. The results here will be used to cross check the results in the next stage.Count/view new base addresses added to the EAS.
Code Block language sql firstline 1 title Count/view new base addresses linenumbers true SELECT COUNT(*) FROM bulkloader.address_extract WHERE NOT (street_segment_id IS NULL) SELECT * FROM bulkloader.address_extract WHERE NOT (street_segment_id IS NULL)
Count/view unit addresses (some were already there, some are new)
Code Block language sql firstline 1 title Count/view unit addresses linenumbers true SELECT COUNT(*) FROM bulkloader.address_extract WHERE NOT (address_id IS NULL) SELECT * FROM bulkloader.address_extract WHERE NOT (address_id IS NULL)
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
A comparison of 'before' and 'after' record counts 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.
Anchorstage6 stage6
Stage 6 - Extract results
stage6 | |
stage6 |
-
Step 6.1 - Archive exceptions
...