I have following two partitions:
ibis::part: data1 (ardea -d data/data1 -m a:int, b:int -t data1.csv)
with 18 rows, 2 columns
Column list:
a: (INT) [1.79769e+308, -1.79769e+308]
b: (INT) [1.79769e+308, -1.79769e+308]
ibis::part: data2 (ardea -d data/data2 -m c:int, d:int -t data2.csv)
with 18 rows, 2 columns
Column list:
a: (INT) [1.79769e+308, -1.79769e+308]
d: (INT) [1.79769e+308, -1.79769e+308]
And I am trying to find a way how to join them and dump results. I used
the following code:
//create the partitions
ibis::part *tbl1 = new ibis::part("data1");
ibis::part *tbl2 = new ibis::part("data2");
//create the join
ibis::jNatural *jn = new ibis::jNatural(*tbl1, *tbl2, "a", "b <
8", "d > 4");
//process the join
int numRows = jn->count();
//select the result
std::vector<const char*> colnames = std::vector<const char*>();
colnames.push_back("data1.a");
ibis::table *resultTable = jn->select(colnames);
//dump the results to cout
resultTable->dump(std::cout);
The join is created and processed correctly (I can see the number of
resulting records, which is correct), but selection of the result
returns NULL pointer (with warning "join::fillEquiJoinTable can not
proceed due to invalid arguments"). Below I copy the log output when
calling select method.
select data1.a FROM From data1 Join data2 Using(a) Where ... -- start
timer ...
select data1.a FROM From data1 Join data2 Using(a) Where ... -- found 1
column from data1 and 0 column from data2
column[data1.a](INT)::selectValuesT -- selecting 15 out of 18 values
from ./data/data1\a
part[data1]::accessHint -- nRows=18, selected=15, #pages=0, first
page=0, last page=0, hint=MMAP_LARGE_FILES
column[data1.a](INT)::selectValuesT -- got 15 values (15 wanted) from an
in-memory version of file ./data/data1\a as int
column[data1.a](INT)::selectInts -- retrieving 15 integers took 0
sec(CPU), 0.000108394 sec(elapsed)
Warning -- join::fillEquiJoinTable can not proceed due to invalid
arguments
select data1.a FROM From data1 Join data2 Using(a) Where ... --
duration: 0.001 sec(CPU), 0.000752051 sec(elapsed)
I will appreciate any hint on what I am doing wrong, or what are the
best practices to perform joins.
Regards
Jan Krivanek
_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users