Install PolyBase on Linux

Applies to: SQL Server 2019 (15.x) - Linux

The following steps install PolyBase (mssql-server-polybase and mssql-server-polybase-hadoop) on Linux. PolyBase enables you to run external queries against remote data sources.

Note

Before installing PolyBase, first install SQL Server. This configures the keys and repositories that you use when installing the mssql-server-polybase and mssql-server-polybase-hadoop package.

Note

  • PolyBase is not supported on SQL Server 2017 for Linux.
  • Scale-out for PolyBase on Linux is currently unavailable.
  • Hadoop is no longer supported on SQL Server 2022.

Install PolyBase for your operating system:

Install on RHEL

Applies to: SQL Server 2019 (15.x) and later versions

  1. Download the Microsoft Red Hat repository configuration file.

    For RHEL7:

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    

    For RHEL8:

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Use the following command to install the mssql-server-polybase on Red Hat Enterprise Linux.

    sudo yum install -y mssql-server-polybase
    
  3. You will be prompted to restart the SQL Server instance. Use the following command to do so.

    sudo systemctl restart mssql-server
    

    Note

    After installation, you must enable the PolyBase feature.

Installing Hadoop on RHEL

Applies to: SQL Server 2019 (15.x)

Use the following command to install the mssql-server-polybase-hadoop.

  1. sudo yum install -y mssql-server-polybase-hadoop
    

    The PolyBase Hadoop package has dependencies on the following packages:

    • mssql-server
    • mssql-server-polybase
    • mssql-server-extensibility
    • mssql-zulu-jre-11.
  2. Installation prompts to restart launchpadd. Use the following command to do so.

    sudo systemctl restart mssql-launchpadd
    

Note

After installation, you must set the Hadoop connectivity level.

If you need an offline installation, locate the PolyBase package download in the Release notes. Then use the same offline installation steps described in the article Install SQL Server.

Install on Ubuntu

Applies to: SQL Server 2019 (15.x) and later versions

  1. Register the Microsoft Ubuntu repository.

    For Ubuntu 16.04:

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    

    For Ubuntu 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    

    For Ubuntu 20.04:

    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  2. Use the following command to install the mssql-server-polybase on Ubuntu.

    sudo apt-get install mssql-server-polybase
    
  3. When prompted, restart the SQL Server instance.

    sudo systemctl restart mssql-server
    

    Note

    After installation, you must enable the PolyBase feature.

    If you need an offline installation, locate the PolyBase package download in the Release notes. Then use the same offline installation steps described in the article Install SQL Server.

Installing Hadoop on Ubuntu

Applies to: SQL Server 2019 (15.x)

  1. Use the following command to install the mssql-server-polybase-hadoop.

    sudo apt-get install mssql-server-polybase-hadoop
    

    The PolyBase Hadoop package has dependencies on the following packages:

    • mssql-server
    • mssql-server-polybase
    • mssql-server-extensibility
    • mssql-zulu-jre-11
  2. Installation prompts to restart launchpadd. Use the following command to do so.

    sudo systemctl restart mssql-launchpadd
    

Note

After installation, you must set the Hadoop connectivity level. This step only applies to SQL Server 2019 (15.x).

Install on SLES

Applies to: SQL Server 2019 (15.x) and later versions

  1. Add the Microsoft SQL Server repository to Zypper.

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo 
    sudo zypper --gpg-auto-import-keys refresh
    
  2. Use the following commands to install the mssql-server-polybase on SUSE Linux Enterprise Server.

    sudo zypper install mssql-server-polybase
    

    You will be prompted to restart the SQL Server instance. Use the following command to do so.

  3. sudo systemctl restart mssql-server
    

Note

After installation, you must enable the PolyBase feature.

If you need an offline installation, locate the PolyBase package download in the Release notes. Then use the same offline installation steps described in the article Install SQL Server.

Enable PolyBase

After installation, PolyBase must be enabled to access its features. Connect to the installed SQL Server instance and use the following Transact-SQL command to enable.

exec sp_configure @configname = 'polybase enabled', @configvalue = 1;
RECONFIGURE WITH OVERRIDE;

Update PolyBase

If you already have mssql-server-polybase installed, you can update to the latest version with the following commands:

RHEL with Hadoop

Applies to: SQL Server 2019 (15.x)

sudo yum remove -y mssql-server-polybase-hadoop
sudo yum remove -y mssql-server-polybase
sudo yum check-update
sudo yum install -y mssql-server-polybase
sudo yum install -y mssql-server-polybase-hadoop

RHEL without Hadoop

sudo yum remove -y mssql-server-polybase
sudo yum check-update
sudo yum install -y mssql-server-polybase

You will be prompted to restart the SQL Server instance. Use the following command to do so.

sudo systemctl restart mssql-server

Ubuntu with Hadoop

Applies to: SQL Server 2019 (15.x).

sudo apt-get remove mssql-server-polybase-hadoop
sudo apt-get remove mssql-server-polybase
sudo apt-get update 
sudo apt-get install mssql-server-polybase
sudo apt-get install mssql-server-polybase-hadoop

Ubuntu without Hadoop

sudo apt-get remove mssql-server-polybase
sudo apt-get update 
sudo apt-get install mssql-server-polybase

You will be prompted to restart the SQL Server instance. Use the following command to do so.

sudo systemctl restart mssql-server

SLES

sudo zypper remove mssql-server-polybase
sudo zypper refresh
sudo zypper install mssql-server-polybase

You will be prompted to restart the SQL Server instance. Use the following command to do so.

sudo systemctl restart mssql-server

Note

After installation, you must enable the PolyBase feature.

Next steps

PolyBase on Linux can access the following data sources. Follow the provided links for more information on how to create an external table from these sources on PolyBase is enabled.

For more information on how this is used, see Transact-SQL reference article for CREATE EXTERNAL TABLE.