Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,18 @@ public static void main(String[] args) throws Exception {
// Compute maximum buffer elements for the query results per attribute
Array my_dense_array = new Array(ctx, "my_dense_array");
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Long.class);
HashMap<String, Pair<Long, Long>> max_sizes = my_dense_array.maxBufferElements(subarray);

// Create query
Query query = new Query(my_dense_array, TILEDB_READ);
query.setLayout(TILEDB_ROW_MAJOR);
query.setSubarray(subarray);
query.setBuffer(
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
int bufferSize = 1024;
query.setBuffer("a1", new NativeArray(ctx, bufferSize, Integer.class));
query.setBuffer(
"a2",
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
query.setBuffer(
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
new NativeArray(ctx, bufferSize, Datatype.TILEDB_UINT64),
new NativeArray(ctx, bufferSize, String.class));
query.setBuffer("a3", new NativeArray(ctx, bufferSize, Float.class));

// Submit query
System.out.println("Query submitted: " + query.submit());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,24 +37,26 @@ public static void main(String[] args) throws Exception {

// Prepare cell buffers
NativeArray a1_data = new NativeArray(ctx, new int[] {211, 213, 212, 208}, Integer.class);
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 4, 6, 7}, Long.class);
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 4, 6, 7}, Datatype.TILEDB_UINT64);
NativeArray buffer_var_a2 = new NativeArray(ctx, "wwwwyyxu", String.class);
NativeArray buffer_a3 =
new NativeArray(
ctx,
new float[] {211.1f, 211.2f, 213.1f, 213.2f, 212.1f, 212.2f, 208.1f, 208.2f},
Float.class);
NativeArray coords = new NativeArray(ctx, new long[] {4, 2, 3, 4, 3, 3, 3, 1}, Long.class);

NativeArray d1 = new NativeArray(ctx, new long[] {4, 3, 3, 3}, Long.class);
NativeArray d2 = new NativeArray(ctx, new long[] {2, 4, 3, 1}, Long.class);

// Create query
Array my_dense_array = new Array(ctx, "my_dense_array", TILEDB_WRITE);
Query query = new Query(my_dense_array);
query.setLayout(TILEDB_UNORDERED);
query.setSubarray(new NativeArray(ctx, new long[] {3, 4, 3, 4}, Long.class));
query.setBuffer("d1", d1);
query.setBuffer("d2", d2);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords);

// Submit query
query.submit();
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/examples/io/tiledb/java/api/SparseCreate.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ public static void main(String[] args) throws Exception {
Context ctx = new Context();
// Create getDimensions
Dimension<Long> d1 =
new Dimension<Long>(ctx, "d1", Long.class, new Pair<Long, Long>(1l, 4l), 2l);
new Dimension<Long>(ctx, "d1", Datatype.TILEDB_INT64, new Pair(1l, 4l), 2l);
Dimension<Long> d2 =
new Dimension<Long>(ctx, "d2", Long.class, new Pair<Long, Long>(1l, 4l), 2l);
new Dimension<Long>(ctx, "d2", Datatype.TILEDB_INT64, new Pair(1l, 4l), 2l);
// Create getDomain
Domain domain = new Domain(ctx);
domain.addDimension(d1);
domain.addDimension(d2);

// Create and add getAttributes
Attribute a1 = new Attribute(ctx, "a1", Integer.class);
Attribute a2 = new Attribute(ctx, "a2", String.class);
Attribute a1 = new Attribute(ctx, "a1", Datatype.TILEDB_INT32);
Attribute a2 = new Attribute(ctx, "a2", Datatype.TILEDB_CHAR);
a2.setCellValNum(TILEDB_VAR_NUM);
Attribute a3 = new Attribute(ctx, "a3", Float.class);
Attribute a3 = new Attribute(ctx, "a3", Datatype.TILEDB_FLOAT32);
a3.setCellValNum(2);
a1.setFilterList(new FilterList(ctx).addFilter(new LZ4Filter(ctx)));
a2.setFilterList(new FilterList(ctx).addFilter(new GzipFilter(ctx)));
Expand Down
19 changes: 12 additions & 7 deletions src/main/java/examples/io/tiledb/java/api/SparseReadGlobal.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@

package examples.io.tiledb.java.api;

import static io.tiledb.java.api.Constants.TILEDB_COORDS;
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
import static io.tiledb.java.api.QueryType.TILEDB_READ;

Expand Down Expand Up @@ -73,12 +72,16 @@ public static void main(String[] args) throws Exception {
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
query.setBuffer(
"a2",
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Datatype.TILEDB_UINT64),
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
query.setBuffer(
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
query.setCoordinates(
new NativeArray(ctx, max_sizes.get(TILEDB_COORDS).getSecond().intValue(), Long.class));

query.setBuffer(
"d1", new NativeArray(ctx, max_sizes.get("d1").getSecond().intValue(), Long.class));

query.setBuffer(
"d2", new NativeArray(ctx, max_sizes.get("d2").getSecond().intValue(), Long.class));

// Submit query
System.out.println("Query submitted: " + query.submit());
Expand All @@ -89,11 +92,13 @@ public static void main(String[] args) throws Exception {
long[] a2_offsets = (long[]) query.getVarBuffer("a2");
byte[] a2_data = (byte[]) query.getBuffer("a2");
float[] a3_buff = (float[]) query.getBuffer("a3");
long[] coords = (long[]) query.getBuffer(TILEDB_COORDS);
long[] d1_buff = (long[]) query.getBuffer("d1");
long[] d2_buff = (long[]) query.getBuffer("d2");

System.out.println("Result num: " + a1_buff.length);
System.out.println(
String.format("%8s", TILEDB_COORDS)
"d1"
+ String.format("%9s", "d2")
+ String.format("%9s", "a1")
+ String.format("%11s", "a2")
+ String.format("%11s", "a3[0]")
Expand All @@ -102,7 +107,7 @@ public static void main(String[] args) throws Exception {
for (int i = 0; i < a1_buff.length; i++) {
int end = (i == a1_buff.length - 1) ? a2_data.length : (int) a2_offsets[i + 1];
System.out.println(
String.format("%8s", "(" + coords[2 * i] + ", " + coords[2 * i + 1] + ")")
String.format("%8s", "(" + d1_buff[2 * i] + ", " + d2_buff[2 * i] + ")")
+ String.format("%9s", a1_buff[i])
+ String.format(
"%11s", new String(Arrays.copyOfRange(a2_data, (int) a2_offsets[i], end)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,22 @@ public static void main(String[] args) throws Exception {

// Calculate maximum buffer elements for the query results per attribute
Array my_sparse_array = new Array(ctx, "my_sparse_array");
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Long.class);
HashMap<String, Pair<Long, Long>> max_sizes = my_sparse_array.maxBufferElements(subarray);
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Datatype.TILEDB_INT64);

long bufferSize = 1024;

// Create query
Query query = new Query(my_sparse_array, TILEDB_READ);
query.setLayout(TILEDB_ROW_MAJOR);
query.setSubarray(subarray);
query.setBuffer(
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
query.setBuffer("d1", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64));
query.setBuffer("d2", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64));
query.setBuffer("a1", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT32));
query.setBuffer(
"a2",
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
query.setBuffer(
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
query.setCoordinates(
new NativeArray(ctx, max_sizes.get(TILEDB_COORDS).getSecond().intValue(), Long.class));
new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64),
new NativeArray(ctx, bufferSize, Datatype.TILEDB_CHAR));
query.setBuffer("a3", new NativeArray(ctx, bufferSize, Datatype.TILEDB_FLOAT32));

// Submit query
System.out.println("Query submitted: " + query.submit());
Expand Down
24 changes: 13 additions & 11 deletions src/main/java/examples/io/tiledb/java/api/SparseWriteGlobal1.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,20 @@
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;

import io.tiledb.java.api.Array;
import io.tiledb.java.api.Context;
import io.tiledb.java.api.NativeArray;
import io.tiledb.java.api.Query;
import io.tiledb.java.api.*;

public class SparseWriteGlobal1 {
public static void main(String[] args) throws Exception {
// Create TileDB context
Context ctx = ctx = new Context();

// Prepare cell buffers
NativeArray a1_data = new NativeArray(ctx, new int[] {0, 1, 2, 3, 4, 5, 6, 7}, Integer.class);
NativeArray a1_data =
new NativeArray(ctx, new int[] {0, 1, 2, 3, 4, 5, 6, 7}, Datatype.TILEDB_INT32);
NativeArray a2_offsets =
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Long.class);
NativeArray buffer_var_a2 = new NativeArray(ctx, "abbcccdddd" + "effggghhhh", String.class);
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Datatype.TILEDB_UINT64);
NativeArray buffer_var_a2 =
new NativeArray(ctx, "abbcccdddd" + "effggghhhh", Datatype.TILEDB_CHAR);

NativeArray buffer_a3 =
new NativeArray(
Expand All @@ -63,18 +62,21 @@ public static void main(String[] args) throws Exception {
},
Float.class);

NativeArray coords_buff =
new NativeArray(
ctx, new long[] {1, 1, 1, 2, 1, 4, 2, 3, 3, 1, 4, 2, 3, 3, 3, 4}, Long.class);
NativeArray d1_buff =
new NativeArray(ctx, new long[] {1, 1, 1, 2, 3, 4, 3, 3}, Datatype.TILEDB_INT64);

NativeArray d2_buff =
new NativeArray(ctx, new long[] {1, 2, 4, 3, 1, 2, 3, 4}, Datatype.TILEDB_INT64);

// Create query
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
Query query = new Query(my_sparse_array);
query.setLayout(TILEDB_GLOBAL_ORDER);
query.setBuffer("d1", d1_buff);
query.setBuffer("d2", d2_buff);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords_buff);

// Submit query
query.submit();
Expand Down
21 changes: 11 additions & 10 deletions src/main/java/examples/io/tiledb/java/api/SparseWriteGlobal2.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;

import io.tiledb.java.api.Array;
import io.tiledb.java.api.Context;
import io.tiledb.java.api.NativeArray;
import io.tiledb.java.api.Query;
import io.tiledb.java.api.*;

public class SparseWriteGlobal2 {
public static void main(String[] args) throws Exception {
Expand All @@ -52,7 +49,7 @@ public static void main(String[] args) throws Exception {
// Prepare cell buffers - #1
NativeArray a1_data = new NativeArray(ctx, new int[] {0, 1, 2}, Integer.class);
NativeArray a2_offsets =
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Long.class);
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Datatype.TILEDB_UINT64);
NativeArray buffer_var_a2 = new NativeArray(ctx, "abbcccddddeffggghhhh", String.class);

NativeArray buffer_a3 =
Expand All @@ -64,35 +61,39 @@ public static void main(String[] args) throws Exception {
},
Float.class);

NativeArray coords_buff = new NativeArray(ctx, new long[] {1, 1, 1, 2}, Long.class);
NativeArray d1_buff = new NativeArray(ctx, new long[] {1, 1}, Long.class);
NativeArray d2_buff = new NativeArray(ctx, new long[] {1, 2}, Long.class);

// Create query
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
Query query = new Query(my_sparse_array);
query.setLayout(TILEDB_GLOBAL_ORDER);
query.setBuffer("d1", d1_buff);
query.setBuffer("d2", d2_buff);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords_buff);

// Submit query
query.submit();

// Prepare cell buffers - #2

a1_data = new NativeArray(ctx, new int[] {3, 4, 5, 6, 7}, Integer.class);
a2_offsets = new NativeArray(ctx, new long[] {}, Long.class);
a2_offsets = new NativeArray(ctx, new long[] {}, Datatype.TILEDB_UINT64);
buffer_var_a2 = new NativeArray(ctx, "", String.class);

buffer_a3 = new NativeArray(ctx, new float[] {}, Float.class);
coords_buff = new NativeArray(ctx, new long[] {1, 4, 2, 3, 3, 1, 4, 2, 3, 3, 3, 4}, Long.class);
d1_buff = new NativeArray(ctx, new long[] {1, 2, 3, 4, 3, 3}, Long.class);
d2_buff = new NativeArray(ctx, new long[] {4, 3, 1, 2, 3, 4}, Long.class);

// Reset buffers
query.resetBuffers();
query.setBuffer("d1", d1_buff);
query.setBuffer("d2", d2_buff);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords_buff);

// Submit query - #2
query.submit();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,23 +36,21 @@
import static io.tiledb.java.api.Layout.TILEDB_UNORDERED;
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;

import io.tiledb.java.api.Array;
import io.tiledb.java.api.Context;
import io.tiledb.java.api.NativeArray;
import io.tiledb.java.api.Query;
import io.tiledb.java.api.*;

public class SparseWriteUnordered1 {
public static void main(String[] args) throws Exception {
// Create TileDB context
Context ctx = ctx = new Context();

// Prepare cell buffers
NativeArray a1_data = new NativeArray(ctx, new int[] {7, 5, 0, 6, 4, 3, 1, 2}, Integer.class);
NativeArray a1_data =
new NativeArray(ctx, new int[] {7, 5, 0, 6, 4, 3, 1, 2}, Datatype.TILEDB_INT32);
NativeArray a2_offsets =
new NativeArray(ctx, new long[] {0, 4, 6, 7, 10, 11, 15, 17}, Long.class);
new NativeArray(ctx, new long[] {0, 4, 6, 7, 10, 11, 15, 17}, Datatype.TILEDB_UINT64);
NativeArray buffer_var_a2 =
new NativeArray(
ctx, "hhhh" + "ff" + "a" + "ggg" + "e" + "dddd" + "bb" + "ccc", String.class);
ctx, "hhhh" + "ff" + "a" + "ggg" + "e" + "dddd" + "bb" + "ccc", Datatype.TILEDB_CHAR);

NativeArray buffer_a3 =
new NativeArray(
Expand All @@ -63,18 +61,21 @@ public static void main(String[] args) throws Exception {
},
Float.class);

NativeArray coords_buff =
new NativeArray(
ctx, new long[] {3, 4, 4, 2, 1, 1, 3, 3, 3, 1, 2, 3, 1, 2, 1, 4}, Long.class);
NativeArray d1_buff =
new NativeArray(ctx, new long[] {3, 4, 1, 3, 3, 2, 1, 1}, Datatype.TILEDB_INT64);

NativeArray d2_buff =
new NativeArray(ctx, new long[] {4, 2, 1, 3, 1, 3, 2, 4}, Datatype.TILEDB_INT64);

// Create query
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
Query query = new Query(my_sparse_array);
query.setLayout(TILEDB_UNORDERED);
query.setBuffer("d1", d1_buff);
query.setBuffer("d2", d2_buff);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords_buff);

// Submit query
query.submit();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,37 +37,38 @@
import static io.tiledb.java.api.Layout.TILEDB_UNORDERED;
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;

import io.tiledb.java.api.Array;
import io.tiledb.java.api.Context;
import io.tiledb.java.api.NativeArray;
import io.tiledb.java.api.Query;
import io.tiledb.java.api.*;

public class SparseWriteUnordered1Again {
public static void main(String[] args) throws Exception {
// Create TileDB context
Context ctx = ctx = new Context();

// Prepare cell buffers
NativeArray a1_data = new NativeArray(ctx, new int[] {107, 104, 106, 105}, Integer.class);
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 3, 4, 5}, Long.class);
NativeArray buffer_var_a2 = new NativeArray(ctx, "yyy" + "u" + "w" + "vvvv", String.class);
NativeArray a1_data =
new NativeArray(ctx, new int[] {107, 104, 106, 105}, Datatype.TILEDB_INT32);
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 3, 4, 5}, Datatype.TILEDB_UINT64);
NativeArray buffer_var_a2 =
new NativeArray(ctx, "yyy" + "u" + "w" + "vvvv", Datatype.TILEDB_CHAR);

NativeArray buffer_a3 =
new NativeArray(
ctx,
new float[] {107.1f, 107.2f, 104.1f, 104.2f, 106.1f, 106.2f, 105.1f, 105.2f},
Float.class);

NativeArray coords_buff = new NativeArray(ctx, new long[] {3, 4, 3, 2, 3, 3, 4, 1}, Long.class);
NativeArray d1_buff = new NativeArray(ctx, new long[] {3, 3, 3, 4}, Datatype.TILEDB_INT64);
NativeArray d2_buff = new NativeArray(ctx, new long[] {4, 2, 3, 1}, Datatype.TILEDB_INT64);

// Create query
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
Query query = new Query(my_sparse_array);
query.setLayout(TILEDB_UNORDERED);
query.setBuffer("d1", d1_buff);
query.setBuffer("d2", d2_buff);
query.setBuffer("a1", a1_data);
query.setBuffer("a2", a2_offsets, buffer_var_a2);
query.setBuffer("a3", buffer_a3);
query.setCoordinates(coords_buff);

// Submit query
query.submit();
Expand Down
Loading