Sort by Regex

Posted on Posted in Coding

Rax string reduction, /cat(), on the IMPALA backend was not trivial to implement. The IMPALA documentation states: GROUP_CONCAT … does not support the OVER clause, … Effectively this means no ORDER BY on GROUP_CONCAT in IMPALA. This must be implemented eventually, because the whole GROUP_CONCAT has limited use without it. Meantime, regexes can be used […]

Unveiling the online journey with Rax

Posted on Posted in Customer Journey

Introduction It is generally believed that there is a lot of valuable information hidden in people’s online-behavior data. By uncovering patterns in this behaviour, we could possibly achieve better segmentation and ad targeting, better website personalization, etc. However, looking for patterns in the (online) behavioral data is not easy. It requires being able to handle […]

Rax 1.1 released

Posted on Posted in Rax

We are happy to announce that Rax 1.1 is avalaible from today! This release contains many stability and performance improvements. Most importantly: Added r’years and a’weeks magic tags to relative duration. Added a sample \ operator for sets: some_set\10 will list random 10 elements of some_set. In explorative analytics scenarios this is handy as it’s […]

R comes to SQL Server

Posted on Posted in Rax, SQL Rants

Database vendors understand that SQL, while great for simple queries, is not a good enough interface for complex analytics. Here at Coders’Co. we would say: use Rax :-). Since R so popular among data scientists, though, many database vendors attempt to somehow integrate R into their technology. This post is the beginning of a series […]

Sessionization with Temporal Union

Posted on Posted in Big-Data Blab, Rax

A common problem in web analytics is sessionization or session reconstruction: taking a series of user events and splitting the series into a set of sessions [1]. Often, it is done based solely on the timestamps of the events: a session ends after a certain time of user inactivity. As an example, let’s take the […]

Welcome Snowflake

Posted on Posted in Big-Data Blab, Coding, Rax

Snowflake Computing has recently emerged from stealth with a bold claim of having reinvented the data warehouse. Ease of use is their main motto and I dare to say they live up to this promise. Since one of Snowflake’s co-founders, Marcin ┼╗ukowski, is a good friend of mine, I’ve got a chance to play with […]

A Different Kind of Easy

Posted on Posted in Coding, Cool Bugs

Putting into words when something will happen is easier than calculating it. This is nothing new. Since 325 CE, Christian Easter falls on “the Sunday after the ecclesiastical full moon.” Easy words for hard numbers. Even “next business day shipping ” can be hard to crunch. To a human it is easy; “Tomorrow is New […]

Whorfianism

Posted on Posted in Coding, The Company

The Sapir-Whorf hypothesis (or principle of linguistic relativity) holds that language affects its speakers cognitive process and world view (neo-Whorfianism). Some hold this true even for programming languages, assuming coding in some language implies thinking in that language. K.E. Iverson, inventor of APL, argued that more powerful notations aided alogorithmic thinking (ACM Turing Award Lecture). […]

Rax/MySQL vs. Rax/Azure vs. Rax/Redshift

Posted on Posted in Coding, Rax, SQL Rants

Our SQL-backend family is contantly growing. Rax could already connect to SQLite, MySQL and PostgreSQL databases. Now we have also ported Rax to two major cloud databases: Microsoft Azure and AWS Redshift. The port to Azure gave us some headache due to problems with their ODBC driver for Linux. The port to Redshift was straightforward, […]

Write Once, Run Everywhere – Rax SQL Backends

Posted on Posted in Big-Data Blab, Coding, Rax, SQL Rants

Rax is running atop an SQL-based relational database backend, translating data-heavy operations into SQL queries. Actually, there are several SQL backends that Rax can use. Rax syntax and functionality are not dependent on the backend used. In other words, Rax/Redshift can execute exactly the same Rax code as Rax/MySQL and Rax/Azure. The subtle differences between […]