LoginSignup
2
2

More than 5 years have passed since last update.

Hive関数のPARSEとかCONCATのことをよく知らなかったので調べた

Last updated at Posted at 2015-11-24

CONCATはSQLで文字列を連結させる関数なので、例えば

PARSE(CONCAT('http://mixi.jp', url), 'PATH')

みたいのがあったら CONCAT('http://mixi.jp', url)http://mixi.jp/home.pl とかそういうのが入っているってこと。(この場合 url には /home.pl が入っている。)

urlはリクエストURIというのが入っているらしく、/home.plみたいの以外にも /view_bbs.pl?id=XXXXXX&comm_id=XXXXXX みたいなquery stringがくっついたのも一緒に入っていることもある。
ここからパスだけを抜き出したい、クエリだけを抜き出したいという場合にPARSE関数を使う。例えば、直上のquery stringを含んだリクエストURIがurlに入っている場合、パスを取り出すなら↑のようなHiveクエリを書けばいいし、クエリを取り出したいのであれば

PARSE(CONCAT('http://mixi.jp', url), 'QUERY', 'id')

と書けばidの値(XXXXXX)が取得できる。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2