Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/1318#discussion_r44282588
--- Diff: docs/libs/table.md ---
@@ -123,13 +123,205 @@ DataSet<WC> result = tableEnv.toDataSet(filtered,
WC.class);
When using Java, the embedded DSL for specifying expressions cannot be
used. Only String expressions
are supported. They support exactly the same feature set as the expression
DSL.
-## Expression Syntax
+## Table API Operators
+Table API provide a domain-spcific language to execute language-integrated
query on structured data in Scala and Java.
+This section gives a brief overview of all available operators. You can
find more details of operators in the
[Javadoc](http://flink.apache.org/docs/latest/api/java/org/apache/flink/api/table/Table.html).
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+
+<br />
+
+<table class="table table-bordered">
+ <thead>
+ <tr>
+ <th class="text-left" style="width: 20%">Operators</th>
+ <th class="text-center">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td><strong>Select</strong></td>
+ <td>
+ <p>Similar to a SQL SELECT statement. Perform a select
operation.</p>
+{% highlight java %}
+Table in = tableEnv.fromDataSet(ds, "a, b, c");
+Table result = in.select("a, b, c as d");
+{% endhighlight %}
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>As</strong></td>
+ <td>
+ <p>Rename the fields name.</p>
+{% highlight java %}
+Table in = tableEnv.fromDataSet(ds, "a, b, c");
+Table result = in.as("d, e, f");
+{% endhighlight %}
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>Filter</strong></td>
+ <td>
+ <p>Similar to a SQL WHERE clause. Filter out elements that do not
pass the filter predicate.</p>
+{% highlight java %}
+Table in = tableEnv.fromDataSet(ds, "a, b, c");
+Table result = in.filter("a % 2 = 0");
+{% endhighlight %}
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>Where</strong></td>
+ <td>
+ <p>Similar to a SQL WHERE clause. Filter out elements that do not
pass the filter predicate.</p>
+{% highlight java %}
+Table in = tableEnv.fromDataSet(ds, "a, b, c");
+Table result = in.where("b = 'red'");
+{% endhighlight %}
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>GroupBy</strong></td>
+ <td>
+ <p>Similar to a SQL GROUPBY clause. Group the elements on the
grouping keys, with a following aggregation</p>
+ <p>operator to aggregate on per-group basis.</p>
+{% highlight java %}
+Table in = tableEnv.fromDataSet(ds, "a, b, c");
+Table result = in.groupby("a").select("a, b.sum");
+{% endhighlight %}
+ </td>
+ </tr>
-A `Table` supports to following operations: `select`, `where`, `groupBy`,
`join` (Plus `filter` as
-an alias for `where`.). These are also documented in the
[Javadoc](http://flink.apache.org/docs/latest/api/java/org/apache/flink/api/table/Table.html)
-of Table.
+ <tr>
+ <td><strong>Join</strong></td>
+ <td>
+ <p>Similar to a SQL JOIN clause. Join two tables, the fields of
two joined tables must not overlap.</p>
--- End diff --
I would rephrase "the fields of two joined tables must not overlap" to
"both tables must have distinct field names". It would also be good to mention
that the join condition is mandatory and specified with `where()`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---