From: =?ISO-8859-1?Q?Daniel_Fern=E1ndez?= on 18 Jan 2010 11:20 hi, Perhaps it is due to user permissions (you are not able to sort it). Try this and tell me if it is OK: Proc sort data=abc.customer out=TEST ; by customerid;run; Daniel Fernandez. Barcelona. 2010/1/18 Tina Shaw <xtina.shaw7(a)gmail.com>: > Hi, > > I get weird SAS I/O error from time to time. Here is an example. > > First I created a sas dataset "customer.sas7bdat" in library abc. It has > 8545476 observations and 3 numeric variables. > > Next I sorted it. The code is really simple. > Proc sort data=abc.customer;by customerid;run; > Then it returned error message saying "ERROR: An I/O error has occurred on > file ABC.CUSTOMER.DATA". > > I thought probably it's something related to the memory even though the sas > dataset is not really huge. Therefore I tried > data inv01; > set abc.customer (firstobs=1 obs=100); > run; > And it worked, I got inv01.sas7bdat. > > After this, I re-do the proc sort on abc.customer. Sometime the I/O error > will disappear and everything is back to normal. Sometime it's just dead. > > The worse time is after I run library abc "whatever/whatever"; > Then just right click on the the customer.sas7bdat icon to see the > properties, it returns the I/O error message. > > This has happened many times. The I/O error is on and off from time to time, > but I could not figure out when it comes back and when it is gone. BTW, > that's not a shared library so it's impossible that another user is touching > the dataset while I am running my code. The size of the library folder is > growing as the customer base is growing, but not dramatically from day to > day. > > My SAS version is 9.1.3. > > Could someone help me with this puzzle? > > Thank you in advance! > > Tina >
From: Tina Shaw on 18 Jan 2010 13:07 No, I still get the I/O error even when putting the output into work library. Tina On 1/18/10, Daniel Fern=E1ndez <fdezdan(a)gmail.com> wrote: > > hi, > Perhaps it is due to user permissions (you are not able to sort it). > > Try this and tell me if it is OK: > > Proc sort data=3Dabc.customer out=3DTEST ; > by customerid;run; > > > Daniel Fernandez. > Barcelona. > > > 2010/1/18 Tina Shaw <xtina.shaw7(a)gmail.com>: > > Hi, > > > > I get weird SAS I/O error from time to time. Here is an example. > > > > First I created a sas dataset "customer.sas7bdat" in library abc. It ha= s > > 8545476 observations and 3 numeric variables. > > > > Next I sorted it. The code is really simple. > > Proc sort data=3Dabc.customer;by customerid;run; > > Then it returned error message saying "ERROR: An I/O error has occurred > on > > file ABC.CUSTOMER.DATA". > > > > I thought probably it's something related to the memory even though the > sas > > dataset is not really huge. Therefore I tried > > data inv01; > > set abc.customer (firstobs=3D1 obs=3D100); > > run; > > And it worked, I got inv01.sas7bdat. > > > > After this, I re-do the proc sort on abc.customer. Sometime the I/O err= or > > will disappear and everything is back to normal. Sometime it's just dea= d. > > > > The worse time is after I run library abc "whatever/whatever"; > > Then just right click on the the customer.sas7bdat icon to see the > > properties, it returns the I/O error message. > > > > This has happened many times. The I/O error is on and off from time to > time, > > but I could not figure out when it comes back and when it is gone. BTW, > > that's not a shared library so it's impossible that another user is > touching > > the dataset while I am running my code. The size of the library folder = is > > growing as the customer base is growing, but not dramatically from day = to > > day. > > > > My SAS version is 9.1.3. > > > > Could someone help me with this puzzle? > > > > Thank you in advance! > > > > Tina > > >
From: Michael Raithel on 18 Jan 2010 13:38 Dear SAS-L-ers, Tina Shaw posted the following: > Hi, > > I get weird SAS I/O error from time to time. Here is an example. > > First I created a sas dataset "customer.sas7bdat" in library abc. It > has > 8545476 observations and 3 numeric variables. > > Next I sorted it. The code is really simple. > Proc sort data=abc.customer;by customerid;run; > Then it returned error message saying "ERROR: An I/O error has occurred > on > file ABC.CUSTOMER.DATA". > > I thought probably it's something related to the memory even though the > sas > dataset is not really huge. Therefore I tried > data inv01; > set abc.customer (firstobs=1 obs=100); > run; > And it worked, I got inv01.sas7bdat. > > After this, I re-do the proc sort on abc.customer. Sometime the I/O > error > will disappear and everything is back to normal. Sometime it's just > dead. > > The worse time is after I run library abc "whatever/whatever"; > Then just right click on the the customer.sas7bdat icon to see the > properties, it returns the I/O error message. > > This has happened many times. The I/O error is on and off from time to > time, > but I could not figure out when it comes back and when it is gone. BTW, > that's not a shared library so it's impossible that another user is > touching > the dataset while I am running my code. The size of the library folder > is > growing as the customer base is growing, but not dramatically from day > to > day. > > My SAS version is 9.1.3. > > Could someone help me with this puzzle? > > Thank you in advance! > Tina, I liked Daniel's suggestion, and lament that it did not work! Perhaps you have a damaged SAS data set (abc.customer). Consider doing the following: Options msglevel=I; proc datasets library=abc nolist; repair customer; run; ....to repair your SAS data set. See if that works! Tina, best of luck in all of your SAS endeavors! I hope that this suggestion proves helpful now, and in the future! Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Michael A. Raithel "The man who wrote the book on performance" E-mail: MichaelRaithel(a)westat.com Author: Tuning SAS Applications in the MVS Environment Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172 Author: The Complete Guide to SAS Indexes http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ In the fight between you and the world, back the world. - Paul Dirac +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: Tina Shaw on 18 Jan 2010 14:53 Even the proc datasets repair sometime works, sometime doesn't. I suspect it's something related to the space. I tried to win-zip the sas dataset and got a message from wnzip "Error: Input file read failure". The explanation from company's IT help desk is even though I am the only person using the folder, the drive is a shared drive. When the drive is short of resource (which is the case recently), and when many people are trying to access it, I may experience I/O failure. So whether the I/O error pops out or not depends on how many people are using that shared drive. Maybe ... so I probably need another saving space. Thank you very much for your help! Tina On 1/18/10, Michael Raithel <michaelraithel(a)westat.com> wrote: > > Dear SAS-L-ers, > > Tina Shaw posted the following: > > > Hi, > > > > I get weird SAS I/O error from time to time. Here is an example. > > > > First I created a sas dataset "customer.sas7bdat" in library abc. It > > has > > 8545476 observations and 3 numeric variables. > > > > Next I sorted it. The code is really simple. > > Proc sort data=abc.customer;by customerid;run; > > Then it returned error message saying "ERROR: An I/O error has occurred > > on > > file ABC.CUSTOMER.DATA". > > > > I thought probably it's something related to the memory even though the > > sas > > dataset is not really huge. Therefore I tried > > data inv01; > > set abc.customer (firstobs=1 obs=100); > > run; > > And it worked, I got inv01.sas7bdat. > > > > After this, I re-do the proc sort on abc.customer. Sometime the I/O > > error > > will disappear and everything is back to normal. Sometime it's just > > dead. > > > > The worse time is after I run library abc "whatever/whatever"; > > Then just right click on the the customer.sas7bdat icon to see the > > properties, it returns the I/O error message. > > > > This has happened many times. The I/O error is on and off from time to > > time, > > but I could not figure out when it comes back and when it is gone. BTW, > > that's not a shared library so it's impossible that another user is > > touching > > the dataset while I am running my code. The size of the library folder > > is > > growing as the customer base is growing, but not dramatically from day > > to > > day. > > > > My SAS version is 9.1.3. > > > > Could someone help me with this puzzle? > > > > Thank you in advance! > > > Tina, I liked Daniel's suggestion, and lament that it did not work! > > Perhaps you have a damaged SAS data set (abc.customer). Consider doing the > following: > > Options msglevel=I; > > proc datasets library=abc nolist; > repair customer; > run; > > ...to repair your SAS data set. See if that works! > > Tina, best of luck in all of your SAS endeavors! > > > I hope that this suggestion proves helpful now, and in the future! > > Of course, all of these opinions and insights are my own, and do not > reflect those of my organization or my associates. All SAS code and/or > methodologies specified in this posting are for illustrative purposes only > and no warranty is stated or implied as to their accuracy or applicability. > People deciding to use information in this posting do so at their own risk. > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > Michael A. Raithel > "The man who wrote the book on performance" > E-mail: MichaelRaithel(a)westat.com > > Author: Tuning SAS Applications in the MVS Environment > > Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second > Edition > http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172 > > Author: The Complete Guide to SAS Indexes > http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409 > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > In the fight between you and the world, back the world. - Paul Dirac > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >
From: Proc Me on 18 Jan 2010 17:28
Tina, I've a few questions and a suggestion! What system is SAS running on, is it Windows? Do you have a connection to a server, if so, what and where? Is your work directory specified as a location on a drive that is itself low on disk space, is this work drive shared? Is there a value for the system option utilloc? Are the paths for work and utilloc, if relevant, valid? The reason I ask is that I came across this note in the SAS knowledge base: http://support.sas.com/kb/12/135.html Sorting may create temporary files either in work, or in utilloc, and it may be that you are experiencing errors due to congestion here, rather than in the drive that the libname abc points to. The failure to sort into a dataset in work would be consistent with insufficient space in work, as might the proc datasets behaviour. You can write the pathname of work (in Windows) to the SAS log using %put %sysfunc(pathname(work)); It may be that you need another work space, rather than another saving space. Proc Me PS: If you are looking at work spaces, you might as well check to see if there are orphaned work directories from abended SAS sessions taking up space unnecessarily. PPS: Consider using the tagsort option of the proc sort statement to reduce the size of temporary files when sorting, specifying an out= dataset for testing purposes, and specifying compress=binary to reduce file sizes, if these are not familiar. |