I am importing a mildly large ~3gb xml file into SAS 9.4 on Windows. When I do, I run into "The SAS System stopped processing this step because of insufficient memory." However, when I (1) run this on a large-memory server and (2) increase the memsize and memmaxsz options to 500 gb each (verifying using proc options), it still gives the error. I don't believe memory is actually the problem, because when I run "options fullstimer" I receive the results:
NOTE: DATA statement used (Total process time):
real time 3:12.07
user cpu time 2:38.18
system cpu time 31.65 seconds
memory 1758.46k
OS Memory 15864.00k
Timestamp 09/08/2018 08:37:18 AM
Step Count 5 Switch Count 3
Which suggests that the process isn't actually using much memory at all! Any suggestions would be appreciated.
The full code I use is:
proc options;
run;
options fullstimer;
libname in xml 'Y:\Flexibility\Devices.xml';
data Device;
set in.Device (keep = device1 devicedescription devicecategory deviceregion devicepurpose price);
run;
proc export data = Device outfile='Y:\Device\Devices.txt' dbms=tab replace;
run;
Create an xml map that will tell SAS how to parse the XML file.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.