Skip to content

Redshift Python library for user agent detection (browsers, devices, etc) and parsing via UDFs

Notifications You must be signed in to change notification settings

ajlai/uap-redshift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uap-redshift

Redshift python library for user agent detection, using uap-python (https://github.com/ua-parser/uap-python). Built using Github Actions.

Installing

CREATE OR REPLACE LIBRARY uap_python LANGUAGE plpythonu
  FROM 'https://github.com/ajlai/uap-redshift/releases/download/0.10.0/uap-redshift.zip';

See http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_LIBRARY.html for more documentation on installing custom python modules in redshift.

See https://github.com/ajlai/uap-redshift/releases for which versions of uap-python are available.

Usage

-- set up a UDF for what you want extracted from the user_agent
CREATE OR REPLACE FUNCTION parse_ua_family (ua VARCHAR)
RETURNS VARCHAR IMMUTABLE AS $$
  from ua_parser import user_agent_parser
  return user_agent_parser.ParseUserAgent(ua)['family']
$$ LANGUAGE plpythonu;

-- Use UDF to start parsing user agents
SELECT parse_ua_family('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36')
--> Chrome