twalthr commented on a change in pull request #9054: [FLINK-13183][Table]Add a 
PrintTableSink
URL: https://github.com/apache/flink/pull/9054#discussion_r301897550
 
 

 ##########
 File path: 
flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/sinks/PrintTableSink.java
 ##########
 @@ -0,0 +1,63 @@
+package org.apache.flink.table.sinks;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.api.java.DataSet;
+import org.apache.flink.api.java.typeutils.RowTypeInfo;
+import org.apache.flink.streaming.api.datastream.DataStream;
+import org.apache.flink.streaming.api.datastream.DataStreamSink;
+import org.apache.flink.streaming.api.functions.sink.PrintSinkFunction;
+import org.apache.flink.table.utils.TableConnectorUtils;
+
+/**
+ * A simple {@link TableSink} to emit data to the standard output stream.
+ */
+public class PrintTableSink implements BatchTableSink , AppendStreamTableSink {
+
+       private String[] fieldNames;
+       private TypeInformation<?>[] fieldTypes;
+
+       @Override
+       public void emitDataSet(DataSet dataSet) {
+               try {
+                       dataSet.print();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+       @Override
+       public void emitDataStream(DataStream dataStream) {
+               consumeDataStream(dataStream);
+       }
+
+       @Override
+       public DataStreamSink<?> consumeDataStream(DataStream dataStream) {
+
+               DataStreamSink sink = dataStream.addSink(new 
PrintSinkFunction());
+               
sink.name(TableConnectorUtils.generateRuntimeName(PrintTableSink.class, 
fieldNames));
+               return sink;
+       }
+
+       @Override
+       public TypeInformation getOutputType() {
+               return new RowTypeInfo(getFieldTypes(), getFieldNames());
+       }
+
+       @Override
+       public String[] getFieldNames() {
+               return fieldNames;
+       }
+
+       @Override
+       public TypeInformation<?>[] getFieldTypes() {
+               return fieldTypes;
+       }
+
+       @Override
+       public TableSink configure(String[] fieldNames, TypeInformation[] 
fieldTypes) {
 
 Review comment:
   Using this interface is not recommended anymore. Use a `TableFactory` 
instead?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to