以下の例では、Pythonの組み込みモジュールを使用して、WebサイトのURL問合わせ文字列からJSONオブジェクトを作成します。これは、JSONデータ型を使用した問合わせが可能になるように、Web URLデータをJSONに変換する場合に有用です。
スクリプトには、Pythonバージョン2.6以降がシステムにインストールされていることが必要になります。
‘urltojson.py’ Pythonスクリプト:
#!/usr/bin/python import sys import json import urlparse for line in sys.stdin: print json.dumps(urlparse.parse_qs(urlparse.urlparse(line.rstrip(' \n')).query))
スクリプトをインストールし、サンプル データで実行するSQL:
DATABASE mytestdb; create table sourcetab(url varchar(10000)); ins sourcetab('https://www.google.com/finance?q=NYSE:TDC'); ins sourcetab('http://www.ebay.com/sch/i.html?_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xteradata+merchandise&_nkw=teradata+merchandise&_sacat=0&_from=R40'); ins sourcetab('https://www.youtube.com/results?search_query=teradata%20commercial&sm=3'); ins sourcetab('https://www.contrivedexample.com/example?mylist=1&mylist=2&mylist=...testing'); -- This assumes that urltojson.py is in the current directory. call sysuif.replace_file('urltojson', 'urltojson.py', 'cz!urltojson.py', 0); set session searchuifdbpath=mytestdb; select cast(JSONresult as JSON) from SCRIPT( ON(select url from sourcetab) SCRIPT_COMMAND('./mytestdb/urltojson.py') RETURNS(' JSONresult VARCHAR(10000)') );
結果:
JSONresult ---------------------------------------------------------------------------------------- {"q": ["NYSE:TDC"]} {"mylist": ["1", "2", "...testing"]} {"_from": ["R40"], "_trksid": ["p2050601.m570.l1313.TR0.TRC0.H0.Xteradata merchandise"], "_nkw": ["teradata merchandise"], "_sacat": ["0"]} {"search_query": ["teradata commercial"], "sm": ["3"]}