Help using Base SAS procedures

Sha1 Hashing failing on large dataset

Reply
Occasional Learner
Posts: 1

Sha1 Hashing failing on large dataset

[ Edited ]

We are hashing 4 columns and using proc groovy to do so. When we run our script in small time increments, versus an entire year., we have ZERO issues. Our smaller datasets can be done in quarters but our larger ones would have to be done in much smaller time frames, taking weeks to piece together,as the max amount of rows we can write at once is 140K. The crazy part is we always hit in the 144K range and it errors out on us. Any ideas as to what could be causing the issue?

 

***The line and column numbers always change and the amount of observations is always in 144K range***

 

Error:   Object instantiation failed at line 298 column 62.

ERROR: DATA STEP Component Object failure.

Aborted during the Execution phase.

NOTE: There were 144595 observations read from the data set FY16.

 

 

filename cp temp;
proc groovy classpath=cp;

submit parseonly;
import java.security.MessageDigest
class Sha1 {
public String encode(String message) {
return new BigInteger(1, MessageDigest.getInstance("SHA1").digest(message.getBytes())).toString(16);
}
}
endsubmit;

quit;

PROC Star
Posts: 2,329

Re: Sha1 Hashing failing on large dataset

Posted in reply to mhoward00

I know nothing of proc groovy, but the message looks like what happens when a hash table runs out of memory.

1. Have you tried increasing the amount of memory available to see if things improve?

2. SAS 9.4 has a new SHA1 function. Could this be used? 

 

 

Ask a Question
Discussion stats
  • 1 reply
  • 193 views
  • 0 likes
  • 2 in conversation