从influxDB往外抽数时经常报这个错误,已解决,在此总结下原因
抽数时出现 Get column index of query result exception
①需要注意sql中有无关键字 ,如果有,则需要加上\“XXX\”(以influxDB为例,我这边有tag字段,和关键字冲突了,在脚本中要改成\“tag\”)。
②脚本中写sql 时 脚本中不能使用SELECT * ,要使用SELECT 字段名
③查阅seatunnel influxDB 的connector源码后发现,抽取数据时判断数据类型的依据是 :根据脚本中所填写sql执行limit 1来判断数据类型,因此如果sql查不到数据,seatunnel就无法判断数据类型,所以用seatunnel进行抽数时,必须保证数据库要抽的表是有数的
④seatunnel大小写敏感,transform里面的sql中的字段,不光要与source里的一致,也要保证大小写一致。
补充:要注意海豚调度与数据源的时间设置的一致,比如,如果使用influxDB,需要注意influxDB里时间都是UTC标准的,因此海豚调度任务选择时区时要选择UTC标准,避免时间对不上导致无数据
时区问题要注意:
1.海豚调度的日期参数注入是否受时区的影响
2.数据源是否已经设置时区
3.数据源的客户端连接工具是否处理了时区
4.数据源是否会一直有实时数据
5.写入到目标数据源是否受时区影响,是否需要额外加工时区数据