diff options
author | Reynold Xin <rxin@databricks.com> | 2015-08-02 17:54:30 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-08-02 17:54:30 -0700 |
commit | 9d03ad910b853c1e0dcb946b05d48ab36a1ac533 (patch) | |
tree | d9dad2589910c325f71c0e653130cfdd67817849 /external | |
parent | 0722f43316fc7ed0c1308b0f9d6d15f0c22ed56f (diff) | |
download | spark-9d03ad910b853c1e0dcb946b05d48ab36a1ac533.tar.gz spark-9d03ad910b853c1e0dcb946b05d48ab36a1ac533.tar.bz2 spark-9d03ad910b853c1e0dcb946b05d48ab36a1ac533.zip |
[SPARK-9543][SQL] Add randomized testing for UnsafeKVExternalSorter.
The detailed approach is documented in UnsafeKVExternalSorterSuite.testKVSorter(), working as follows:
1. Create input by generating data randomly based on the given key/value schema (which is also randomly drawn from a list of candidate types)
2. Run UnsafeKVExternalSorter on the generated data
3. Collect the output from the sorter, and make sure the keys are sorted in ascending order
4. Sort the input by both key and value, and sort the sorter output also by both key and value. Compare the sorted input and sorted output together to make sure all the key/values match.
5. Check memory allocation to make sure there is no memory leak.
There is also a spill flag. When set to true, the sorter will spill probabilistically roughly every 100 records.
Author: Reynold Xin <rxin@databricks.com>
Closes #7873 from rxin/kvsorter-randomized-test and squashes the following commits:
a08c251 [Reynold Xin] Resource cleanup.
0488b5c [Reynold Xin] [SPARK-9543][SQL] Add randomized testing for UnsafeKVExternalSorter.
Diffstat (limited to 'external')
0 files changed, 0 insertions, 0 deletions