You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2018/04/27 02:24:34 UTC
incubator-griffin git commit: added close function for closing opened
file in class HdfsUtils
Repository: incubator-griffin
Updated Branches:
refs/heads/master 664d14bea -> a414f4bcb
added close function for closing opened file in class HdfsUtils
Added close function for closing opened file in class HdfsUtils, to avoid memory leak.
Author: root <yi...@gmail.com>
This patch had conflicts when merged, resolved by
Committer: Lionel Liu <bh...@163.com>
Closes #15 from yiyef/master.
Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/a414f4bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/a414f4bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/a414f4bc
Branch: refs/heads/master
Commit: a414f4bcb0c0a8834c5bb4779d0a721fb9328d04
Parents: 664d14b
Author: root <yi...@gmail.com>
Authored: Fri Apr 27 10:24:28 2018 +0800
Committer: Lionel Liu <bh...@163.com>
Committed: Fri Apr 27 10:24:28 2018 +0800
----------------------------------------------------------------------
.../griffin/measure/utils/HdfsUtils.scala | 54 ++++++++++++++++++++
1 file changed, 54 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/a414f4bc/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtils.scala
----------------------------------------------------------------------
diff --git a/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtils.scala b/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtils.scala
new file mode 100644
index 0000000..bd7611f
--- /dev/null
+++ b/measure/src/main/scala/org/apache/griffin/measure/utils/HdfsUtils.scala
@@ -0,0 +1,54 @@
+package org.apache.griffin.util
+
+import java.io.File
+
+import org.apache.hadoop.conf.Configuration
+import org.apache.hadoop.fs.{FSDataInputStream, FSDataOutputStream, FileSystem, Path}
+
+object HdfsUtils {
+
+ private val conf = new Configuration()
+
+ private val dfs = FileSystem.get(conf)
+
+ def createFile(filePath: String): FSDataOutputStream = {
+ return dfs.create(new Path(filePath))
+ }
+
+ def openFile(filePath: String): FSDataInputStream = {
+ return dfs.open(new Path(filePath))
+ }
+
+ def writeFile(filePath: String, message: String): Unit = {
+ val out = createFile(filePath)
+ out.write(message.getBytes("utf-8"))
+ closeFile(out)
+ }
+
+ /**
+ * Close inputStream or outputStream
+ */
+ def closeFile(stream:Object): Unit = {
+ stream match{
+ case inputObj:FSDataInputStream => {
+ try{
+ stream.asInstanceOf[FSDataInputStream].close()
+ }catch{
+ case e:Exception=>e.printStackTrace()
+ }
+ }
+ case outputObj:FSDataOutputStream => {
+ try{
+ stream.asInstanceOf[FSDataOutputStream].close()
+ }catch{
+ case e:Exception=>{
+ e.printStackTrace()
+ }
+ }
+ }
+ case _ => println("wrong object type,it not closable object!")
+ }
+ }
+
+
+}