Skip to content

1. データローダの登録

Python API

  • register_loader( loader_name, loader_exec_path, table_name, record_def, db_conn )

パラメータ

パラメータ 詳細
loader_name ローダ名
loader_exec_path ローダ実行パス
table_name イベントテーブル名
datadir_root データ格納ルートディレクトリ名
record_def カラム名をキー、データ型を値とするレコード定義の連想配列。 必須カラム( start_datetimeend_datetimelocation)はキーから除外されます
db_conn psycopg2のDB接続ハンドル

復帰値

詳細
0 登録成功
0未満 登録失敗
詳細は 4. エラーコード一覧を参照。

パラメータ設定例

パラメータ
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 psycopg2のDB接続ハンドル

特記事項

  • レコード定義はevent.event形式のみサポートする。 詳細は7.特記事項 を参照。

サンプルソース

  # DB接続  
  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()  

  # データローダ登録パラメータ設定  
  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_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'  

  # データローダ登録  
  ret = register_loader(loader_name, loader_exec_path, table_name, datadir_root, record_def, db_conn)  

戻る