-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17693/
-----------------------------------------------------------
(Updated Feb. 4, 2014, 4:34 p.m.)
Review request for Tajo.
Changes
-------
removed an unused dependency in pom.xml
Bugs: TAJO-36
https://issues.apache.org/jira/browse/TAJO-36
Repository: tajo
Description
-------
Background:
The current ExternalSortExec just uses the binary external merge sort algorithm
(http://en.wikipedia.org/wiki/External_sorting#External_merge_sort). In other
words, for each pass, ExternalSortExec just merges two files into one sorted
file.
Proposal:
The goal of this proposal is to improve ExternalSortExec with the following
improvements:
* N-merge sort - we can merge N files though more memory at each pass. It will
reduce the number of passes. Consequently, it will reduces considerable I/O
overheads.
* the final pass omission - a physical operator is pipelined by the parent
operator. The final pass of the merge sort must also be invoked by the parent
physical operator. So, we can omit the final pass of the merge sort.
Diffs (updated)
-----
CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
38aa19156f0f64ac1ef99ec25238e33bd8111ed3
tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java
5566b3ad573d16a2bfbb460561e1ba53ad100ed0
tajo-common/src/main/java/org/apache/tajo/util/ClassSize.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java
cd9d188023bd76d640153ffbafdf8bdce8b45f7c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
671cec3a204e9b52db492b3e10fcacc780f739c5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
0a8cb62fb138c5c3d8aa118df1e665851a09a08f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExec.java
4e6cd6416f5a4d8a97dcc5695c65c48bc04cc141
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanningException.java
0d7554d6eb40c5c1566062a0099179adffe97b98
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/UnaryPhysicalExec.java
6ed741b2aacdfeda8b54aa5c402c07574f5f664b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
299703c31773af8c0297b2551ea025c335f546cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
5f0457e777599c93a37268345137a8c46a750450
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
e236126e7c2f630e058b6954241708e0cb29d678
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java
65ed3c45c6a2cb370ce3a9a9117db5f9de38b363
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java
2a1af7c22a13a412b4eda1fb15fca51fbd237c93
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java
0b23bb54063803a1bc159056c8234b6f94d5baca
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java
e6dd0a545d17184541419963404ac4e3a09494f6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java
50d431c945af8183e8327a3c95b2937378fdc5cd
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java
7cdf6ec4bf14875e32b1006f54046160f6792217
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java
018042cf1132ba44cb803d8fd8494da66d470d6c
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java
7887c9e6c22333a4d8b6e56185debcfdeb9c9ca9
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java
e868701538be72386f983804ebbc046861f055f1
tajo-storage/src/main/java/org/apache/tajo/storage/FrameTuple.java
f05a31664f0bd7447de4cd3d0ce8d0cf60bfd816
tajo-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java
4d484df71f6d02d364bc6ecd9b334516db3e333b
tajo-storage/src/main/java/org/apache/tajo/storage/MemoryUtil.java
PRE-CREATION
tajo-storage/src/main/java/org/apache/tajo/storage/RawFile.java
749b2e4dd4be1ac1b7f548696b78f03775696dc7
tajo-storage/src/main/java/org/apache/tajo/storage/RowFile.java
1e89f312456347beedf8ca75acc30c724bf0b595
tajo-storage/src/main/java/org/apache/tajo/storage/RowStoreUtil.java
e54fb57294d6402360d81c8895e82e8c2c5400e4
tajo-storage/src/main/java/org/apache/tajo/storage/Tuple.java
ba3598873a4ece960bbf1a8fe28830fd27dea5eb
tajo-storage/src/main/java/org/apache/tajo/storage/VTuple.java
878c05eb2796b37c7ce3deea73686f08efc87b46
tajo-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
e1430e1dd25ee7723d8b6489982625ac0f000065
tajo-storage/src/test/java/org/apache/tajo/storage/TestStorages.java
1685675cf2d51485168a0fa1e48d36c65d3c07e8
tajo-storage/src/test/java/org/apache/tajo/storage/TestVTuple.java
05f47a5c022f61f2eae1250424eb38f63f460724
tajo-storage/src/test/java/org/apache/tajo/storage/v2/TestStorages.java
a3d313376c5e9d9b48c80c3a829ccff68606dad7
Diff: https://reviews.apache.org/r/17693/diff/
Testing
-------
Thanks,
Hyunsik Choi