2016 · 11 citations · 12 references
ComputingComputer ScienceComputer SystemsData MiningDatabasesDistributed SystemsDistributed ComputingDistributed Data ProcessingNearest Neighbor SearchQuery ProcessingSnapshot ManagementStream ProcessingDistributed Join AlgorithmsIncremental SnapshotsJoin AlgorithmsK-nearest NeighborsLarge-scale Data ProcessingMapreduceMapreduce AlgorithmsSnapshot Algorithms
The kNN join problem, denoted by R × <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">KNN</sub> S, is to find the k nearest neighbors from a given dataset S for each point in the query set R. It is an operation required by many big data applications. As large volume of data are continuously generated in more and more real-life cases, we address the problem of monitoring kNN join results on data streams. Specifically, we are concerned with answering kNN join periodically at each snapshot which is called snapshot kNN join. Existing kNN join solutions mainly solve the problem on static datasets, or on a single centralized machine, which are difficult to scale to large data on data streams. In this paper, we propose to incrementally calculate the kNN join results of time t <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> from the results of snapshot t <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i-1</sub> . Typically, for the data continuously generated on the data stream, we can get S <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> = S <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i-1</sub> + ΔS <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> for the valid datasets of adjacent snapshots, where ΔS <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> denotes the updated points between time t <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i-1</sub> and t <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> . Our basic idea is to first find the queries in R whose kNN results can be affected by the updated points in ΔS <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> , and then update the kNN results of these small part of queries respectively. In this way, we can avoid calculating the kNN join results on the whole dataset S <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> in time t <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</sub> . We propose an implementation of searching for affected query points in MapReduce to scale to large volume of data. In brief, the mappers partition the datasets into groups, and the reducers search for affected queries separately on each group of points. Furthermore, we present the enhanced strategies of data partitioning and grouping to reduce the shuffling cost and computational cost. Extensive experiments on real-world datasets demonstrate that proposed methods are efficient, robust, and scalable.
12
Influence sets based on reverse nearest neighbor queries
Flip Korn, S. Muthukrishnan · ACM SIGMOD Record · 2000 · 517 citations · Full text
Efficient parallel set-similarity joins using MapReduce
Rares Vernica, Michael J. Carey, Chen Li · 2010 · 456 citations
Efficient parallel kNN joins for large data in MapReduce
Chi Zhang, Li Fei-Fei, Jeffrey Jestes · 2012 · 251 citations
Efficient processing of k nearest neighbor joins using MapReduce
Wei Lü, Yanyan Shen, Su Chen et al. · Proceedings of the VLDB Endowment · 2012 · 244 citations