Skip to content

Library definitions

Altair SLC Hub enables you to centrally define and manage library definitions for use in a SAS language program and Altair Analytics Workbench Workflow. For SAS language programs, you set user-specific access to libraries using a feature called Libname bindings.

With appropriate administrative access, you can use the Altair SLC Hub web portal to create and manage library definitions centrally in the Altair SLC Hub. You can also use Altair SLC Hub to specify all appropriate properties for each engine and operating system, in exact parallel to a LIBNAME statement in the SAS language.

The two key advantages of defining libraries in Altair SLC Hub are:

  • If any aspect of library access changes (location, options specified, etc.), you can make the change once centrally, eliminating the need to change multiple LIBNAME statements in a SAS language program. This saves time and reduces the risk of errors in the statement definition.
  • Library access can be fully customised for each Altair SLC Hub user type. For example, two Altair SLC Hub users could use the same resource from Workbench, but be connected with different options appropriate to their user type. For example, a library definition could be created to give one user group read-only access to a dataset and another group read and write access.

Library definitions are specified differently in SAS language programs and Workflows:

  • For SAS language programs, Altair SLC Hub library definitions are referenced from code using keywords called Libname bindings, which are user or user group specific. When a user logs into Altair SLC Hub from Altair Analytics Workbench, the Libname bindings that are associated with them automatically become visible as data sources and can be referenced by name in the program.
  • For Workflows, the Altair SLC Hub Library Definition name is used to reference the data source directly without Libname bindings. As with any feature of Altair SLC Hub, the library definitions that users have access to can still be controlled in Altair SLC Hub using access controls.

Note

Although libraries are defined in Altair SLC Hub, the actual library call is made by the worker node on which the SAS language program is run. Third-party and other appropriate software will therefore need to be installed on the worker node to enable access to the specified library depending on the library type.

Libname binding names do not have to be unique, either in a library definition or Altair SLC Hub as a whole. This allows full flexibility in how libraries are defined and referenced; for example, different user types can quote the same libname binding name in their code, but Altair SLC Hub can offer each user type different levels of access. The downside of this flexibility is that the possibility exists for one user to see two identically named Libname bindings, with no way of differentiating them in their code. If that happens, the library referencing from SAS language code cannot be guaranteed to be consistent. It is therefore recommended that care is taken when defining Libname bindings to prevent such clashes.

Changes made to library definitions and Libname bindings do not appear in a Processing Engine in Altair Analytics Workbench until that Processing Engine is restarted.

Portal interface

The Library Definitions page of Altair SLC Hub is used to view and create library definitions and libname bindings.

From the list that displays, you can select a library name to modify its properties or click more (...) at the right of each library name to rename or delete it or to change the namespace.

To create a library definition:

  1. Click the New button.
  2. In the dialog box, enter a library name and select a library engine from the dropdown list. The library engine is the type of resource that the library will access.
  3. Depending on your selected library engine, specify the location and platforms (such as Linux, Windows, or macOS). The location refers to the physical location associated with the library and could be a directory name, host name, or name of a database server.
  4. Click Next.
  5. Configure the selected library engine by modifying its properties, including its connection information. For certain library engines (for example Hadoop, MySQL, and Snowflake), you need to specify authentication information. That information is username and password for credential authentication and AuthDomain for AuthDomain authentication.
  6. Click Finish to further modify the library definition in the Edit Library Definition page.

To add a Libname binding:

  1. In the Edit Library Definition page, click the Libname Bindings tab.
  2. Click Add.
  3. In the dialog box, enter a libname, which must start with a letter and contain only alphanumeric characters, underscores, or forward slashes. Note that the libname is the name to which the library definition will be bound in a SAS language program. It is equivalent to the library name in a LIBNAME statement.
  4. Click the User or Group field to display the list of available Altair SLC Hub users and groups and then make your selection.

From the Edit Library Definition page, you can test the access control rules for your selected user or group.

  1. In the Edit Library Definition page, click the Access Control Test tab.
  2. In the Action field, click the dropdown arrow to display the list of available actions and then make your selection.
  3. Click the User field to display the list of users and then make your selection.
  4. Click Test Access to proceed with the access control test and view the result, which will show the overall effect of the rule that matches the test parameters.

After editing the library definition, click Save Changes to save your modifications. Alternatively, click Revert to undo the changes made.