diff --git a/measure/src/main/scala/org/apache/griffin/measure/sink/HdfsSink.scala b/measure/src/main/scala/org/apache/griffin/measure/sink/HdfsSink.scala
index 23fb48e..c9be1b0 100644
--- a/measure/src/main/scala/org/apache/griffin/measure/sink/HdfsSink.scala
+++ b/measure/src/main/scala/org/apache/griffin/measure/sink/HdfsSink.scala
@@ -22,7 +22,8 @@
 
 import org.apache.spark.rdd.RDD
 
-import org.apache.griffin.measure.utils.{HdfsUtil, JsonUtil}
+import org.apache.griffin.measure.utils.HdfsUtil
+import org.apache.griffin.measure.utils.JsonUtil
 import org.apache.griffin.measure.utils.ParamUtil._
 
 /**
@@ -99,7 +100,9 @@
   def log(rt: Long, msg: String): Unit = {
     try {
       val logStr = logWrap(rt, msg)
-      HdfsUtil.appendContent(LogFile, logStr)
+      HdfsUtil.withHdfsFile(LogFile) { out =>
+        out.write(logStr.getBytes("utf-8"))
+      }
     } catch {
       case e: Throwable => error(e.getMessage, e)
     }
@@ -188,8 +191,11 @@
 
   private def sinkRecords2Hdfs(hdfsPath: String, records: Iterable[String]): Unit = {
     try {
-      val recStr = records.mkString("\n")
-      HdfsUtil.writeContent(hdfsPath, recStr)
+      HdfsUtil.withHdfsFile(hdfsPath, false) { out =>
+        records.map { record =>
+          out.write((record + "\n").getBytes("utf-8"))
+        }
+      }
     } catch {
       case e: Throwable => error(e.getMessage, e)
     }
diff --git a/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtil.scala b/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtil.scala
index ffb7e47..004054f 100644
--- a/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtil.scala
+++ b/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtil.scala
@@ -66,10 +66,17 @@
     out.close
   }
 
-  def appendContent(filePath: String, message: String): Unit = {
-    val out = appendOrCreateFile(filePath)
-    out.write(message.getBytes("utf-8"))
-    out.close
+  def withHdfsFile(filePath: String, appendIfExists: Boolean = true)
+                  (f: FSDataOutputStream => Unit): Unit = {
+    val out =
+      if (appendIfExists) {
+        appendOrCreateFile(filePath)
+      } else {
+        createFile(filePath)
+      }
+
+    f(out)
+    out.close()
   }
 
   def createEmptyFile(filePath: String): Unit = {
