Starburst Galaxy

  •  Get started

  •  Working with data

  •  Data engineering

  •  Developer tools

  •  Cluster administration

  •  Security and compliance

  •  Troubleshooting

  • Galaxy status

  •  Reference

  • Google Sheets #

    Use a Google Sheets catalog to configure access to a Google Sheets spreadsheet.

    Follow these steps to create a catalog for Google Sheets:

    1. In the navigation menu, select Data, then Catalogs.
    2. Click Create catalog.
    3. On the Select a data source pane, click the Google Sheets icon.

    Select a data source

    1. Configure the catalog as prompted in the dialog.
    2. Test the connection.
    3. Connect the catalog.
    4. Set any required permissions.
    5. Add the new catalog to a cluster.

    The following sections provide more detail for creating Google Sheets catalog connections.

    Define catalog name and description #

    The Catalog name is visible in the query editor and other clients. It is used to identify the catalog when writing SQL or showing the catalog and its nested schemas and tables in client applications.

    The name is displayed in the query editor, and in the output of a SHOW CATALOGS command. It is used to fully qualify the name of any table in SQL queries following the catalogname.schemaname.tablename syntax. For example, you can run the following query in the sample cluster without first setting the catalog or schema context: SELECT * FROM tpch.sf1.nation;.

    The Description is a short, optional paragraph that provides further details about the catalog. It appears in the Starburst Galaxy user interface and can help other users determine what data can be accessed with the catalog.

    Enter catalog name and description

    Authentication to Google Sheets Catalogs #

    Access to Google Sheets catalogs requires authentication using API keys.

    Create a JSON-formatted API key for your Google Cloud account.

    Google Sheets authentication

    Test the connection #

    Once you have configured the connection details, click Test connection to confirm data access is working. If the test is successful, you can save the catalog.

    If the test fails, look over your entries in the configuration fields, correct any errors, and try again. If the test continues to fail, Galaxy provides diagnostic information that you can use to fix the data source configuration in the cloud provider system.

    Connect catalog #

    Click Connect catalog, and proceed to set permissions where you can grant access to certain roles.

    Set permissions #

    Use the following steps to assign read-only access to a specified set of roles:

    1. Select the Read-only catalog switch to grant a set of roles read-only access to the catalog’s schemas, tables, and views. For catalogs that are pre-set to read-only, this switch is already set and is disabled.
    2. Next, use the drop-down menu in the Role-level permissions section to specify the roles that have read-only access.
    3. Click Save access controls.

      Set permissions for read only screenshot

    Add to cluster #

    You can add your catalog to a cluster later by editing a cluster. Click Skip to proceed to the catalogs page.

    Use the following steps to add your catalog to an existing cluster or create a new cluster in the same cloud region:

    • In the Add to cluster section, expand the menu in the Select cluster field.
    • Select one or more existing clusters from the drop down menu.
    • Click Create a new cluster to create a new cluster in the same region, and add it to the cluster selection menu.
    • Click Add to cluster to view your new catalog’s configuration.

        Add to cluster

    SQL support #

    The catalog provides read access to data and metadata in Google Sheets.

    How to use the Google Sheets catalog #

    Requirements for accessing the data in your Google Sheets are as follows:

    • You must share the Google Sheet with the service account email address for your Google Cloud service account.
    • In the query editor, your Google Sheets catalog is not displayed in the form of schemas and tables as with other catalogs. You must use SQL commands as shown in the following examples for a catalog named google_sheets:

    Specify a spreadsheet:

         SELECT *
         FROM
           TABLE(google_sheets.system.sheet(id => '1qWssXSqoXcJPgO4LfzOKi3AFNwhCoo61fdTz6-8TsJY'));
    

    Specify a sheet name to return all the content in the sheet. In this example, the sheet name is Sheets2:

         SELECT *
         FROM
           TABLE(google_sheets.system.sheet(
               id => '1qWssXSqoXcJPgO4LfzOKi3AFNwhCoo61fdTz6-8TsJY',
               range => 'Sheets2'));
    

    A cell range can be provided as an optional range argument. The default cell range is $1:$10000. Specify a cell range to return the desired content from the first sheet:

         SELECT *
         FROM
           TABLE(google_sheets.system.sheet(
               id => '1qWssXSqoXcJPgO4LfzOKi3AFNwhCoo61fdTz6-8TsJY',
               range => 'B17:D26'));
    

    Specify a cell range to return the desired content from a sheet subsequent to the first:

         SELECT *
         FROM
           TABLE(google_sheets.system.sheet(
               id => '1qWssXSqoXcJPgO4LfzOKi3AFNwhCoo61fdTz6-8TsJY',
               range => 'Sheet2!B17:D26'));
    

    For Google Sheets without column names, the import process assumes the top row is the header line.