1. Registering Data Loader
Python API
- register_loader( loader_name, loader_exec_path, table_name, record_def, db_conn )
Parameters
Parameter |
Details |
loader_name |
data loader name |
loader_exec_path |
execution file path of data loader |
table_name |
event table name |
datadir_root |
root directory path to store data |
record_def |
Record definition associative array with column name as key and data type as value. Required columns (start_datetime , end_datetime , location ) are excluded from the key. |
db_conn |
database connection handle object of psycopg2 |
Return values
Sample parameter settings
Parameter |
Samples |
loader_name |
'soramame_loader' |
loader_exec_path |
'/home/evwh/rt-loader/bin/aerosol_soramame_loader.sh' |
table_name |
'event.aerosol_soramame' |
datadir_root |
/bidalfs/data/test/soramame/ |
record_def |
{"so2": 'double_precision', "ox": 'integer'} |
db_conn |
(connection object) |
Notes
- Record difinition must be event data format. See 7. Remarks for details about the event data format.
Sample source code
# DB connection
db = PostgreSQL(ini_info['DB_EVWH']['database'], ini_info['DB_EVWH']['user'], ini_info['DB_EVWH']['password'], ini_info['DB_EVWH']['host'], ini_info['DB_EVWH']['port'])
db_conn = db.connect()
# Parameters settings to register data loader
loader_name = 'soramame_loader'
loader_exec_path = '/home/evwh/src/rt_loader/bin/aerosol_soramame_loader.sh'
table_name = 'event.aerosol_soramame'
datadir_root = '/bidalfs/data/test/soramame/'
# Record difinition
record_def = OrderedDict()
record_def['so2'] = 'double precision'
record_def['no'] = 'double precision'
record_def['no2'] = 'double precision'
record_def['nox'] = 'double precision'
record_def['co'] = 'double precision'
record_def['ox'] = 'double precision'
record_def['nmhc'] = 'double precision'
record_def['ch4'] = 'double precision'
record_def['thc'] = 'double precision'
record_def['spm'] = 'double precision'
record_def['"pm2.5"'] = 'double precision'
record_def['sp'] = 'double precision'
record_def['ws'] = 'double precision'
record_def['temp'] = 'double precision'
record_def['hum'] = 'double precision'
record_def['wd'] = 'character varying'
# Register data loader
ret = register_loader(loader_name, loader_exec_path, table_name, datadir_root, record_def, db_conn)
back