Repository: hadoop Updated Branches: refs/heads/trunk 111739df8 -> 8d202f125
HADOOP-13235. Use Date and Time API in KafkaSink. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8d202f12 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8d202f12 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8d202f12 Branch: refs/heads/trunk Commit: 8d202f12589356344e26b7ca15097eec46886055 Parents: 111739d Author: Akira Ajisaka <[email protected]> Authored: Wed Jun 29 07:40:12 2016 -0700 Committer: Akira Ajisaka <[email protected]> Committed: Wed Jun 29 07:40:12 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/metrics2/sink/KafkaSink.java | 23 +++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8d202f12/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java b/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java index d8e5bd8..ba70ba7 100644 --- a/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java +++ b/hadoop-tools/hadoop-kafka/src/main/java/org/apache/hadoop/metrics2/sink/KafkaSink.java @@ -38,8 +38,10 @@ import java.io.Closeable; import java.io.IOException; import java.net.InetAddress; import java.nio.charset.Charset; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.Properties; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -62,6 +64,12 @@ public class KafkaSink implements MetricsSink, Closeable { private String topic = null; private Producer<Integer, byte[]> producer = null; + private final DateTimeFormatter dateFormat = + DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private final DateTimeFormatter timeFormat = + DateTimeFormatter.ofPattern("HH:mm:ss"); + private final ZoneId zoneId = ZoneId.systemDefault(); + public void setProducer(Producer<Integer, byte[]> p) { this.producer = p; } @@ -121,12 +129,11 @@ public class KafkaSink implements MetricsSink, Closeable { // Create the json object. StringBuilder jsonLines = new StringBuilder(); - Long timestamp = record.timestamp(); - Date currDate = new Date(timestamp); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm:ss"); - String date = dateFormat.format(currDate); - String time = timeFormat.format(currDate); + long timestamp = record.timestamp(); + Instant instant = Instant.ofEpochMilli(timestamp); + LocalDateTime ldt = LocalDateTime.ofInstant(instant, zoneId); + String date = ldt.format(dateFormat); + String time = ldt.format(timeFormat); // Collect datapoints and populate the json object. jsonLines.append("{\"hostname\": \"" + hostname); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
