ScalaはファイルをMD 5(ローカルおよびhdfs)に変換
8658 ワード
@羲凡——もっとよく生きるためだけに
ScalaはファイルをMD 5(ローカルおよびhdfs)に変換
最近のビジネスでは、処理されたファイルをMD 5に生成し、次のサービスで一意性チェックを行う必要があります.ネット上でブログを見つけてとても役に立ちました.私は少し簡略化して、持って行ってお礼を言いません.元ブロガーの記事を見たらここをクリックhttps://blog.csdn.net/cjuexuan/article/details/50901244元ブロガーを尊重し、感謝します.次のバイトのコード:
結果:
====================================================================
@羲凡——もっとよく生きるためだけに
ブログに何か問題があれば、メッセージ交換を歓迎します.
ScalaはファイルをMD 5(ローカルおよびhdfs)に変換
最近のビジネスでは、処理されたファイルをMD 5に生成し、次のサービスで一意性チェックを行う必要があります.ネット上でブログを見つけてとても役に立ちました.私は少し簡略化して、持って行ってお礼を言いません.元ブロガーの記事を見たらここをクリックhttps://blog.csdn.net/cjuexuan/article/details/50901244元ブロガーを尊重し、感謝します.次のバイトのコード:
package csdn
import java.io.{File, FileInputStream}
import org.apache.commons.codec.digest.DigestUtils
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FSDataInputStream, FileSystem, Path}
import scala.util.{Failure, Success, Try}
object SparkFileToMD5 {
def main(args: Array[String]): Unit = {
//hdfs
val path = "/aarontest/data/oozie/sparkshell/wc.txt"
//
val file = "D:\\AaronProject\\SparkTest227\\data\\wc.txt"
// hdfs MD5
def getHdfsFileMd5(path: String): String = {
val hdfs: FileSystem = FileSystem.get(new Configuration())
val in: FSDataInputStream = hdfs.open(new Path(path))
Try {
DigestUtils.md5Hex(in)
} match {
case Success(s) ⇒ in.close(); hdfs.close(); s
case Failure(e) ⇒ in.close(); hdfs.close(); e.getMessage
}
}
// MD5
def getLocalFileMd5(file: String): String = {
val in = new FileInputStream((new File(file)))
Try {
DigestUtils.md5Hex(in)
} match {
case Success(s) ⇒ in.close(); s
case Failure(e) ⇒ in.close(); e.getMessage
}
}
println("hdfs : " + getHdfsFileMd5(path))
println(" : " + getLocalFileMd5(file))
}
}
結果:
hdfs : 88988f8d939db7005d324cdd1f93d79f
: 88988f8d939db7005d324cdd1f93d79f
====================================================================
@羲凡——もっとよく生きるためだけに
ブログに何か問題があれば、メッセージ交換を歓迎します.