  As one of the most useful online processing techniques, the theta-join
operation has been utilized by many applications to fully excavate the
relationships between data streams in various scenarios. As such, constant
research efforts have been put to optimize its performance in the distributed
environment, which is typically characterized by reducing the number of
Cartesian products as much as possible. In this article, we design and
implement a novel fast theta-join algorithm, called Prefap, by developing two
distinct techniques - prefiltering and amalgamated partitioning-based on the
state-of-the-art FastThetaJoin algorithm to optimize the efficiency of the
theta-join operation. Firstly, we develop a prefiltering strategy before data
streams are partitioned to reduce the amount of data to be involved and benefit
a more fine-grained partitioning. Secondly, to avoid the data streams being
partitioned in a coarse-grained isolated manner and improve the quality of the
partition-level filtering, we introduce an amalgamated partitioning mechanism
that can amalgamate the partitioning boundaries of two data streams to assist a
fine-grained partitioning. With the integration of these two techniques into
the existing FastThetaJoin algorithm, we design and implement a new framework
to achieve a decreased number of Cartesian products and a higher theta-join
efficiency. By comparing with existing algorithms, FastThetaJoin in particular,
we evaluate the performance of Prefap on both synthetic and real data streams
from two-way to multiway theta-join to demonstrate its superiority.
