Pls go ahead and file a JIRA with the reproducible test case. Aman
On Sat, Jun 20, 2015 at 9:31 AM, Rajkumar Singh <[email protected]> wrote: > Hi Hao > > I tried to reproduce the issue and able to repro it, I am running > drill-1.0.0 in embedded mode with a small data set on my mac machine. > > for the bad sql I am getting calcite cannotplanexception (same as the > error stack), for a good sql find below the explain plan. > > > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+ > | 00-00 Screen : rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, > VARCHAR(1) c4_desc, INTEGER a_value): rowcount = 1.0, cumulative cost = > {15.1 rows, 129.1 cpu, 0.0 io, 0.0 network, 187.2 memory}, id = 1346 > 00-01 Project(c_id=[$0], c_desc=[$1], c4_desc=[$2], a_value=[$3]) : > rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, VARCHAR(1) c4_desc, > INTEGER a_value): rowcount = 1.0, cumulative cost = {15.0 rows, 129.0 cpu, > 0.0 io, 0.0 network, 187.2 memory}, id = 1345 > 00-02 HashAgg(group=[{0}], c_desc=[MAX($1)], c4_desc=[MAX($2)], > a_value=[SUM($3)]) : rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, > VARCHAR(1) c4_desc, INTEGER a_value): rowcount = 1.0, cumulative cost = > {15.0 rows, 129.0 cpu, 0.0 io, 0.0 network, 187.2 memory}, id = 1344 > 00-03 Project(c_id=[$8], c_desc=[$1], c4_desc=[$3], > a_value=[$10]) : rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, > VARCHAR(1) c4_desc, INTEGER a_value): rowcount = 1.0, cumulative cost = > {14.0 rows, 85.0 cpu, 0.0 io, 0.0 network, 169.6 memory}, id = 1343 > 00-04 HashJoin(condition=[=($8, $0)], joinType=[inner]) : > rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, INTEGER c4_id, > VARCHAR(1) c4_desc, INTEGER c3_id, INTEGER c2_id, INTEGER c1_id, INTEGER > b_id, INTEGER c_id0, DATE a_date, INTEGER a_value): rowcount = 1.0, > cumulative cost = {14.0 rows, 85.0 cpu, 0.0 io, 0.0 network, 169.6 memory}, > id = 1342 > 00-05 Project(b_id=[$0], c_id0=[$1], a_date=[$2], > a_value=[$3]) : rowType = RecordType(INTEGER b_id, INTEGER c_id0, DATE > a_date, INTEGER a_value): rowcount = 1.0, cumulative cost = {8.0 rows, 35.0 > cpu, 0.0 io, 0.0 network, 96.0 memory}, id = 1341 > 00-07 SelectionVectorRemover : rowType = RecordType(INTEGER > b_id, INTEGER c_id, DATE a_date, INTEGER a_value): rowcount = 1.0, > cumulative cost = {8.0 rows, 35.0 cpu, 0.0 io, 0.0 network, 96.0 memory}, > id = 1340 > 00-09 Sort(sort0=[$0], sort1=[$1], sort2=[$2], > dir0=[ASC], dir1=[ASC], dir2=[ASC]) : rowType = RecordType(INTEGER b_id, > INTEGER c_id, DATE a_date, INTEGER a_value): rowcount = 1.0, cumulative > cost = {7.0 rows, 34.0 cpu, 0.0 io, 0.0 network, 96.0 memory}, id = 1339 > 00-11 SelectionVectorRemover : rowType = > RecordType(INTEGER b_id, INTEGER c_id, DATE a_date, INTEGER a_value): > rowcount = 1.0, cumulative cost = {6.0 rows, 34.0 cpu, 0.0 io, 0.0 network, > 64.0 memory}, id = 1338 > 00-13 Sort(sort0=[$0], sort1=[$1], sort2=[$2], > dir0=[ASC], dir1=[ASC], dir2=[ASC]) : rowType = RecordType(INTEGER b_id, > INTEGER c_id, DATE a_date, INTEGER a_value): rowcount = 1.0, cumulative > cost = {5.0 rows, 33.0 cpu, 0.0 io, 0.0 network, 64.0 memory}, id = 1337 > 00-14 StreamAgg(group=[{0, 1, 2, 3}]) : rowType = > RecordType(INTEGER b_id, INTEGER c_id, DATE a_date, INTEGER a_value): > rowcount = 1.0, cumulative cost = {4.0 rows, 33.0 cpu, 0.0 io, 0.0 network, > 32.0 memory}, id = 1336 > 00-15 Sort(sort0=[$0], sort1=[$1], sort2=[$2], > sort3=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC]) : rowType = > RecordType(INTEGER b_id, INTEGER c_id, DATE a_date, INTEGER a_value): > rowcount = 1.0, cumulative cost = {3.0 rows, 17.0 cpu, 0.0 io, 0.0 network, > 32.0 memory}, id = 1335 > 00-16 Project(b_id=[CAST(ITEM($0, 0)):INTEGER], > c_id=[CAST(ITEM($0, 1)):INTEGER], a_date=[CAST(ITEM($0, 2)):DATE], > a_value=[CAST(ITEM($0, 3)):INTEGER]) : rowType = RecordType(INTEGER b_id, > INTEGER c_id, DATE a_date, INTEGER a_value): rowcount = 1.0, cumulative > cost = {2.0 rows, 17.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 1334 > 00-17 Scan(groupscan=[EasyGroupScan > [selectionRoot=/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv, > numFiles=1, columns=[`columns`[0], `columns`[1], `columns`[2], > `columns`[3]], > files=[file:/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv]]]) > : rowType = RecordType(ANY columns): rowcount = 1.0, cumulative cost = {1.0 > rows, 1.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 1333 > 00-06 SelectionVectorRemover : rowType = RecordType(INTEGER > c_id, VARCHAR(1) c_desc, INTEGER c4_id, VARCHAR(1) c4_desc, INTEGER c3_id, > INTEGER c2_id, INTEGER c1_id): rowcount = 1.0, cumulative cost = {4.0 rows, > 30.0 cpu, 0.0 io, 0.0 network, 56.0 memory}, id = 1332 > 00-08 Sort(sort0=[$0], sort1=[$2], sort2=[$4], sort3=[$5], > sort4=[$6], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC]) : > rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, INTEGER c4_id, > VARCHAR(1) c4_desc, INTEGER c3_id, INTEGER c2_id, INTEGER c1_id): rowcount > = 1.0, cumulative cost = {3.0 rows, 29.0 cpu, 0.0 io, 0.0 network, 56.0 > memory}, id = 1331 > 00-10 Project(c_id=[CAST(ITEM($0, 1)):INTEGER], > c_desc=[CAST(ITEM($0, 12)):VARCHAR(1) CHARACTER SET "ISO-8859-1" COLLATE > "ISO-8859-1$en_US$primary"], c4_id=[CAST(ITEM($0, 11)):INTEGER], > c4_desc=[CAST(ITEM($0, 10)):VARCHAR(1) CHARACTER SET "ISO-8859-1" COLLATE > "ISO-8859-1$en_US$primary"], c3_id=[CAST(ITEM($0, 9)):INTEGER], > c2_id=[CAST(ITEM($0, 7)):INTEGER], c1_id=[CAST(ITEM($0, 5)):INTEGER]) : > rowType = RecordType(INTEGER c_id, VARCHAR(1) c_desc, INTEGER c4_id, > VARCHAR(1) c4_desc, INTEGER c3_id, INTEGER c2_id, INTEGER c1_id): rowcount > = 1.0, cumulative cost = {2.0 rows, 29.0 cpu, 0.0 io, 0.0 network, 0.0 > memory}, id = 1330 > 00-12 Scan(groupscan=[EasyGroupScan > [selectionRoot=/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv, > numFiles=1, columns=[`columns`[1], `columns`[12], `columns`[11], > `columns`[10], `columns`[9], `columns`[7], `columns`[5]], > files=[file:/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv]]]) > : rowType = RecordType(ANY columns): rowcount = 1.0, cumulative cost = {1.0 > rows, 1.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 1329 > | { > "head" : { > "version" : 1, > "generator" : { > "type" : "ExplainHandler", > "info" : "" > }, > "type" : "APACHE_DRILL_PHYSICAL", > "options" : [ ], > "queue" : 0, > "resultMode" : "EXEC" > }, > "graph" : [ { > "pop" : "fs-scan", > "@id" : 12, > "userName" : "rsingh", > "files" : [ > "file:/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv" > ], > "storage" : { > "type" : "file", > "enabled" : true, > "connection" : "file:///", > "workspaces" : { > "root" : { > "location" : "/", > "writable" : false, > "defaultInputFormat" : null > }, > "tmp" : { > "location" : "/tmp", > "writable" : true, > "defaultInputFormat" : null > } > }, > "formats" : { > "psv" : { > "type" : "text", > "extensions" : [ "tbl" ], > "delimiter" : "|" > }, > "csv" : { > "type" : "text", > "extensions" : [ "csv" ], > "delimiter" : "," > }, > "tsv" : { > "type" : "text", > "extensions" : [ "tsv" ], > "delimiter" : "\t" > }, > "parquet" : { > "type" : "parquet" > }, > "json" : { > "type" : "json" > }, > "avro" : { > "type" : "avro" > } > } > }, > "format" : { > "type" : "text", > "extensions" : [ "csv" ], > "delimiter" : "," > }, > "columns" : [ "`columns`[1]", "`columns`[12]", "`columns`[11]", > "`columns`[10]", "`columns`[9]", "`columns`[7]", "`columns`[5]" ], > "selectionRoot" : > "/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv", > "cost" : 1.0 > }, { > "pop" : "project", > "@id" : 10, > "exprs" : [ { > "ref" : "`c_id`", > "expr" : "cast( (`columns`[1] ) as INT )" > }, { > "ref" : "`c_desc`", > "expr" : "cast( (`columns`[12] ) as VARCHAR(1) )" > }, { > "ref" : "`c4_id`", > "expr" : "cast( (`columns`[11] ) as INT )" > }, { > "ref" : "`c4_desc`", > "expr" : "cast( (`columns`[10] ) as VARCHAR(1) )" > }, { > "ref" : "`c3_id`", > "expr" : "cast( (`columns`[9] ) as INT )" > }, { > "ref" : "`c2_id`", > "expr" : "cast( (`columns`[7] ) as INT )" > }, { > "ref" : "`c1_id`", > "expr" : "cast( (`columns`[5] ) as INT )" > } ], > "child" : 12, > "initialAllocation" : 1000000, > "maxAllocation" : 10000000000, > "cost" : 1.0 > }, { > "pop" : "external-sort", > "@id" : 8, > "child" : 10, > "orderings" : [ { > "expr" : "`c_id`", > "order" : "ASC", > "nullDirection" : "UNSPECIFIED" > }, { > "expr" : "`c4_id`", > "order" : "ASC", > "nullDirection" : "UNSPECIFIED" > }, { > "expr" : "`c3_id`", > "order" : "ASC", > "nullDirection" : "UNSPECIFIED" > }, { > "expr" : "`c2_id`", > "order" : "ASC", > "nullDirection" : "UNSPECIFIED" > }, { > "expr" : "`c1_id`", > "order" : "ASC", > "nullDirection" : "UNSPECIFIED" > } ], > "reverse" : false, > "initialAllocation" : 20000000, > "maxAllocation" : 10000000000, > "cost" : 1.0 > }, { > "pop" : "selection-vector-remover", > "@id" : 6, > "child" : 8, > "initialAllocation" : 1000000, > "maxAllocation" : 10000000000, > "cost" : 1.0 > }, { > "pop" : "fs-scan", > "@id" : 17, > "userName" : "rsingh", > "files" : [ > "file:/Users/rsingh/Downloads/apache-drill-1.0.0/sample-data/master-data.csv" > ], > "storage" : { > "type" : "file", > "enabled" : true, > "connection" : "file:///", > "workspaces" : { > "root" : { > "location" : "/", > "writable" : false, > "defaultInputFormat" : null > }, > "tmp" : { > "location" : "/tmp", > "writable" : true, > "defaultInputFormat" : null > } > }, > "formats" : { > "psv" : { > "type" : "text", > "extensions" : [ "tbl" ], > "delimiter" : "|" > }, > "csv" : { > "type" : "text", > "extensions" : [ "csv" ], > "delimiter" : "," > }, > "tsv" : { > | > +------------- > > > Rajkumar Singh > MapR Technologies > > > > On Jun 20, 2015, at 9:07 PM, Hao Zhu <[email protected]> wrote: > > > > Hello, > > > > I tried to create the same data in my lab with Drill 1.0 on MapR 4.1, > > however both SQL works fine in my end: > > select a11.costcenter_id as costcenter_id, max(a12.costcenter_desc) as > > costcenter_desc, max(a12.costcenter_name_desc) as costcenter_name_desc, > > sum(a11.account_value) as sss from view_fact_account a11 > > join view_dim_costcenter a12 on (a11.costcenter_id = > > a12.costcenter_id) group by a11.costcenter_id; > > +----------------+------------------+-----------------------+------+ > > | costcenter_id | costcenter_desc | costcenter_name_desc | sss | > > +----------------+------------------+-----------------------+------+ > > | 2 | a | a | 3 | > > +----------------+------------------+-----------------------+------+ > > 1 row selected (0.302 seconds) > > > > select a11.costcenter_id as costcenter_id, max(a12.costcenter_desc) as > > costcenter_desc, max(a12.costcenter_name_desc) as costcenter_name_desc, > > sum(a11.account_value) as sss from view_dim_costcenter a12 > > join view_fact_account a11 on (a11.costcenter_id = > > a12.costcenter_id) group by a11.costcenter_id; > > > > +----------------+------------------+-----------------------+------+ > > | costcenter_id | costcenter_desc | costcenter_name_desc | sss | > > +----------------+------------------+-----------------------+------+ > > | 2 | a | a | 3 | > > +----------------+------------------+-----------------------+------+ > > 1 row selected (0.209 seconds) > > > > To narrow down the issue, could you test something: > > 1. Is this issue only happening with user2? Do you have the same issue > > using user1 also? > > Just want to confirm if this issue is related to impersonation or > > permission. > > > > 2. Is this issue only happening with the 582 rows table? > > I mean, if the 2 tables have fewer rows, can this issue reproduce? > > In my test, I only created 1 row. > > I just want to know if this issue is data driver or not. > > > > 3. Could you attach the good SQL and bad SQL profiles, so that the SQL > plan > > is more readable? > > > > Thanks, > > Hao > > > > On Thu, Jun 18, 2015 at 6:46 AM, Mustafa Engin Sözer < > > [email protected]> wrote: > > > >> Hi everyone, > >> > >> I've had an earlier topic regarding this issue but no resolution came > out > >> of this and it couldn't be reproduced. Let me re-describe the issue and > my > >> cluster: > >> > >> Currently I have a 5-node Mapr cluster on AWS, including Drill. On both > >> sides, the security is enabled and on drill, impersonation is also > enabled. > >> The only other configuration I changed in drill was the new views > >> permissions which I set to 750. I'm using maprfs and our MapR version is > >> 4.1.0 and Drill version is 1.0.0. > >> > >> So the process goes like this: > >> > >> I have two users involved in this process, called usr1 and usr2. usr1 is > >> kind of an admin for the raw data whereas usr2 is not allowed to access > to > >> raw data. > >> > >> usr1 writes 3 csv files to /raw/costcenter volume and creates a > relational > >> model using drill views. These views are written to /views/costcenter > where > >> usr2 has access to. So usr2 can query these views without any issues. > >> > >> So there comes the problem. Along with several other tables, I have 2 > >> views, namely fact_account and dim_costcenter (created out of the same > csv) > >> Here are the table definitions: > >> > >> describe dfs.views_costcenter.fact_account; > >> +----------------+------------+--------------+ > >> | COLUMN_NAME | DATA_TYPE | IS_NULLABLE | > >> +----------------+------------+--------------+ > >> | account_id | INTEGER | YES | > >> | costcenter_id | INTEGER | YES | > >> | account_date | DATE | YES | > >> | account_value | INTEGER | YES | > >> +----------------+------------+--------------+ > >> > >> describe dfs.views_costcenter.dim_costcenter; > >> +-----------------------+------------+--------------+ > >> | COLUMN_NAME | DATA_TYPE | IS_NULLABLE | > >> +-----------------------+------------+--------------+ > >> | costcenter_id | INTEGER | YES | > >> | costcenter_desc | VARCHAR | YES | > >> | costcenter_name_id | INTEGER | YES | > >> | costcenter_name_desc | VARCHAR | YES | > >> | department_id | INTEGER | YES | > >> | division_id | INTEGER | YES | > >> | area_id | INTEGER | YES | > >> +-----------------------+------------+--------------+ > >> > >> Both tables have 582 rows. > >> > >> So I need to join these two tables and run some aggregations on them in > >> order to create a report. I have the following query: > >> > >> select a11.costcenter_id as costcenter_id, max(a12.costcenter_desc) as > >> costcenter_desc, max(a12.costcenter_name_desc) as costcenter_name_desc, > >> sum(a11.account_value) as sss from dfs.views_costcenter.fact_account a11 > >> join dfs.views_costcenter.dim_costcenter a12 on (a11.costcenter_id = > >> a12.costcenter_id) group by a11.costcenter_id; > >> > >> When I run this query, the execution planner throws a huge exception as > you > >> can see below. However, I've found a strange solution to that. If I > >> exchange the order of the tables within the join, ie. > >> > >> select a11.costcenter_id as costcenter_id, max(a12.costcenter_desc) as > >> costcenter_desc, max(a12.costcenter_name_desc) as costcenter_name_desc, > >> sum(a11.account_value) as sss from dfs.views_costcenter.dim_costcenter > a12 > >> join dfs.views_costcenter.fact_account a11 on (a11.costcenter_id = > >> a12.costcenter_id) group by a11.costcenter_id; > >> > >> It works perfectly. So in summary, if I write t2 join t1 instead of t1 > join > >> t2 and change nothing else, it works like a charm. As inner join is > >> commutative and associative, this was completely unexpected for me. Can > >> someone confirm if this is a bug? I didn't want to file a bug to JIRA > >> before asking you guys here first. > >> > >> Thanks in advance for your help. > >> > >> Below you can find the exception: (as the exception is huge, I've only > >> posted part of it here. Please let me know if you need the complete > >> exception) > >> > >> > >> Error: SYSTEM ERROR: > >> org.apache.calcite.plan.RelOptPlanner$CannotPlanException: Node > >> [rel#15146:Subset#27.PHYSICAL.SINGLETON([]).[]] could not be > implemented; > >> planner state: > >> > >> Root: rel#15146:Subset#27.PHYSICAL.SINGLETON([]).[] > >> Original rel: > >> > AbstractConverter(subset=[rel#15146:Subset#27.PHYSICAL.SINGLETON([]).[]], > >> convention=[PHYSICAL], DrillDistributionTraitDef=[SINGLETON([])], > >> sort=[[]]): rowcount = 101.8, cumulative cost = {inf}, id = 15148 > >> DrillScreenRel(subset=[rel#15145:Subset#27.LOGICAL.ANY([]).[]]): > rowcount > >> = 101.8, cumulative cost = {10.18 rows, 10.18 cpu, 0.0 io, 0.0 network, > 0.0 > >> memory}, id = 15144 > >> DrillAggregateRel(subset=[rel#15143:Subset#26.LOGICAL.ANY([]).[]], > >> group=[{0}], costcenter_desc=[MAX($1)], costcenter_name_desc=[MAX($2)], > >> sss=[SUM($3)]): rowcount = 101.8, cumulative cost = {1.0 rows, 1.0 cpu, > 0.0 > >> io, 0.0 network, 0.0 memory}, id = 15142 > >> DrillProjectRel(subset=[rel#15141:Subset#25.LOGICAL.ANY([]).[]], > >> costcenter_id=[$1], costcenter_desc=[$5], costcenter_name_desc=[$7], > >> account_value=[$3]): rowcount = 1018.0, cumulative cost = {0.0 rows, 0.0 > >> cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 15140 > >> DrillProjectRel(subset=[rel#15139:Subset#24.LOGICAL.ANY([]).[0, > 2, > >> 4, 5, 6]], account_id=[$7], costcenter_id=[$8], account_date=[$9], > >> account_value=[$10], costcenter_id0=[$0], costcenter_desc=[$1], > >> costcenter_name_id=[$2], costcenter_name_desc=[$3], department_id=[$4], > >> division_id=[$5], area_id=[$6]): rowcount = 1018.0, cumulative cost = > {0.0 > >> rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 15138 > >> DrillJoinRel(subset=[rel#15137:Subset#23.LOGICAL.ANY([]).[0, 2, > >> 4, 5, 6]], condition=[=($8, $0)], joinType=[inner]): rowcount = 1018.0, > >> cumulative cost = {1119.8 rows, 13030.4 cpu, 0.0 io, 0.0 network, > 1791.68 > >> memory}, id = 15136 > >> DrillSortRel(subset=[rel#15128:Subset#18.LOGICAL.ANY([]).[0, > 2, > >> 4, 5, 6]], sort0=[$0], sort1=[$2], sort2=[$4], sort3=[$5], sort4=[$6], > >> dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC]): rowcount = > >> 1018.0, cumulative cost = {197407.16549843678 rows, 1018.0 cpu, 0.0 io, > 0.0 > >> network, 0.0 memory}, id = 15127 > >> > >> DrillProjectRel(subset=[rel#15126:Subset#17.LOGICAL.ANY([]).[]], > >> costcenter_id=[CAST(ITEM($0, 1)):INTEGER], > costcenter_desc=[CAST(ITEM($0, > >> 12)):VARCHAR(45) CHARACTER SET "ISO-8859-1" COLLATE > >> "ISO-8859-1$en_US$primary"], costcenter_name_id=[CAST(ITEM($0, > >> 11)):INTEGER], costcenter_name_desc=[CAST(ITEM($0, 10)):VARCHAR(45) > >> CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary"], > >> department_id=[CAST(ITEM($0, 9)):INTEGER], division_id=[CAST(ITEM($0, > >> 7)):INTEGER], area_id=[CAST(ITEM($0, 5)):INTEGER]): rowcount = 1018.0, > >> cumulative cost = {1018.0 rows, 28504.0 cpu, 0.0 io, 0.0 network, 0.0 > >> memory}, id = 15125 > >> > >> DrillScanRel(subset=[rel#15124:Subset#16.LOGICAL.ANY([]).[]], > table=[[dfs, > >> raw_costcenter, master_datev*.csv]], groupscan=[EasyGroupScan > >> [selectionRoot=/raw/costcenter/master_datev*.csv, numFiles=1, > >> columns=[`columns`[1], `columns`[12], `columns`[11], `columns`[10], > >> `columns`[9], `columns`[7], `columns`[5]], > >> files=[maprfs:/raw/costcenter/master_datev_20150617.csv]]]): rowcount = > >> 1018.0, cumulative cost = {1018.0 rows, 1018.0 cpu, 0.0 io, 0.0 network, > >> 0.0 memory}, id = 15064 > >> DrillSortRel(subset=[rel#15135:Subset#22.LOGICAL.ANY([]).[0, > 1, > >> 2]], sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], > >> dir2=[ASC]): rowcount = 101.8, cumulative cost = {7529.958857584828 > rows, > >> 101.8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 15134 > >> > >> DrillAggregateRel(subset=[rel#15133:Subset#21.LOGICAL.ANY([]).[]], > >> group=[{0, 1, 2, 3}]): rowcount = 101.8, cumulative cost = {1.0 rows, > 1.0 > >> cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 15132 > >> > >> DrillProjectRel(subset=[rel#15131:Subset#20.LOGICAL.ANY([]).[]], > >> account_id=[CAST(ITEM($0, 0)):INTEGER], costcenter_id=[CAST(ITEM($0, > >> 1)):INTEGER], account_date=[CAST(ITEM($0, 2)):DATE], > >> account_value=[CAST(ITEM($0, 3)):INTEGER]): rowcount = 1018.0, > cumulative > >> cost = {1018.0 rows, 16288.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = > >> 15130 > >> > >> DrillScanRel(subset=[rel#15129:Subset#19.LOGICAL.ANY([]).[]], > table=[[dfs, > >> raw_costcenter, master_datev*.csv]], groupscan=[EasyGroupScan > >> [selectionRoot=/raw/costcenter/master_datev*.csv, numFiles=1, > >> columns=[`columns`[0], `columns`[1], `columns`[2], `columns`[3]], > >> files=[maprfs:/raw/costcenter/master_datev_20150617.csv]]]): rowcount = > >> 1018.0, cumulative cost = {1018.0 rows, 1018.0 cpu, 0.0 io, 0.0 network, > >> 0.0 memory}, id = 15074 > >> > >> Sets: > >> Set#16, type: RecordType(ANY columns) > >> rel#15124:Subset#16.LOGICAL.ANY([]).[], best=rel#15064, > >> importance=0.4304672100000001 > >> > >> > >> -- > >> > >> *M. Engin Sözer* > >> Junior Datawarehouse Manager > >> [email protected] > >> > >> Goodgame Studios > >> Theodorstr. 42-90, House 9 > >> 22761 Hamburg, Germany > >> Phone: +49 (0)40 219 880 -0 > >> *www.goodgamestudios.com <http://www.goodgamestudios.com>* > >> > >> Goodgame Studios is a branch of Altigi GmbH > >> Altigi GmbH, District court Hamburg, HRB 99869 > >> Board of directors: Dr. Kai Wawrzinek, Dr. Christian Wawrzinek, Fabian > >> Ritter > >> > >
