From 74ef652fdf35570cbf2c5176fd54d6ab7264dbbf Mon Sep 17 00:00:00 2001 From: rubybj Date: Mon, 27 Apr 2020 17:27:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?opentsdb=E8=AF=BB=E5=8F=96=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=AE=BE=E7=BD=AE=E5=A4=9A=E6=8C=87=E6=A0=87=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E8=AF=BB=E5=8F=96=E5=88=B0=E7=AC=AC=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=8C=87=E6=A0=87bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datax/plugin/reader/opentsdbreader/OpenTSDBReader.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java b/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java index d57456d1..cef3010a 100755 --- a/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java +++ b/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java @@ -124,12 +124,13 @@ public class OpenTSDBReader extends Reader { if (TimeUtils.isSecond(endTime)) { endTime *= 1000; } - DateTime startDateTime = new DateTime(TimeUtils.getTimeInHour(startTime)); - DateTime endDateTime = new DateTime(TimeUtils.getTimeInHour(endTime)); - + DateTime startDateTime=null; + DateTime endDateTime=new DateTime(TimeUtils.getTimeInHour(endTime)); // split by metric for (String column : columns) { // split by time in hour + //When the metric is multiple, the startDateTime needs to be reset + startDateTime = new DateTime(TimeUtils.getTimeInHour(startTime)); while (startDateTime.isBefore(endDateTime)) { Configuration clone = this.originalConfig.clone(); clone.set(Key.COLUMN, Collections.singletonList(column)); From 7b87720d7d95de8a92913a02c0ed21a1abcc8ba8 Mon Sep 17 00:00:00 2001 From: rubybj Date: Tue, 28 Apr 2020 09:40:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?metric=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=EF=BC=8C=E9=9D=9Efatal=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=8C=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=E5=8D=B3=E5=8F=AF?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=BD=B1=E5=93=8D=E5=85=B6=E4=BB=96job?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datax/plugin/reader/opentsdbreader/OpenTSDBReader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java b/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java index cef3010a..a1277e59 100755 --- a/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java +++ b/opentsdbreader/src/main/java/com/alibaba/datax/plugin/reader/opentsdbreader/OpenTSDBReader.java @@ -189,7 +189,12 @@ public class OpenTSDBReader extends Reader { public void startRead(RecordSender recordSender) { try { for (String column : columns) { - conn.sendDPs(column, this.startTime, this.endTime, recordSender); + //If some metric does not exist, it is not a fatal error. Just log it and do not affect other jobs. + try { + conn.sendDPs(column, this.startTime, this.endTime, recordSender); + }catch(net.opentsdb.uid.NoSuchUniqueName e){ + LOG.warn("在时间段{}-{}无{}指标", this.startTime,this.endTime,column); + } } } catch (Exception e) { throw DataXException.asDataXException(