## 4 Results
### Time Performance of \(k\)-Anonymity Set
#### 4.2.1 Impact of Data Size  
In this subsection, the impact of data size in terms of the number of mobile objects \(N\) in Figure 5 and storage size in MB in Figure 6 with or without the aid of an \(R\)-Tree indexing on the computation time of the \(k\)-anonymity set are investigated. According to results in Tables 7-9, we observe that the use of indexing does not impact the total execution time of involved spatial \(k\)-NN queries. This happens due to the fact that GeoSpark caches the spatial RDD along with the corresponding indexes in each timestamp. Hence, for the upcoming mobile objects, it directly reads spatial PointRDD and index from the cache, in this way leading to time saving. It should be also noted that in each timestamp, all objects use the same (partitioned or not) PointRDD, which changes in the upcoming timestamps for all the objects.  
Figure 4: An Overview of 40 Trajectories through Zeppelin.  
Figure 5: Time Cost for \(k\)-Anonymity Set Computation with or without Indexing for \(N=80,500,2000\) Mobile Objects.  
In terms of total execution time, as shown in Figure 5 including the time for index building on PointRDD, GeoSpark without index shows approximately similar search time performance as in the indexed version. Also, the execution time of a \(k\)-NN query in GeoSpark remains constant for different values of \(k\) in each case. That is mainly considered when the value of \(k\) is very small with respect to the input data and thus, most of the time is spent on input data processing. The time cost of loading data from csv to dataframe is 42 s whereas it is included in the total execution time.  
Figure 6 illustrates the total execution time relative to the total input data size in executor in MB, which seems to increase in a non-linear way.  
Ultimately, in Figure 7 let us focus only on higher number of mobile objects in order to understand the impact of data scalability in the time performance of the proposed approach for the \(k\)-anonymity set computation assuming 2-dimensional (\(2D\)) points RDD for 10 consecutive timestamps. Indeed, it seems to approach exponential increase which for actual Big Data will be more apparent.  
\begin{table}
\begin{tabular}{l l l l l} \hline \hline \multicolumn{6}{c}{**Time Results in Minutes**} \\ \hline \(k\)-NNs & No Indexing & Indexing & Number of Completed Jobs & Number of Queries \\ \hline
8 & 1.5 & 1.6 & 730 & 6400 \\ \hline
16 & 1.5 & 1.6 & 730 & 6400 \\ \hline \hline \end{tabular}
\end{table}
Table 7: Time for 80 Mobile Objects without Indexing and with \(R\)-Tree Indexing.  
\begin{table}
\begin{tabular}{l l l l l} \hline \hline \multicolumn{6}{c}{**Time Results in Minutes**} \\ \hline \(k\)-NNs & No Indexing & Indexing & Number of Completed Jobs & Number of Queries \\ \hline
8 & 3.5 & 3.6 & 4510 & \(25\times 10^{5}\) \\ \hline
16 & 3.5 & 3.6 & 4510 & \(25\times 10^{5}\) \\ \hline \hline \end{tabular}
\end{table}
Table 8: Time for 500 Mobile Objects without Indexing and with \(R\)-Tree Indexing.  
Figure 6: Time Cost for \(k\)-Anonymity Set Computation with or without Indexing for 3 Cases of Total Input Data in Executor.  
\begin{table}
\begin{tabular}{l l l l l} \hline \hline \multicolumn{6}{c}{**Time Results in Minutes**} \\ \hline \(k\)-NNs & No Indexing & Indexing & Number of Completed Jobs & Number of Queries \\ \hline
8 & 11 & 12 & 18,010 & \(4\times 10^{7}\) \\ \hline
16 & 11 & 12 & 18,010 & \(4\times 10^{7}\) \\ \hline \hline \end{tabular}
\end{table}
Table 9: Time for 2000 Mobile Objects without Indexing and with \(R\)-Tree Indexing.