Skip to content

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

Value Details
0 addition successed
less than 0 addition failed
See 7. List of Error Codes for details.

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