AbsaOSS / AbsaOSS/cobrix

Get checksum actual record bytes

オープン
#749 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Scala
スター
170
フォーク
96
平均マージ
57分
マージ済み PR(30日)
2

説明

## Background
We have requirement like to validate upstream given checksum vs actual data checksum.

Currently we are stripping BDW and RDW and writing to file and calculating checksum.

## Feature

```Scala
def getDataBytes(infile:String,outfile:String) :String ={
val inputStream =new FileInputStream(new File(infile))
val outStream =new FileOutputStream(new File(outfile))
while (inputStream.available() > 0){
val bdw = BigInt(IOUtils.toByteArray(inputStream,2))
val bdwBuffer = Array.OfDim[Byte](bdw.toInt-2)
IOUtils.read(inputSream,bdwBuffer)
val block :Array[Byte] = bdwBuffer.drop(2)
var rdw =0
while (rdw < bdw -4) {
val rdwSize = BigInt(block.slice(rdw,rdw+2)).toInt
val record =block.slice(rdw+4, rdw+rdwSize)
outStream.write(record)
rdw = rdw + rdwSize
}
}
inputStream.close()
outStream.close()
}
```

Shell we avoid creating temp file and calculate directly record bytes hash (Md5 or Sha256) value ?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。