没有group by的语句,比如就是select * from table ,表明细数据,以DDL 方式 写入 es, 能指定某个字段作为es的主键id么, 我试了同步数据明细到es中,但是id 却是随机生成的.
在 2019-08-26 15:47:53,"Jark Wu" <imj...@gmail.com> 写道: >嗯,descriptor 和 DDL 就是可以用于这个场景,将 table 查询结果直接写入 sink。 > >Best, >Jark > > > >> 在 2019年8月26日,16:44,巫旭阳 <danxieai...@163.com> 写道: >> >> 感谢解答, >> 我的意图是 构建EStablesink,可以将table 查询的结果 直接写入ES 避免再转换DataStream 通过ESSink写入 >> >> >> >> >> >> >> 在 2019-08-26 16:39:49,"Jark Wu" <imj...@gmail.com> 写道: >>> Hi , >>> >>> >>> Elasticsearch6UpsertTableSink 是标记成 @internal 的,不是开放给用户直接去构造的。 >>> 如果要注册一个 ES sink,可以使用 descriptor API,也就是 >>> org.apache.flink.table.descriptors.Elasticsearch。 >>> 或者使用 DDL 方式注册。 >>> >>> >>> Best, >>> Jark >>> >>>> 在 2019年8月26日,16:33,aven.wu <danxieai...@163.com> 写道: >>>> >>>> Elasticsearch6UpsertTableSink >>>> 的构造方法过于复杂参数非常多 >>>> >>>> public Elasticsearch6UpsertTableSink( >>>> boolean isAppendOnly, >>>> TableSchema schema, >>>> List<Host> hosts, >>>> String index, >>>> String docType, >>>> String keyDelimiter, >>>> String keyNullLiteral, >>>> SerializationSchema<Row> serializationSchema, >>>> XContentType contentType, >>>> ActionRequestFailureHandler failureHandler, >>>> Map<SinkOption, String> sinkOptions) { >>>> >>>> super( >>>> isAppendOnly, >>>> schema, >>>> hosts, >>>> index, >>>> docType, >>>> keyDelimiter, >>>> keyNullLiteral, >>>> serializationSchema, >>>> contentType, >>>> failureHandler, >>>> sinkOptions, >>>> UPDATE_REQUEST_FACTORY); >>>> } >>>> >>>> >>>> 请问,是不是我的用法不对? >>>> 有没有类似ElasticTableSink.bulid 的建造类,方便构造tableSink对象。 >>>>