问题一:Flink CDC怎么能保证多个实例不会重复读书数据同一份binlog呢?
Flink CDC去读取binlog的数据到应用程序的时候,如果我的服务是部署多个实例的话怎么能保证多个实例不会重复读书数据同一份binlog呢?
参考答案:
server-id 需要配置的 flink这块默认的是一个范围内随机给你取值的 ,flink-cdc 里面配置的server-id参数 每个实例都会伪装成 mysql的从节点读取binlog日志信息
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577440
问题二:Flink CDC 大字段类型(blob)不修改的话,是怎么处理的?
Flink CDC 大字段类型(blob)不修改的话,在归档日志的before属性里是拿不到值,你们是怎么处理的?如果修改了blob类型字段,就能读到
参考答案:
在Flink CDC中,对于大字段类型(例如BLOB),如果不做修改,确实可能无法在归档日志的before属性里获取到值。为了解决这个问题,您可以考虑以下两种策略:
- 转换字段类型:您可以将BLOB字段转换为其他数据类型,例如VARCHAR2或BLOB。具体操作可以在Oracle中创建一个视图,将CLOB字段转换为VARCHAR2或BLOB字段,然后使用该视图作为Flink CDC的数据源。或者,您也可以在Flink程序中自定义代码来处理这些字节数组,并根据具体需求进行转换或解析。
- 使用最新版本的CDC Connector:如果您使用的是较旧的CDC Connector版本,可能存在一些限制,例如不支持特定的数据类型或特定版本的Oracle数据库。因此,建议使用最新版本的CDC Connector,以确保对所有数据类型的支持。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577439
问题三:Flink CDC中select a,b,c,d 你的这个SQL的意义是什么呢?
Flink CDC中select a,b,c,d from xxx group by a,b 你的这个SQL的意义是什么呢?
参考答案:
这个SQL语句的含义是从名为xxx的表中选择a、b、c、d这四个字段,并根据a和b字段进行分组。换句话说,它会返回一个包含a、b、c、d字段的结果集,其中每一行表示一个唯一的(a, b)组合,并且每个组合中的c和d字段的值是该组中所有行的对应值的总和或平均值等聚合操作的结果。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577438
问题四:Flink CDC中select a,b,c,d 这种情况怎么搞呢?
Flink CDC中select a,b,c,d from xxx group by a,b
这时候会提示c和d的is not being grouped,这种情况怎么搞呢?
参考答案:
这种应该是sql 语法本身的约定,按照a和b group by,c和d必然无法输出了。只能算出来c 和d 聚合的结果
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577437
问题五:Flink CDC有啥好的解决方案吗?大数据量es数据同步,就是俩es集群之间,a到b?
Flink CDC有啥好的解决方案吗?大数据量es数据同步,就是俩es集群之间,a到b?
参考答案:
reindex
关于本问题的更多回答可点击进行查看: