timehash

Module to encode and decode timestamps to/from TimeHashes


Keywords
timehash, datetime, time, golang, java, perl, python
License
Other
Install
pip install timehash==1.2

Documentation

timehash

About

timehash is an algorithm (with multiple reference implementations) for calculating variable precision sliding windows of time. When performing aggregations and correlations on large-scale data sets, the ability to convert precise time values into 'malleable intervals' allows for many novel analytics.

Using sliding windows of time is a common practice in data analysis but prior to the timehash algorithm it was more of an art than a science.

timehash-shaded-partial.png

Features

  • convert epoch miliseconds into an interval of time, depicted by an ASCII character 'hash' (a 'timehash')
  • timehash values are well suited to referencing time intervals in key-value stores (e.g. Hbase, Acculumo, Redis)
  • The creation of a compound key of space and time (e.g. geohash_timehash) is a powerful primitive for understanding geotemporal patterns

Implementations

Usage

Example of calculating a timehash value in python:

import timehash
import time

rightnow = time.time()
rightnow60 = rightnow + 60.0

rightnow_hash = timehash.encode(rightnow, precision=10)
rightnow60_hash = timehash.encode(rightnow60, precision=10)

print 'timehash of right now: %s' % rightnow_hash
print 'timehash of now +60s: %s'% rightnow60_hash

% timehash of right now: ae0f0ba1fc
% timehash of now +60s: ae0f0baa1c

License

Modified BSD License

Contact