LoginSignup
6
7

More than 5 years have passed since last update.

hiveのparse_urlについてまとめてみた

Last updated at Posted at 2017-04-24

はじめに

サイトのアクセス解析をするときに、urlを解析して、ドメインやクエリ文字列を使用したい場合がある。
そのときによく使うparse_urlという関数についてまとめてみた。

HOST

ドメインが取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST')
⇒ domain1.com

PATH

ドメインより後ろのPathが取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'PATH')
⇒ /path1/p.php

QUERY

クエリ文字列が取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY')
⇒ k1=v1&k2=v2

keyを指定すればその文字列を取得することもできる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY', 'k1')
⇒ v1

TreasureDataであれば以下の関数を利用してデコードをすることもできる
td_url_decode(parse_url('http://domain1.com/path1/p.php?k1=%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a&k2=v2#Ref1', 'QUERY', 'k1'))
⇒ あいうえお

REF

ラベルが取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'REF')
⇒ Ref1

PROTOCOL

プロトコルが取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'PROTOCOL')
⇒ http

FILE

PATH + QUERYが取得できる
parse_url('http://domain1.com/path1/p.php?k1=v1&k2=v2#Ref1', 'FILE')
⇒ /path1/p.php?k1=v1&k2=v2

6
7
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
6
7