AbsaOSS / AbsaOSS/cobrix

Get checksum actual record bytes

Aperta
#749 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Scala
Stelle
170
Fork
96
Merge medio
57m
PR unite (30g)
2

Descrizione

## 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 ?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.