You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@paimon.apache.org by lz...@apache.org on 2023/05/09 02:52:42 UTC
[incubator-paimon] branch master updated: [doc] Improve java api doc (#1005)
This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 010929dbc [doc] Improve java api doc (#1005)
010929dbc is described below
commit 010929dbc612a670e455066fdab6710c6ba5cfe1
Author: s7monk <34...@users.noreply.github.com>
AuthorDate: Tue May 9 10:52:37 2023 +0800
[doc] Improve java api doc (#1005)
---
docs/content/api/java-api.md | 44 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 40 insertions(+), 4 deletions(-)
diff --git a/docs/content/api/java-api.md b/docs/content/api/java-api.md
index 5482dcab8..48c324f5e 100644
--- a/docs/content/api/java-api.md
+++ b/docs/content/api/java-api.md
@@ -374,10 +374,11 @@ public class AlterTable {
// update nested column nullability
SchemaChange updateNestedColumnNullability =
SchemaChange.updateColumnNullability(new String[]{"col5", "f2"}, false);
- SchemaChange[] schemaChanges = new SchemaChange[] {addOption, removeOption, addColumn, addColumnAfterField,
- renameColumn, dropColumn, updateColumnComment, updateNestedColumnComment, updateColumnType, updateColumnPosition,
+
+ SchemaChange[] schemaChanges = new SchemaChange[] {
+ addOption, removeOption, addColumn, addColumnAfterField, renameColumn, dropColumn,
+ updateColumnComment, updateNestedColumnComment, updateColumnType, updateColumnPosition,
updateColumnNullability, updateNestedColumnNullability};
-
try {
catalog.alterTable(identifier, Arrays.asList(schemaChanges), false);
} catch (Catalog.TableNotExistException e) {
@@ -419,6 +420,10 @@ import org.apache.paimon.reader.RecordReader;
import org.apache.paimon.table.source.ReadBuilder;
import org.apache.paimon.table.source.Split;
import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.data.BinaryString;
+import org.apache.paimon.data.GenericRow;
+import org.apache.paimon.types.DataTypes;
+import com.google.common.collect.Lists;
import java.io.IOException;
import java.util.List;
@@ -428,9 +433,15 @@ public class ReadTable {
public static void main(String[] args) {
// 1. Create a ReadBuilder and push filter (`withFilter`)
// and projection (`withProjection`) if necessary
+ // [{"Alice", 12},{"Bob", 5},{"Emily", 18}]
+ PredicateBuilder builder =
+ new PredicateBuilder(RowType.of(DataTypes.STRING(),DataTypes.INT()));
+ Predicate notNull = builder.isNotNull(0);
+ Predicate greaterOrEqual = builder.greaterOrEqual(1, 12);
+
ReadBuilder readBuilder = table.newReadBuilder()
.withProjection(projection)
- .withFilter(filter);
+ .withFilter(Lists.newArrayList(notNull, greaterOrEqual));
// 2. Plan splits in 'Coordinator' (or named 'Driver')
List<Split> splits = readBuilder.newScan().plan().splits();
@@ -460,6 +471,8 @@ import org.apache.paimon.table.sink.BatchTableCommit;
import org.apache.paimon.table.sink.BatchTableWrite;
import org.apache.paimon.table.sink.BatchWriteBuilder;
import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.data.BinaryString;
+import org.apache.paimon.data.GenericRow;
public class WriteTable {
@@ -470,9 +483,15 @@ public class WriteTable {
// 2. Write records in distributed tasks
BatchTableWrite write = writeBuilder.newWrite();
+
+ GenericRow record1 = GenericRow.of(BinaryString.fromString("Alice"), 12);
+ GenericRow record2 = GenericRow.of(BinaryString.fromString("Bob"), 5);
+ GenericRow record3 = GenericRow.of(BinaryString.fromString("Emily"), 18);
+
write.write(record1);
write.write(record2);
write.write(record3);
+
List<CommitMessage> messages = write.prepareCommit();
// 3. Collect all CommitMessages to a global node and commit
@@ -600,4 +619,21 @@ public class StreamWriteTable {
| map | org.apache.paimon.data.InternalMap |
| InternalRow | org.apache.paimon.data.InternalRow |
+## Predicate Types
+
+| SQL Predicate| Paimon Predicate |
+|:-------------|:-------------------------------------------------------------|
+| and | org.apache.paimon.predicate.PredicateBuilder.And |
+| or | org.apache.paimon.predicate.PredicateBuilder.Or |
+| is null | org.apache.paimon.predicate.PredicateBuilder.IsNull |
+| is not null | org.apache.paimon.predicate.PredicateBuilder.IsNotNull |
+| in | org.apache.paimon.predicate.PredicateBuildere.In |
+| not in | org.apache.paimon.predicate.PredicateBuilder.NotIn |
+| = | org.apache.paimon.predicate.PredicateBuilder.Equal |
+| <> | org.apache.paimon.predicate.PredicateBuilder.NotEqual |
+| < | org.apache.paimon.predicate.PredicateBuilder.LessThan |
+| <= | org.apache.paimon.predicate.PredicateBuilder.LessOrEqual |
+| > | org.apache.paimon.predicate.PredicateBuilder.GreaterThan |
+| >= | org.apache.paimon.predicate.PredicateBuilder.GreaterOrEqual |
+