Configuring Data Sources

This article explains how to upload data files to EmcienScan by configuring settings within the EmcienScan Virtual Machine (VM). 

Configuring data sources requires typing commands through a command line interface in the VM. Listed below are the steps and commands that you can submit directly into the command line of the VM. However, if you are familiar with using SSH to run commands remotely, you can copy and paste the commands below into your personal system command line through an SSH connection to the VM. Although we recommend this route for users familiar with SSH, the instructions below will work if typed directly into the VM.

Step 1: Start the VM


Step 2: From the console on the VM login as the system user. The password will be displayed on the console.

 


Step 3: Execute the following commands

 

wget https://s3.amazonaws.com/cisco-cis/Client-7.0.2-all_eval.zip

mkdir cisco_cis

unzip "Client-7.0.2-all_eval.zip" -d cisco_cis

cd cisco_cis/apps/odbc/linux64

chmod a+x bin/driverConfig

sudo ODBCINI=/home/emcien-vm/.odbc-temp.ini ODBCINSTINI=/etc/odbcinst-temp.ini bin/driverConfig


Step 4A configuration utility will open where you need to enter the following choices:

 

2 Create, edit, delete or test a DSN

1 Create an ODBC 3.5 DSN

 


Step 5: Follow the prompts to fill in information about your CIS server. You will need to supply the following information for your system. Note the value in brackets is the default values.

 

Enter DSN name
Enter host [localhost]
Enter port [9401]
Enter encrypt [n]
Enter (y)es or (n)n> n
Enter sso [(Disabled)]
Enter (d)isabled or (k)erberos> d
Enter user
Enter password
Enter domain
Enter datasource
Enter catalog


Step 6: Test and Exit Utility by selecting choice 4 Test the connection for a DSN. You will see two choices - 0 (Cancel) and 1 <your DSN name> . Choose 1 and it should pass the test. If not, choose 2 from the menu to check and edit your connections. Choose 0 Return to main menu and then 0 Exit this utility.


Step 7: Give ownership of the files to the emcien-vm user account.

 

sudo chown emcien-vm:emcien-vm /home/emcien-vm/.odbc.ini

sudo chown emcien-vm:emcien-vm /home/emcien-vm/.odbc-temp.ini


Step 8: There are now two files that we need to edit to finish our configuration. The .odbc-temp.ini file contains the information that the VM needs to connect to CIS, but that information needs to be in the .odbc.ini file for the VM to be able to connect. The .odbc-temp.ini file needs to be edited and appended to the .odbc.ini file. This can be done in one of two ways:

 

One, if you are familiar with using linux and the command line on your server, scp the file to your local system and edit in a text editing program as shown starting in Step 2 below. Then upload to the same location in the VM as it was before.

 

Two, if you are not familiar with the command line, or are unsure of the settings on your server, you can edit the files in the Scan VM console using the native text editors vim or nano. The steps are as follows:
 

 

1. Make sure you are still logged into the VM console as the system user. On the command line in the EmcienScan VM console type: 

 

sudo su -l emcien-vm

 

This will change the active user from the system user to the emcien-vm user.

 

2. Edit the .odbc-temp.ini file, for example:  nano /home/emcien-vm/.odbc-temp.ini

 

The following information should appear in the file:

[ODBC Data Sources]

<your_cis_name> = composite70_x64

 

[your_cis_name]
Driver=/home/system/cisco_cis/apps/odbc/linux64/lib/libcomposite70_x64.so
host = <your_cis_host_name>
port=9401
sso=(Disabled)
uid=<your_username>
pwd=<your_password_as_a_hash>
domain=<your_domain>
dataSource=<your_Datasource>
catalog=<your_catalog>

[ODBC]
Trace=0
TraceAutoStop=0
TraceFile=sql.log

 

Delete the first and third paragraphs in the file, leaving only the middle paragraph, as seen below:

 

[your_cis_name]
Driver = /home/system/cisco_cis/apps/odbc/linux64/lib/libcomposite70_x64.so
host = <your_cis_host_name>
port = 9401
sso = (Disabled)
uid = <your_username>
pwd = <your_password_as_a_hash>
domain = <your_domain>
dataSource = <your_DataSource>
catalog = <your_catalog>

 

3. Save and exit the file. Append the .odbc-temp.ini file to the end of the .odbc.ini file by typing:

 

 cat /home/emcien-vm/.odbc-temp.ini >> /home/emcien-vm/.odbc.ini


Step 9: Now that all of the information is in the .odbc.ini file, we just need to go into that file and ensure that everything is formatted correctly. Open the file /home/emcien-vm/.odbc.ini  using nano or vim and remove the semicolon from the line at the top of the file concerning your CIS connector name, replacing the bracketed statement with the name of your CIS connector.

 

<Your Cisco CIS Connector Name> = composite70_x64

 

Step 10Save and close the file


Step 11: Next we need to configure the associated EmcienScan configuration file for this source. Create a configuration file at the path /home/emcien-vm/.odbc/<Your CIS Name>.ini. and add the text as shown below. Note that the filename must be in the format '<Your CIS Name>.ini' .

 

 nano /home/emcien-vm/.odbc/<Your CIS Name>.ini

 
[source]
desc = Example description

[queries]
full_row_count = SELECT count(*) FROM "{{TABLE}}"
all_rows = SELECT * FROM "{{TABLE}}"
limited_rows = SELECT TOP {{LIMIT}} * FROM "{{TABLE}}"
sampled_rows = SELECT * FROM "{{TABLE}}" WHERE RAND() < {{SAMPLE_RATE}}

[env]
; Often needed for ODBC driver to function
ODBCINI = /home/emcien-vm/.odbc.ini

Step 12: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the EmcienScan application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional. 

The steps below are for configuring the ODBC connection for an IBM Netezza Database.


Step 1: Login to the system console on the VM using the login of "system" and the password that displays on the VM screen.

 


Step 2: Enter the following commands:

 

mkdir /home/system/netezza

wget -P /home/system/netezza https://s3.amazonaws.com/odbc-drivers/nz-linuxclient.tar.gz

tar -xvf /home/system/netezza/nz-linuxclient.tar.gz -C /home/system/netezza

echo | sudo /home/system/netezza/nz-linuxclient-v7.2.0.0/linux64/unpack

rm -r /home/system/netezza


Step 3: Type sudo su -l emcien-vm and press enter


Step 4: Open the empty file /home/emcien-vm/.odbc.ini by typing  nano /home/emcien-vm/.odbc.ini


Step 5: Replace the placeholder information in the file with your database information and delete all of the leading semicolons and spaces at the beginning of each line. See the example below.

 

Note:  The IBM Netezza user must have read-only permissions. DO NOT use a user with any write permissions!

 
[Netezza]
Driver = /usr/local/nz/lib64/libnzodbc.so
ServerName = <server_name>
Port = 5480
Database = <netezza_database>
Username = <netezza_username>
Password = <netezza_password>
ReadOnly = true
ShowSystemTables = false
DataFormat = 1

Step 6: Save and close the file


Step 7: Next we need to configure the associated EmcienScan configuration file for this source. Create a configuration file at the path /home/emcien-vm/.odbc/Netezza.ini. and edit as shown below. Note that the filename must be in the format '<Your Datasource name>.ini' 

 

 nano /home/emcien-vm/.odbc/Netezza.ini

 
[source]
desc = <Enter your description>

[queries]
full_row_count = SELECT count(*) FROM "{{TABLE}}"
all_rows = SELECT * FROM "{{TABLE}}"
limited_rows = SELECT * FROM "{{TABLE}}" LIMIT {{LIMIT}}
sampled_rows = SELECT * FROM "{{TABLE}}" WHERE RANDOM() < {{SAMPLE_RATE}}

[env]
; Often needed for ODBC driver to function
LD_LIBRARY_PATH = /usr/local/nz/lib64

Step 8: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the EmcienScan application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional.  

The steps below are for configuring the ODBC connection for Microsoft SQL server.


Step 1: Login to the system console on the VM using the login of "system" and the password that displays on the VM screen.


Step 2: type sudo su -l emcien-vm and press enter


Step 3: Open the empty file /home/emcien-vm/.odbc.ini by typing nano /home/emcien-vm/.odbc.ini


Step 4: Replace the placeholder information in the file with your database information and delete all of the leading semicolons and spaces at the beginning of each line. See the example below.

 

Note: SQL Server user must have read-only permissions. DO NOT use a user with any write permissions. 

 
[SQL Server]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
port = 1433
database = <SQL Server Database>
Server = <SQL Server>
 

Step 5: Save and close the file


Step 6: Next we need to configure the associated EmcienScan configuration file for this source. Create a configuration file at the path '/home/emcien-vm/.odbc/SQL Server.ini'. Note that the filename must be in the format '<Your Datasource name>.ini' 

 

 nano "/home/emcien-vm/.odbc/SQL Server.ini"

 
[source]
desc = Example description
username = <Your Username>
password = <Your Password>

[queries]
full_row_count = SELECT count(*) FROM [{{TABLE}}]
all_rows = SELECT * FROM [{{TABLE}}]
limited_rows = SELECT TOP {{LIMIT}} * FROM [{{TABLE}}]
sampled_rows = SELECT * FROM [{{TABLE}}] WHERE (ABS(CAST((BINARY_CHECKSUM(*) * RAND()) as int)) % 100) < {{SAMPLE_RATE * 100}} 

Step 7: Restart the VM


Step 8: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the EmcienScan application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional. 

The steps below are for configuring the ODBC connection for a MYSQL server.


Step 1: Login to the system console on the VM using the login of "system" and the password that displays on the VM screen.


Step 2: Type sudo su -l emcien-vm and press enter


Step 3: Open the empty file /home/emcien-vm/.odbc.ini by typing nano /home/emcien-vm/.odbc.ini


Step 4: Replace the placeholder information in the file with your database information and delete all of the leading semicolons and spaces at the beginning of each line. See the example below.

 

Note:  The MySQL user must have read-only permissions. DO NOT use a user with any write permissions.

 
[MySQL]
Driver = MySQL
Server = <your_sql_server_host_name>
UID = <your_sql_user>
PWD = <your_sql_password>
DATABASE = <database_name>
PORT = 3306
CHARSET = UTF8
NO_CACHE = 1
FORWARD_CURSOR = 1

Step 5: Save and close the file


Step 6: Next we need to configure the associated EmcienScan configuration file for this source. Create a configuration file at the path /home/emcien-vm/.odbc/MySQL.ini.

Note that the filename must be in the format '<Your Datasource Name>.ini'

Also MySQL is case sensitive so make sure that the driver name matches the file name created.

 

nano /home/emcien-vm/.odbc/MySQL.ini

The tick marks in the select statements below are not the standard single tick ( ' ) but rather the back tick ( ` ) which can be found to the left of the number 1 on the keyboard.

[source]
desc = <Enter your description>

[queries]
full_row_count = SELECT count(*) from `{{TABLE}}`
all_rows = SELECT * from `{{TABLE}}`
limited_rows = SELECT * from `{{TABLE}}` LIMIT {{LIMIT}}
sampled_rows = SELECT * from (SELECT * FROM `{{TABLE}}`) sub_query where RAND() < {{SAMPLE_RATE}}

[env]
; Often needed for ODBC driver to function
LD_LIBRARY_PATH = /usr/local/lib

Step 7: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the EmcienScan application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional.

The steps below are for configuring the ODBC connection for Cloudera Hive.


Step 1: Login to the system console on the VM using the login of "system" and the password that displays on the VM screen.

 

 

Step 2: Execute the following commands

 

> mkdir cloudera

> cd cloudera

> wget -P /home/system/cloudera https://downloads.cloudera.com/connectors/hive_odbc_2.5.16.1005/Debian/clouderahiveodbc_2.5.16.1005-2_amd64.deb

> sudo dpkg -i /home/system/cloudera/clouderahiveodbc_2.5.16.1005-2_amd64.deb || sudo apt-get -qq install -f

> cd ..

> rm -r /home/system/cloudera


Step 3: Type sudo su -l emcien-vm and press enter


Step 4: Open the file /home/emcien-vm/.odbc.ini by typing nano /home/emcien-vm/.odbc.ini


Step 5: Replace the placeholder information in the file with your database information and delete all of the leading semicolons and spaces at the beginning of each line. See the example below.

Note:  Hive user must have read-only permissions. DO NOT use a user with any write permissions

 
[Cloudera]
Driver = /opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so
host = <cloudera_host>
port = 10000
uid = <cloudera_user>
pwd = <cloudera_password>
schema = Default

Step 6: Save and close the file


Step 7: Next we need to configure the associated EmcienScan configuration file for this source. Create a configuration file at the path '/home/emcien-vm/.odbc/Cloudera.ini'. Note that the filename must be in the format '<Your Datasource Name>.ini' 

 

 nano /home/emcien-vm/.odbc/Cloudera.ini

 
[source]
desc = <Enter your description>

[queries]
full_row_count = SELECT count(*) FROM `{{TABLE}}`
all_rows = SELECT * from `{{TABLE}}`
limited_rows = SELECT * from `{{TABLE}}` LIMIT {{LIMIT}}
sampled_rows = SELECT * from `{{TABLE}}` where RAND() < {{SAMPLE_RATE}}

[env]
; Often needed for ODBC driver to function
LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libodbcinst.so

Step 8: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the EmcienScan application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional. 

The steps below are for configuring the ODBC connection for a SAP HANA server.


Step 1: Download Driver for Linux

In order to download the SAP HANA driver you will need to register with SAP.  Once you have completed this use the link that SAP provides to download the driver.


Step 2: Install Driver under emcien-vm user

 

1. Start and log into the VM as the system user

2. Switch to the emcien-vm user:  sudo su -l emcien-vm

3. scp the zipped driver file downloaded in Step 1 to /home/emcien-vm

4. Unzip the file: unzip SAP_HANA_CLIENT.zip

5. Navigate to the unzip folder and go into the SAP_HANA_CLIENT folder

6. Execute the following commands:

 

chmod +x hdbinst

chmod +x hdbsetup

chmod +x hdbuninst

chmod +x instruntime/sdbrun

 

7. Install the HANA client using the following command:

 

./hdbinst -a client

The following text should appear in the VM console: 

SAP HANA Database Client installation kit detected.

SAP HANA Lifecycle Management - Client Installation 1.00.110.00.1447753075

**************************************************************************

Enter Installation Path [/home/emcien-vm/sap/hdbclient]:  

 

Pressing enter will install the driver.

   

8. Test the connection by running:

 

/home/emcien-vm/sap/hdbclient/hdbsql -n <HANA IP> -u <username> -p <password>

 

You should see:

 

emcien-vm@localhost:~/sap/hdbclient$ ./hdbsql

 

Welcome to the SAP HANA Database interactive terminal.

                                         

Type: \h for help with commands         

      \q to quit                        

 

hdbsql ECN=>

 

Type \s to run a simple status check and you should see:

 

host          : <your_hana_server>

sid           : <your_sid>

dbname        : <your_db_name>

user          : <username>

kernel version: 1.00.110.00.1447753075

SQLDBC version: libSQLDBCHDB 1.00.110.00 Build 1447753075-1530

autocommit    : ON

locale        : en_US.UTF-8

input encoding: UTF8

 

Type \dt to see a list of the schema.tables in your database.

Type \q to quit the interactive terminal.


Step 3: Add HANA entry to the .odbc.ini file

 

You should still be logged in as the emcien-vm user. Edit the /home/emcien-vm/.odbc.ini file using vim or nano to have the following entry:

 
[HANA]
ServerNode = <hana_server_ip:port>
driver = /home/emcien-vm/sap/hdbclient/libodbcHDB.so
databasename = <database_name>
sid = <hana_sid>
user = <username>
password = <password>
autocommit = ON
locale = en_US.UTF-8
input encoding = UTF8

Step 4: Add HANA.ini to /home/emcien-vm/.odbc/

 

Create a new file in /home/emcien-vm/.odbc/ called HANA.ini and add the following.

 
[source]
desc = <Enter your description>
username = <your_username>
password = <your_password>

[queries]
full_row_count = SELECT count(*) from "<YOUR_SCHEMA_NAME>"."{{TABLE}}"
all_rows = SELECT * from "<YOUR_SCHEMA_NAME>"."{{TABLE}}"
limited_rows = SELECT * from "<YOUR_SCHEMA_NAME>"."{{TABLE}}" LIMIT {{LIMIT}}
sampled_rows = SELECT * from "<YOUR_SCHEMA_NAME>"."{{TABLE}}" where RAND() < {{SAMPLE_RATE}}

[env]
LD_LIBRARY_PATH = /home/emcien-vm/sap/hdbclient
ODBCINI = /home/emcien-vm/.odbc.ini

Step 5: Restart the VM

You should see a HANA choice in the “Connect to Database” dropdown menu.


The steps below are for configuring the ODBC connection for PostgreSQL.


Step 1: Login to the system console on the VM using the login of "system" and the password that displays on the VM screen.


Step 2: Execute the following commands

sudo apt-get install odbc-postgresql


Step 3: Type sudo su -l emcien-vm and press enter


Step 4: Open the file /home/emcien-vm/.odbc.ini by typing

nano /home/emcien-vm/.odbc.ini


Step 5: Add PostgreSQL information to the .odbc.ini file.

 

You should still be logged in as the emcien-vm user. Edit the /home/emcien-vm/.odbc.ini file using vim or nano to have the following entry:

[PostgreSQL]
Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so
Servername = <Enter your host or IP address>
Port = <Enter your port, typically port 5432>
Database = <Enter your database>
Username = <Enter your username>
Password = <Enter your password>

Step 6: Save and close the file


Step 7: Next we need to configure the associated Cisco Data Explore configuration file for the PostgreSQL data source. Create a configuration file at the path '/home/emcien-vm/.odbc/PostgreSQL.ini'. Note that the filename must be in the format '<Your Datasource Name>.ini'

nano /home/emcien-vm/.odbc/PostgreSQL.ini

[source]
desc = <Enter your description>

[queries]
full_row_count = SELECT count(*) from {{TABLE}}
all_rows = SELECT * from {{TABLE}}
limited_rows = SELECT * from {{TABLE}} LIMIT {{LIMIT}}
sampled_rows = SELECT * from {{TABLE}} where RANDOM() < {{SAMPLE_RATE}}

[env]
LD_LIBRARY_PATH = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so


Step 8: To test your ODBC driver, you can visit the url 'http://<vm-url>/data_sources' from your browser. You will see a list of properly configured datasources. Click on your data source. In the middle section, you will see example commands for each of the query types defined. These examples are exact commands that the Cisco Data Explore application will run to execute those queries. Copy one or more of those examples and run them from the console to test whether the configuration is functional.

Although we list the exact steps in this article to take to connect EmcienScan to many different data sources, you may have a data source that is not covered in the rest of this article. However, this is not a problem- the general steps for setting up an ODBC connection are very simple, and connection typically takes a few minutes. Below is listed the steps in order.


Step 1: Install the Ubuntu Linux driver for your data source on the virtual machine

For EmcienScan to be able to see and communicate with your data source, it must have the connector installed on the Virtual Machine. Your data source vendor will have documentation that will list how to install on the VM- this is typically easy to find. For instance, a quick internet search for "MySQL ODBC Linux Driver" returns this page as the first result, which links to the ODBC connectors with download information and documentation.


Step 2: Enter the connection information and credentials into the /home/emcien-vm/.odbc.ini file

Now that the driver is installed, the VM must be given the connection information to "see" the data source. The connection information for all data sources is located at: /home/emcien-vm/.odbc.ini. There you will find some sample credentials for several different data sources, the vendor documentation will have the information that you will need to supply to configure the connection.


Step 3: Enter the ODBC configuaration information in the /home/emcien-vm/.odbc/<data_source>.ini file

A EmcienScan ODBC Configuration should accompany any data source configured via UnixODBC that is intended to be used in EmcienScan. While an ODBC datasource describes how to connect to a particular data source, the EmcienScan ODBC configuration provides parameters for how the EmcienScan application should use that connection. 

These additional configuration files are stored in the directory '/home/emcien-vm/.odbc/' with filenames that match the datasource. For example, for a datasource called 'MySQL Datasource', a matching EmcienScan ODBC configuration should exist at '/home/emcien-vm/.odbc/MySQL Datasource.ini'. 

 

Refer to the example configuration file below as a starting point. 

 
; This example should be used as a starting point for new EmcienScan ODBC configurations.
; It includes details on the required and optional parameters that can be passed in.

; The 'source' section is required for all configs.
[source]

; 'desc' is required for all configs.
; It is a plain text description that may be used in the user interface to describe
; this datasource
desc = Example Description

; 'username' is an optional config
; ODBC allows usernames to be passed in dynamically at runtime instead of storing them in the data
; source configuration file. If username is set, then the EmcienScan application will pass 
; in that username dynamically when the ODBC connection is established.
username = <Your datasource username>

; 'password' is an optional config
; ODBC allows passwords to be passed in dynamically at runtime instead of storing them in the data
; source configuration file. If password is set, then the EmcienScan application will pass 
; in that password dynamically when the ODBC connection is established.
password = <Your datasource password>

; The 'queries' section is required for all configs.
[queries]

; 'full_row_count' is required for all configs.
; This option should provide the query syntax for your driver to get a count of the
; rows in a table.
; `{{TABLE}}` should be inserted as a placeholder for the table name.
; For example, MySQL would use the syntax:  SELECT count(*) from `{{TABLE}}`
full_row_count = <Your Query Syntax>

; 'all_rows' is required for all configs.
; This option should provide the query syntax for your driver to retrieve all columns and rows from a table.
; `{{TABLE}}` should be inserted as a placeholder for the table name.
; For example, MySQL would use the syntax 'SELECT * from `{{TABLE}}`'
all_rows = <Your Query Syntax>

; 'limited_rows' is required for all configs.
; This option should provide the query syntax for your driver to retrieve all columns with up to a
; maximum number of rows from a table.
; `{{TABLE}}` should be inserted as a placeholder for the table name.
; {{LIMIT}} should be inserted as a placeholder for the maximum number of rows.
; For example, MySQL would use the syntax 'SELECT * from `{{TABLE}}` LIMIT {{LIMIT}}'
limited_rows= <Your Query Syntax>

; 'sampled_rows' is required for all configs.
; This option should provide the query syntax for your driver to retrieve all columns with a percentage
; of the rows from a table. These rows should be randomly selected as to represent a sample
; of the whole table. The EmcienScan application calculates this percentage(sample rate) 
; at runtime based upon the number of rows in the table and the parameters provided by the user.
; `{{TABLE}}` should be inserted as a placeholder for the table name.
; {{SAMPLE_RATE}} should be inserted as a placeholder for the percentage of rows (0.0 - 1.0)
; For example, MySQL would use the syntax 'SELECT * from `{{TABLE}}` where RAND() < {{SAMPLE_RATE}}'
sampled_rows = <Your Query Syntax>

; The 'env' section is optional.
; This section can be used to define any environment variables needed for the ODBC driver to run.
; For example, many drivers use the LD_LIBRARY_PATH environment variable. The EmcienScan  
; application will set these variables in the environment when it connects via ODBC.
[env]
; LD_LIBRARY_PATH = <Your path>