I need read data from more than 10 big zipped SAS datasets, each of then is very big(15G), I can manually upzip them first but it is time consuming. I believe there must be a way to read the data without unzipping them. Who can help me with that?
The datasets are SAS data, e.g. client_200901.sas7bdat.gz. I tried Filename/Pipe/Zcat syntax but I failed.
SAS Datasets are considered direct access or random access (terminology varies in different platforms), which is why the pipe approach fails (it is predicated on sequential access). You might be able to convert the SAS datasets into SAS transport files (a sequential version of a SAS dataset) and then read it with a pipe, but I'm not sure.
Some Unix file systems (Solaris 10, for example) support OS level data compression which has storage use very similar to gzip. If your OS supports it, you might be able to get your Unix Admin to set the entire file system for compression. (Windows compression works similarly, but it looks like you are on a Unix box.) This is transparent to the SAS program.
in windows explorer, a zip file can be displayed like a folder.
If the same effect could be achieved on that unix platform, perhaps a SAS libname statement could assign the zip file as a library using the sequential library engine
(but I'm not sure it even works in SAS on windows).
libname thatz v9tape 'path\zipfile.zip' ;
* addressing the zip with sequential library engine;
doesn't work in windows (it even rejected the documented sequential library engines tape and v9tape)