A little like the brilliant lead characters in the movie, Hidden Figures, there are data fundamentally required for a SAS Viya deployment to work which are not publicly visible. (Okay, that was a little tenuous, but I liked the movie and it's a fitting title for this post.)
SAS Cloud Analytic Services (CAS) has a feature which hides CAS libraries and tables in most views. It is used to keep internal, operational data used by Viya applications out of sight, but SAS Administrators should know they exist and how to find them. They contain data which could be useful for troubleshooting or for understanding how your deployment is behaving.
Perhaps you have used Metabrowse in the SAS 9 Display Manager or the Data Step functions for reading and writing Metadata to discover the inner structure of SAS 9 Metadata? If you have, you may appreciate knowing how to see this bit of the inner workings of your SAS Viya deployment. I believe these hidden figures deserve their moment in the spotlight, so long as we treat them with respect.
Here is an easy way to find the hidden caslibs in your deployment. In SAS Studio, run the following code:
cas mySession sessopts=(caslib=casuser timeout=1800 locale="en_US");
proc cas;
table.caslibInfo result=r / showHidden=TRUE ;
print findtable(r).where(hidden=1);
quit;
cas mySession terminate;
On one of my Viya deployments, this produced the output below:
Click any image to see a larger version. |
In this particular deployment, there are four hidden caslibs: AppData, ProductData, ReferenceData, and VAModels. These are all predefined caslibs created when SAS Viya was deployed. Your deployment may have other hidden caslibs if it has a different set of products than this one.
Not all predefined caslibs are hidden, of course. CASUSER(username), Formats, Public, and Samples are all pre-created and obviously all visible! The SystemData caslib which 'stores application-generated data that is used for general reporting' is visible too. It includes the tables which hold data from the Environment Manager Data Mart and are used for the and system monitoring charts in the Environment Manager Dashboard and elsewhere. SAS developers have just decided that the AppData, ProductData, ReferenceData, and so on have a much narrower audience.
By default, all Authenticated Users can see hidden caslibs in the Data page in SAS Environment Manager, and normal CAS access controls determine what they can see and do with those caslibs and tables.
If you have a programming-only deployment and you enable CAS Server Monitor (which is disabled by default in SAS Viya 3.4), you can also see hidden caslibs there, among the other Global Caslibs:
The 'Hidden' flag for a caslib is NOT a security feature and you should not confuse it with authorization. The hidden flag has no effect on a users' ability to read information about the caslib or to interact with the tables inside the caslib, e.g. select (view) data. Hiding a caslib just helps remove a distraction from most views of data in the user interfaces.
According to SAS documentation, the 'Hidden' flag affects all users, including users who have opted-in to the SAS Administrator assumable group or users who have assumed the CAS Superuser role.
I imagine that over time, a few SAS customers (or consultants working on their behalf) may build bespoke applications where they choose to hide one or more of their CAS libraries for some reason. In Viya 3.3, I think you could check the 'Hidden' flag for a caslib in SAS Environment Manager's Data page. But in Viya 3.4, the only way I'm aware of is to set the Hidden flag in code when you run the tables.addCaslib action.
Most of the time, there's no need to worry about the hidden caslibs - they are not mysterious, and the applications that use hidden caslibs seem to 'just work.' At least, they do on the lightly-used systems I've been working with. But a thorough SAS Administrator may want to check the Data page in SAS Environment Manager or perhaps run the code above to be aware of which hidden caslibs exist on their deployment and be aware that they consume a little bit of system resources. You may even find use for the data within them for troubleshooting of some kind.
I'd be very interested to hear from anyone who has done something with tables in AppData, ProductData or ReferenceData. Please do get in touch if you have.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning and boost your career prospects.