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_datetime 、end_datetime 、 location )はキーから除外されます |
db_conn |
psycopg2のDB接続ハンドル |
復帰値
パラメータ設定例
パラメータ |
例 |
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)
戻る