Skip to main content

SAP HANA

Dremio supports connecting to SAP HANA directly via username and password.

Supported Versions

The SAP HANA source supports SAP HANA 2.0. The connector was tested against HANA Express.

Configuring SAP HANA as a Source

  1. On the Datasets page, to the right of Sources in the left panel, click This is the Add Source icon..
  2. In the Add Data Source dialog, under Databases, select SAP HANA.

General

Under Name, enter the name to identify the data source in Dremio. The name cannot include the following special characters: /, :, [, or ].

Connection

  • Under Host, enter the URL or IP address for the SAP HANA instance. Example: sap://myServer:
  • Under Port, enter the port required to access the data source. Port 39017 is the default for SAP HANA.
  • Under Schema (optional), enter the schema within the SAP HANA instance that you would like to connect to.

Authentication

Choose an authentication method:

  • User Credentials - Dremio must provide a specified username and password in order to access the SAP HANA.
    • Username - The username with sufficient privileges to perform read/write actions on the SAP HANA instance
    • Password - The password associated with the username.

Advanced Options

The following settings control more advanced functionalities in Dremio.

  • Advanced Options
    • **Record fetch size ** - Number of records to fetch at once. Set to 0 (zero) to have Dremio automatically decide. The default value is 200.
    • **Maximum idle connections ** - The maximum number of idle connections to keep. The default value is 8.
    • **Connection idle time (s) ** - Idle time, in seconds, before a connection is considered for closure. The default value is 60.
    • **Query timeout (s) ** - The timeout, in seconds, for query execution before it is canceled. Set to 0 for no timeout. The default value is 0.
  • Connection Properties
    • **Name ** - The unique name for any custom properties.
    • **Value ** - The value associated with the custom property.

Reflection Refresh

This tab controls the frequency of reflection refreshes or the timespan for expiration for any queries performed using this data source.

  • **Never refresh ** - Prevents any query reflections associated with this source from refreshing.
  • **Refresh every ** - Sets the time interval by which reflections for this source are refreshed. This may be set to hours, days, and weeks.
  • **Set refresh schedule ** - Specify the daily or weekly schedule.
  • **Never expire ** - Prevents any query reflections associated with this source from expiring.
  • **Expire after ** - Sets the time after a reflection is created that it then expires and can no longer be used for queries. This may be set to hours, days, and weeks.

Metadata

This tab offers settings that control how dataset details are fetched and refreshed.

  • Dataset Handling
    • **Remove dataset definitions if underlying data is unavailable ** - If this box is not checked and the underlying files under a folder are removed or the folder/source is not accessible, Dremio does not remove the dataset definitions. This option is useful in cases when files are temporarily deleted and put back in place with new sets of files.
  • Metadata Refresh
    • Dataset Discovery
      • **Fetch every ** - Specifies the time interval by which Dremio fetches object names. This can be set by minutes, hours, days, and weeks.
    • Dataset Details
      • **Fetch mode ** - Restricts when metadata is retrieved.
      • **Fetch every ** - Specifies the time interval by which metadata is fetched. This can be set by minutes, hours, days, and weeks.
      • **Expire after ** - Specifies the timespan for when dataset details expire after a dataset is queried. This can be set by minutes, hours, days, and weeks.

Privileges

On the Privileges tab, you can grant privileges to specific users or roles. See Access Control for additional information about privileges.

note

All privileges are optional.

  1. For Privileges, enter the user name or role name that you want to grant access to and click the Add to Privileges button. The USERS/ROLES table will display the added user or role.
  2. For the users or roles in the USERS/ROLES table, toggle the checkmark for each privilege you want to grant on the Dremio source that is being created.
  3. Click Save after setting the configuration.

Updating an SAP HANA source

To update an SAP HANA source:

  1. On the Datasets page, under Databases in the panel on the left, find the name of the source you want to update.
  2. Right-click the source name and select Settings from the list of actions. Alternatively, click the source name and then the The Settings icon at the top right corner of the page.
  3. In the Source Settings dialog, edit the settings you wish to update. Dremio does not support updating the source name.
  4. Click Save.

Deleting an SAP HANA Source

note

If the source is in a bad state (for example, Dremio cannot authenticate to the source or the source is otherwise unavailable), only users who belong to the ADMIN role can delete the source.

To delete an SAP HANA source, perform these steps:

  1. On the Datasets page, click Sources > Databases in the panel on the left.

  2. In the list of data sources, hover over the name of the source you want to remove and right-click.

  3. From the list of actions, click Delete.

  4. In the Delete Source dialog, click Delete to confirm that you want to remove the source.

    caution

    Deleting a source causes all downstream views that depend on objects in the source to break.

    note

    Sources containing a large number of files or tables may take longer to be deleted. During this time, the source name is grayed out and shows a spinner icon, indicating the source is being deleted. Once complete, the source disappears.

Predicate Pushdowns

Dremio delegates the execution of these expressions and functions to the database being queried, often dramatically improving query performance. It can also offload entire SQL queries that include one or more of the following expressions and functions:

%, *, +, -, /
<, <=, <>, =, >, >=, !=
AND, NOT, OR, ||
ABS
ACOS
ADD_MONTHS
ASIN
ATAN
ATAN2
AVG
CAST
CBRT
CEIL
CEILING
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
COS
COT
DATE_ADD
DATE_DIFF
DATE_SUB
DATE_TRUNC_CENTURY
DATE_TRUNC_DAY
DATE_TRUNC_DECADE
DATE_TRUNC_HOUR
DATE_TRUNC_MILLENIUM
DATE_TRUNC_MINUTE
DATE_TRUNC_MONTH
DATE_TRUNC_SECOND
DATE_TRUNC_YEAR
DEGREES
E
EXP
EXTRACT_DAY
EXTRACT_DOW
EXTRACT_DOY
EXTRACT_HOUR
EXTRACT_MINUTE
EXTRACT_MONTH
EXTRACT_QUARTER
EXTRACT_SECOND
EXTRACT_WEEK
EXTRACT_YEAR
FLOOR
IS DISTINCT FROM
IS NOT DISTINCT FROM
IS NOT NULL
IS NULL
LCASE
LEFT
LN
LOCATE
LOG
LOG10
LPAD
LTRIM
MAX
MIN
MOD
MONTH
PI
POSITION
POW
POWER
RADIANS
RAND
REPLACE
REVERSE
RIGHT
ROUND
RPAD
RTRIM
SIGN
SIN
SQRT
SUBSTR
SUBSTRING
SUM
TAN
TO_CHAR
TO_DATE
TRIM
TRUNC
TRUNCATE
UCASE
UPPER
YEAR