run-export
Section: schedule
Default Value: false
Valid Values: true, false
Changes Take Effect: Immediately
Dependencies: None
Introduced: 8.5.005
Specifies whether Job_ExportGIM will run. When the value of this option is set to true, the scheduler will start and run the job at the time and intervals specified by the export-schedule option.
export-schedule
Section: schedule
Default Value: 20 0/8
Valid Values: A valid CRON expression
Changes Take Effect: Immediately
Dependencies: run-export
Introduced: 8.5.005
Defines the time intervals at which Job_ExportGIM will run. The job will start and then run periodically in accordance with this schedule when the run-export option is set to true. By default, the job runs at 00:20, 08:20, and 16:20 every day.
The default schedule, run in conjunction with the default chunk-size-seconds option in the [gim-export] section, is designed to keep daily disruptions or delays from carrying over to the next day.
Job_ExportGIM can run in conjunction with the ETL jobs, but not in conjunction with Job_MaintainGIM.
The schedule is defined in the format of a CRON expression that represents a set. The expression comprises two fields, which are separated by whitespace:
- The first field specifies minutes. Valid values are 0–59 and optional special characters (see below).
- The second field specifies hours. Valid values are 0–23 and allowed special characters.
The following special characters are allowed in the CRON expression:
- , (comma)—Separates items in a list.
- - (hyphen)—Defines a range.
- * (asterisk)—Indicates that the CRON expression will match for all values of the field.
- / (forward slash)—Describes increments.
use-export-views
Section: gim-export
Default Value: false
Valid Values: true, false
Changes Take Effect: On the next run of Job_ExportGIM
Dependencies: None
Introduced: 8.5.009.20
Controls whether Genesys Info Mart will export data using export views, which represent a snapshot of the Info Mart schema at the time the export views were created.
- false—Genesys Info Mart will export data using the current schema. The export might include schema changes, such as new or renamed tables or columns, that occurred as part of a recent Info Mart migration.
- true—Genesys Info Mart will export data using export views. The export will include the same tables and columns as the previous export(s), regardless of any schema changes resulting from migration(s) that may have occurred in the interim.
About Data Export Capability
Data Export capability is enabled in select Genesys Engage cloud deployments to periodically copy the data that is stored in the Genesys historical database (called the Info Mart database) into local .csv files, so that the data is available for further import into a data warehouse (the target database) for the purpose of archiving or custom reporting. Starting with release 8.5.011.22, Genesys Info Mart supports Data Export in on-premises deployments as well.
The export job, Job_ExportGIM, exports data from fact and dimension tables that are part of the Genesys Info Mart dimensional model and creates a .zip archive containing individual .csv files, one file per database table.
What tables are included in the data export?
The export does not include aggregate (RAA) tables or internal (GIDB_*) tables except for certain configuration tables, as listed below. The fact and dimension tables included in your specific data export depend on the details of your deployment. The following tables are available for export:
- ANCHOR_FLAGS
- ATTEMPT_DISPOSITION
- BGS_BOT_DIM
- BGS_BOT_NAME_DIM
- BGS_SESSION_DIM
- BGS_SESSION_FACT
- CALL_RESULT
- CALLBACK_DIAL_RESULTS
- CALLBACK_DIM_1
- CALLBACK_DIM_2
- CALLBACK_DIM_3
- CALLBACK_DIM_4
- CALLBACK_FACT
- CALLING_LIST_METRIC_FACT
- CALLING_LIST_TO_CAMP_FACT (actualized view)
- CAMPAIGN_GROUP_SESSION_FACT
- CAMPAIGN_GROUP_STATE
- CAMPAIGN_GROUP_STATE_FACT
- CDR_DIM1
- CDR_FACT
- CHAT_SESSION_DIM
- CHAT_SESSION_FACT
- CHAT_THREAD_FACT
- COBROWSE_END_REASON
- COBROWSE_FACT
- COBROWSE_MODE
- COBROWSE_PAGE
- COBROWSE_USER_AGENT
- CONTACT_ATTEMPT_FACT
- CONTACT_INFO_TYPE
- DATE_TIME
- DIALING_MODE
- GPM_DIM1
- GPM_FACT
- GPM_MODEL
- GPM_PREDICTOR
- GPM_RESULT
- GROUP_ANNEX
- GROUP_TO_CAMPAIGN_FACT (actualized view)
- INTERACTION_DESCRIPTOR
- INTERACTION_FACT
- INTERACTION_RESOURCE_FACT
- INTERACTION_RESOURCE_STATE
- INTERACTION_TYPE
- IRF_USER_DATA_CUST_1
- IRF_USER_DATA_GEN_1
- IRF_USER_DATA_KEYS
- IXN_RESOURCE_STATE_FACT
- LDR_CAMPAIGN
- LDR_DEVICE
- LDR_FACT
- LDR_GROUP
- LDR_LIST
- LDR_POSTAL_CODE
- LDR_RECORD
- MEDIA_ORIGIN
- MEDIA_TYPE
- MEDIATION_SEGMENT_FACT
- PLACE_GROUP_FACT (actualized view)
- POST_CALL_SURVEY_DIM_1
- POST_CALL_SURVEY_DIM_2
- POST_CALL_SURVEY_DIM_3
- POST_CALL_SURVEY_DIM_4
- POST_CALL_SURVEY_DIM_5
- POST_CALL_SURVEY_DIM_6
- RECORD_FIELD_GROUP_1
- RECORD_FIELD_GROUP_2
- RECORD_STATUS
- RECORD_TYPE
- REQUESTED_SKILL
- REQUESTED_SKILL_COMBINATION
- RESOURCE_
- RESOURCE_ANNEX
- RESOURCE_GROUP_COMBINATION
- RESOURCE_GROUP_FACT (actualized view)
- RESOURCE_SKILL_FACT (actualized view)
- RESOURCE_STATE
- RESOURCE_STATE_REASON
- ROUTING_TARGET
- SDR_ACTIVITIES_FACT
- SDR_ACTIVITY
- SDR_APPLICATION
- SDR_CALL_DISPOSITION
- SDR_CALL_TYPE
- SDR_CUST_ATRIBUTES
- SDR_CUST_ATRIBUTES_FACT
- SDR_ENTRY_POINT
- SDR_EXIT_POINT
- SDR_EXT_HTTP_REST
- SDR_EXT_REQUEST
- SDR_EXT_REQUEST_FACT
- SDR_EXT_REQUEST_OUTCOME
- SDR_EXT_SERVICE_OUTCOME
- SDR_GEO_LOCATION
- SDR_INPUT
- SDR_INPUT_OUTCOME
- SDR_LANGUAGE
- SDR_MESSAGE
- SDR_MILESTONE
- SDR_SESSION_FACT
- SDR_SURVEY_ANSWERS
- SDR_SURVEY_FACT
- SDR_SURVEY_I1
- SDR_SURVEY_I2
- SDR_SURVEY_QUESTIONS
- SDR_SURVEY_QUESTIONS_I1
- SDR_SURVEY_QUESTIONS_I2
- SDR_SURVEY_QUESTIONS_S1
- SDR_SURVEY_QUESTIONS_S2
- SDR_SURVEY_S1
- SDR_SURVEY_S2
- SDR_SURVEY_SCORES
- SDR_SURVEY_STATUS
- SDR_SURVEY_TRANSCRIPT_FACT
- SDR_USER_INPUT
- SDR_USER_INPUTS_FACT
- SDR_USER_MILESTONE_FACT
- SM_MEDIA_NEUTRAL_STATE_FACT
- SM_RES_SESSION_FACT
- SM_RES_STATE_FACT
- SM_RES_STATE_REASON_FACT
- STRATEGY
- TECHNICAL_DESCRIPTOR
- TIME_ZONE
- USER_DATA_CUST_DIM_1
- USER_DATA_CUST_DIM_2
- WORKBIN
In on-premises deployments the data export will also include custom user-data tables and mappings you added to the Info Mart schema, as described in Preparing Custom User-Data Storage in the Genesys Info Mart Deployment Guide.
In addition to the data from the Genesys Info Mart dimensional model tables, configuration details data is exported from the following tables:
- GIDB_GC_CALLING_LIST
- GIDB_GC_CAMPAIGN
- GIDB_GC_FOLDER
- GIDB_GC_LOGIN
- GIDB_GC_GROUP
- GIDB_GC_PLACE
- GIDB_GC_SKILL
- GIDB_GC_TENANT
- GIDB_GCX_LOGIN_INFO
The output data files are encoded using the UTF8 format by default, but on-premises customers can specify a different character encoding for exported files (see Schedule and other export job settings).
Export views
You can configure Genesys Info Mart so that it exports your data from export views, which represent a frozen snapshot of the Info Mart schema at the time the export views were created. Using export views means that the export will always include the same tables and columns, regardless of any schema changes that may occur as a result of Genesys Info Mart upgrades and database migrations.
The export views include all the tables listed above, including the custom user-data tables you might have created, provided the length of the table name is no more than 26 characters.
Using export views frees you from the need to continually update your target database and consumption queries to ensure consistency with a migrated Info Mart schema. For example, without export views, new columns added to a table that gets exported would break an import query that selects all columns from the exported table, unless you have also added the corresponding columns in the target database.
Be aware that using export views means that the export will not reflect any changes that may have occurred in the Info Mart schema since the export views were created, including deletion or renaming of tables or columns, which might affect how Genesys Info Mart populates certain data.
You can update your export views if you migrate to a later release of Genesys Info Mart and identify that it provides new data that you want to be included in your export. For information about Info Mart schema changes between releases, see New in the Info Mart Database and Summary of Info Mart Schema Changes.
Creating and using export views
To create or update export views for your on-premises deployment, run the migration job from the command line with the make-export-views parameter. For example:
gim_etl_server.bat -host localhost -port 8000 -app <app> -job Job_MigrateGIM -make-export-views
Genesys Info Mart will create export views of the schema that was in effect before the migration job was run.
After you have created export views, set the use-export-views configuration option to true. Future runs of the export job will use the export views to export data.
Schedule and other export job settings
The export job does not run as part of the ETL schedule. Configuration options in the [schedule] section—namely, export-schedule and run-export—enable you to schedule the export job to run regularly. You cannot run the export job on an ad hoc basis from GIM Manager. By default, the export runs at 00:20, 08:20, and 16:20 every day. Genesys rercommends that the export schedule should not be any more frequent than every 30 minutes.
Options in the [gim-export] section enable you to control many aspects of Job_ExportGIM functioning, such as the export chunk size, retry behavior, and export file encoding. For full information, see the gim-export Section page in the Genesys Info Mart Options Reference.
File/directory structure
The export is incremental and uses special audit keys to identify changes in data since the last export. At each export, a chunk of exported data is written into a separate folder that is named according to the following naming convention: export_XXX
where XXX consists of:
- an audit key identifier (audit key high-water mark)
- the maximum date of data contained in all previous exports and this export, in GMT time zone, written in the YYYY_MM_DD_HH_MI_SS format.
The output folder contains several .zip files, as follows:
- export_XXX.zip — zip file with exported data. Each table is stored in a separate file with a file name in the format <table-name>.csv—for example, interaction_fact.csv. Within a .csv file, a header line identifies the table column names. Note that, within the exported .csv files, nulls and empty strings are represented as empty fields.
- export_XXX.zip.sha1 — checksum for export_XXX.zip. The checksum can be validated by sha1sum program (https://en.wikipedia.org/wiki/Sha1sum) and is used to verify that the .zip file is complete on the receiving side.
- export_XXX.extracted.xml — metadata about export_XXX.zip.
Checksums are also generated for each individual table .csv file. If a table does not have any changes since the last export, nothing is written for that table.
Export metadata file
The export_XXX.extracted.xml metadata file includes information about the export file, as shown in the example below.
Example
<info>
<created-ts>1521091600</created-ts>
<gim-schema-version>8.5.009.15</gim-schema-version>
<gim-version>8.5.009.20</gim-version>
<hwm-from audit-key="13" created-ts="1520919983"/>
<hwm-to audit-key="200074" created-ts="1520995485"/>
<max-data-ts>1521006157</max-data-ts>
</info>
Where:
- created-ts — The UTC timestamp, in seconds since January 1, 1970, for the execution of the export.
- gim-schema-version — The version of the Info Mart database schema used to populate the tables; if export views are used, this schema version is not necessarily the same as the schema version reflected by the export views and actually used for the export.
- gim-version — The version of Genesys Info Mart Server that created the export files.
- hwm-from — The starting point of the data in the export by audit key and the create time, in UTC seconds, of that audit key.
- hwm-to — The ending point of the data in the export by audit key and the create time, in UTC seconds, of that audit key.
- max-data-ts — The maximum time, in UTC seconds, of the data contained in all previous exports and this export.
The hwm-to and hwm-from values must match between successive export runs. Use them to verify that no intermediate export file has been missed on the receiving side. For example, the next export following the example .xml file above is supposed to have hwm-from audit-key = 200074.
The maximum time span of data in any single export file is one day. For example, if historical reporting was not available for two days (because, for instance, the server or database has been down), the export will continue from the last exported high-water mark and move ahead one day in the data. The next export will continue from there, exporting no more than one day at a time, until the export has caught up with the current data.
Target database
Genesys provides an SQL script to assist you in creating a target schema into which to import the exported Info Mart data. (The script is update_target_gim_db.sql, update_target_gim_db_partitioned.sql, update_target_gim_db_multilang.sql, or update_target_gim_db_multilang_partitioned.sql in the sql_scripts folder in your Genesys Info Mart installation package.) Execute the script against your target database to create a schema consistent with the Info Mart schema. Be sure to use an update_target_*.sql script from the Genesys Info Mart installation package that is currently installed or that you are about to deploy.
You can also use the script to migrate your target database if the Info Mart database schema changes after you have set up your target database, and either you are not using export views or your export views have been updated to include the schema changes. The update_target_*.sql script enables you to migrate your target database directly from any Info Mart schema version to any later schema version, by updating the target schema with new tables or columns if they are missing.
When to run the update_target_*.sql script to migrate your target schema following an Info Mart migration depends on your business needs, import processing, and consumption queries, as well as on whether you are using export views.
- If you are not using export views, you might need to update your target schema and/or modify your import and other consumption queries almost immediately, before you try to import the next batch of exported data.
- If you are using export views, you can choose whether you want your export to include new data available in the Info Mart database. If you do, you can continue to export data using the existing export views, while you prepare your consumption queries (for example, you can test adjusted queries against the migrated Info Mart database).
- When you are ready, migrate your target schema by executing the update_target_*.sql script from the Genesys Info Mart installation package that is currently installed. Then run the migration job to refresh your export views, as described above.
Custom user-data tables—limitation
While the export job does export custom user-data tables, the update_target_*.sql script does not include custom tables. You must create or migrate custom user-data tables separately in your target schema.
Consumption
The exported table data typically contains a mix of created and updated rows. For this reason, you should merge newly exported data with existing data loaded from prior exports. For example, first, load the export files into a temporary table and then use an SQL merge statement based on the primary key for the table to merge the data into a permanent target table that holds the cumulative data from prior exports.
Process the export folders in order by folder name.
If necessary, you can restart the export data stream from the beginning or from a fixed date. Also, you can re-export a time span backwards from the most recent export.