> On April 5, 2014, 8:11 a.m., Jung JaeHwa wrote: > > +1 > > > > I'm really appreciate to you. > > It is very useful to Tajo. > > > > I'll push it. :)
Hi JaeHwa, please wait for pushing this patch. I'm still reviewing it. - Hyunsik ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/19911/#review39610 ----------------------------------------------------------- On April 5, 2014, 1:13 a.m., hyoungjun kim wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/19911/ > ----------------------------------------------------------- > > (Updated April 5, 2014, 1:13 a.m.) > > > Review request for Tajo. > > > Bugs: TAJO-725 > https://issues.apache.org/jira/browse/TAJO-725 > > > Repository: tajo > > > Description > ------- > > Currently implementation Tajo uses single table for broadcast join even if > there are several small. Tajo should be supported this feature. > > > Diffs > ----- > > > tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java > b6f7f08 > tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 9d7c4ee > tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSet.java d0a41c0 > tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 12f725c > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/function/string/Concat_ws.java > e512b60 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BroadcastJoinPlanVisitor.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java > 9c28a80 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/RangePartitionAlgorithm.java > 35876ba > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java > 73de079 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/graph/SimpleDirectedGraph.java > 586e643 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java > 0d607d3 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java > 17ce4af > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BinaryPhysicalExec.java > 35c8f6f > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java > 3875b6d > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java > 9f576a7 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftAntiJoinExec.java > d7437c2 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java > 9afe8e6 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftSemiJoinExec.java > 842c2e2 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java > a59cc2f > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/TupleCache.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/TupleCacheKey.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/TupleCacheScanner.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/DefaultTaskScheduler.java > 28015d5 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java > b0c0614 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/LazyTaskScheduler.java > 43e6493 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/FragmentScheduleEvent.java > 10182a4 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java > 39e2177 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java > c4f86fb > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryUnitAttempt.java > 555b09f > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java > b2adaa4 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java > b3aefbe > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java > 92762c9 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunner.java > d74e0df > tajo-core/tajo-core-backend/src/main/resources/webapps/admin/query.jsp > 4dfc18a > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java > 784fea5 > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java > e24106a > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java > 5eb8af2 > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java > 19591ea > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/util/TestTupleCache.java > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java > 869d199 > > tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java > fe8c070 > > tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinBroadcast/customer_large/customer.tbl > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinBroadcast/lineitem_large/lineitem.tbl > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/create_customer_large_ddl.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/create_lineitem_large_ddl.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/oj_table1_ddl.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/oj_table2_ddl.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testBroadcastBasicJoin.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testBroadcastSubquery.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testBroadcastSubquery2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testBroadcastTwoPartJoin.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoin.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinAndCaseWhen.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinWithAsterisk1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinWithAsterisk2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinWithAsterisk3.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinWithAsterisk4.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testCrossJoinWithEmptyTable1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoin1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testInnerJoinWithEmptyTable.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvals1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testJoinOnMultipleDatabases.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoin1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testOuterJoinAndCaseWhen1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoin1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testTPCHQ2Join.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin1.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin2.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin3.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin4.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin5.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinBroadcast/testWhereClauseJoin6.sql > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/testJoin.sql > a163c4f > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testBroadcastBasicJoin.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testBroadcastSubquery.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testBroadcastSubquery2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testBroadcastTwoPartJoin.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoin.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinAndCaseWhen.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinWithAsterisk1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinWithAsterisk2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinWithAsterisk3.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinWithAsterisk4.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testCrossJoinWithEmptyTable1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testFullOuterJoin1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testFullOuterJoinWithEmptyTable1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testInnerJoinWithEmptyTable.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testJoinCoReferredEvals1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testJoinCoReferredEvalsWithSameExprs2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testJoinOnMultipleDatabases.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoin1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithConstantExpr3.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable3.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testLeftOuterJoinWithEmptyTable4.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testOuterJoinAndCaseWhen1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testRightOuterJoin1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testRightOuterJoinWithEmptyTable1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testTPCHQ2Join.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testWhereClauseJoin1.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testWhereClauseJoin2.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testWhereClauseJoin3.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testWhereClauseJoin4.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestJoinBroadcast/testWhereClauseJoin5.result > PRE-CREATION > > tajo-core/tajo-core-backend/src/test/resources/results/TestNetTypes/testJoin.result > 9d2cdf1 > > tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion1.result > 3b4dcf4 > tajo-core/tajo-core-backend/src/test/tpch/orders.tbl 77cbcc0 > > tajo-storage/src/main/java/org/apache/tajo/storage/fragment/FragmentConvertor.java > 3bfe96f > > tajo-storage/src/main/java/org/apache/tajo/storage/parquet/TajoRecordMaterializer.java > f099d04 > > Diff: https://reviews.apache.org/r/19911/diff/ > > > Testing > ------- > > mvn clean install and tested in real cluster tpch100. > > > Thanks, > > hyoungjun kim > >
