[ https://issues.apache.org/jira/browse/FLINK-8558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16534896#comment-16534896 ]
ASF GitHub Bot commented on FLINK-8558: --------------------------------------- Github user pnowojski commented on a diff in the pull request: https://github.com/apache/flink/pull/6264#discussion_r200668190 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/BatchTableEnvironment.scala --- @@ -110,16 +111,44 @@ abstract class BatchTableEnvironment( } } -// TODO expose this once we have enough table source factories that can deal with it -// /** -// * Creates a table from a descriptor that describes the source connector, source encoding, -// * the resulting table schema, and other properties. -// * -// * @param connectorDescriptor connector descriptor describing the source of the table -// */ -// def from(connectorDescriptor: ConnectorDescriptor): BatchTableSourceDescriptor = { -// new BatchTableSourceDescriptor(this, connectorDescriptor) -// } + /** + * Creates a table from a descriptor that describes the source connector, the source format, + * the resulting table schema, and other properties. + * + * Descriptors allow for declaring communication to external systems in an + * implementation-agnostic way. The classpath is scanned for connectors and matching connectors + * are configured accordingly. + * + * The following example shows how to read from a Kafka connector using a JSON format and + * creating a table: + * + * {{{ + * + * tableEnv + * .from( + * new Kafka() + * .version("0.11") + * .topic("clicks") + * .property("zookeeper.connect", "localhost") + * .property("group.id", "click-group") + * .startFromEarliest()) + * .withFormat( + * new Json() + * .jsonSchema("{...}") + * .failOnMissingField(false)) + * .withSchema( + * new Schema() + * .field("user-name", "VARCHAR").from("u_name") + * .field("count", "DECIMAL") + * .field("proc-time", "TIMESTAMP").proctime()) + * .toTable() + * }}} + * + * @param connectorDescriptor connector descriptor describing the source of the table + */ + def from(connectorDescriptor: ConnectorDescriptor): BatchTableSourceDescriptor = { --- End diff -- Instead of coping/pasting java doc in `StreamingTableEnvironment` and `BatchTableEnvironment`, I would prefer to use `@see` tag http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#multiple@see that would point to `TableEnvironment` > Add unified format interfaces and format discovery > -------------------------------------------------- > > Key: FLINK-8558 > URL: https://issues.apache.org/jira/browse/FLINK-8558 > Project: Flink > Issue Type: New Feature > Components: Streaming Connectors > Reporter: Timo Walther > Assignee: Timo Walther > Priority: Major > Labels: pull-request-available > > In the last release, we introduced a new module {{flink-formats}}. Currently > only {{flink-avro}} is located there but we will add more formats such as > {{flink-json}}, {{flink-protobuf}}, and so on. For better separation of > concerns we want decouple connectors from formats: e.g., remove > {{KafkaAvroTableSource}} and {{KafkaJsonTableSource}}. > A newly introduced {{FormatFactory}} will use Java service loaders to > discovery available formats in the classpath (similar to how file systems are > discovered now). A {{Format}} will provide a method for converting {{byte[]}} > to target record type. -- This message was sent by Atlassian JIRA (v7.6.3#76005)