以下の例では、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"]}