Research Article
Exploiting Sharing Join Opportunities in Big Data Multiquery Optimization with Flink
Algorithm 1
J-MOTH reused-based multiquery optimizer.
| Input: | | Output: | | | //Step 1: Query Parsing | (1) | | | //Step 2: Query Explorer | (2) | | (3) | | (4) | | | //Step 3: Sharing Classifier | (5) | = | (6) | = | (7) | | (8) | ( | | /∗ Exploiting Sharing Data∗/ | | //Step 4: Refine Sharing Data Multiquery | (9) | = | | /∗call Algorithm S2∗/ | | //Step 5: Update Reused-based Opportunity Weight | | /∗call Algorithm S3∗/ | | Using Histograms and Metadata | (10) | | (11) | , | (12) | Histogram) | (13) | | Weight //Step 6: Generate Multiquery Plan | (14) | foreachdo | (15) | foreachdo | (16) | | (17) | if) then | (18) | | (19) | Else | (20) | | (21) | End if | (22) | | | /∗update level based on its query parent∗/ | (23) | | (24) | End | (25) | ( | (26) | End | (27) | | (28) | | (29) | | | /∗ Exploiting Sharing Join∗/ | | //Step 7: Optimize multiway join | (30) | | (31) | | | //Step 8: Sort Exploiter | (32) | | | //Step 9: Refine and Rewrite Queries for Multiquery Plan | (33) | | (34) | | (35) | |
|