|
| 1 | +--- |
| 2 | +title: Connect to and manage Snowflake |
| 3 | +description: This guide describes how to connect to Snowflake in Azure Purview, and use Purview's features to scan and manage your Snowflake source. |
| 4 | +author: linda33wj |
| 5 | +ms.author: jingwang |
| 6 | +ms.service: purview |
| 7 | +ms.subservice: purview-data-map |
| 8 | +ms.topic: how-to #Required; leave this attribute/value as-is. |
| 9 | +ms.date: 11/19/2021 |
| 10 | +ms.custom: template-how-to #Required; leave this attribute/value as-is. |
| 11 | +--- |
| 12 | + |
| 13 | +# Connect to and manage Snowflake in Azure Purview (Preview) |
| 14 | + |
| 15 | +This article outlines how to register Snowflake, and how to authenticate and interact with Snowflake in Azure Purview. For more information about Azure Purview, read the [introductory article](overview.md). |
| 16 | + |
| 17 | +> [!IMPORTANT] |
| 18 | +> Snowflake as a source is currently in PREVIEW. The [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. |
| 19 | +
|
| 20 | +## Supported capabilities |
| 21 | + |
| 22 | +|**Metadata Extraction**| **Full Scan** |**Incremental Scan**|**Scoped Scan**|**Classification**|**Access Policy**|**Lineage**| |
| 23 | +|---|---|---|---|---|---|---| |
| 24 | +| [Yes](#register)| [Yes](#scan)| No | No | No | No| Yes| |
| 25 | + |
| 26 | +When scanning Snowflake, Purview supports: |
| 27 | + |
| 28 | +- Extract metadata including Snowflake servers, databases, schemas, tables, views, stored procedures, functions, pipes, stages, streams, tasks, sequences, and table/view/stream columns. |
| 29 | +- Fetch static lineage on assets relationships among tables, views and streams. |
| 30 | + |
| 31 | +## Prerequisites |
| 32 | + |
| 33 | +* An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). |
| 34 | + |
| 35 | +* An active [Purview resource](create-catalog-portal.md). |
| 36 | + |
| 37 | +* You will need to be a Data Source Administrator and Data Reader to register a source and manage it in the Purview Studio. See our [Azure Purview Permissions page](catalog-permissions.md) for details. |
| 38 | + |
| 39 | +* Set up the latest [self-hosted integration runtime](https://www.microsoft.com/download/details.aspx?id=39717). For more information, see [the create and configure a self-hosted integration runtime guide](../data-factory/create-self-hosted-integration-runtime.md). |
| 40 | + |
| 41 | +* Ensure [JDK 11](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html) is installed on the virtual machine where the self-hosted integration runtime is installed. |
| 42 | + |
| 43 | +* Ensure Visual C++ Redistributable for Visual Studio 2012 Update 4 is installed on the self-hosted integration runtime machine. If you don't have this update installed, [you can download it here](https://www.microsoft.com/download/details.aspx?id=30679). |
| 44 | + |
| 45 | +* The Snowflake user must have read access to system tables in order to access advanced metadata. |
| 46 | + |
| 47 | +## Register |
| 48 | + |
| 49 | +This section describes how to register Snowflake in Azure Purview using the [Purview Studio](https://web.purview.azure.com/). |
| 50 | + |
| 51 | +### Steps to register |
| 52 | + |
| 53 | +To register a new Snowflake source in your data catalog, do the following: |
| 54 | + |
| 55 | +1. Navigate to your Purview account in the [Purview Studio](https://web.purview.azure.com/resource/). |
| 56 | +1. Select **Data Map** on the left navigation. |
| 57 | +1. Select **Register** |
| 58 | +1. On Register sources, select **Snowflake**. Select **Continue**. |
| 59 | + |
| 60 | +On the **Register sources (Snowflake)** screen, do the following: |
| 61 | + |
| 62 | +1. Enter a **Name** that the data source will be listed within the Catalog. |
| 63 | + |
| 64 | +1. Enter the **server** URL used to connect to the Snowflake account, e.g. `xy12345.east-us-2.azure.snowflakecomputing.com`. |
| 65 | + |
| 66 | +1. Select a collection or create a new one (Optional) |
| 67 | + |
| 68 | +1. Finish to register the data source. |
| 69 | + |
| 70 | + :::image type="content" source="media/register-scan-snowflake/register-sources.png" alt-text="register sources options" border="true"::: |
| 71 | + |
| 72 | +## Scan |
| 73 | + |
| 74 | +Follow the steps below to scan Snowflake to automatically identify assets and classify your data. For more information about scanning in general, see our [introduction to scans and ingestion](concept-scans-and-ingestion.md). |
| 75 | + |
| 76 | +### Authentication for a scan |
| 77 | + |
| 78 | +The supported authentication type for a Snowflake source is **Basic authentication**. |
| 79 | + |
| 80 | +### Create and run scan |
| 81 | + |
| 82 | +To create and run a new scan, do the following: |
| 83 | + |
| 84 | +1. In the Management Center, select Integration runtimes. Make sure a self-hosted integration runtime is set up. If it is not set up, use the steps mentioned [here](./manage-integration-runtimes.md) to create a self-hosted integration runtime. |
| 85 | + |
| 86 | +1. Navigate to **Sources**. |
| 87 | + |
| 88 | +1. Select the registered Snowflake source. |
| 89 | + |
| 90 | +1. Select **+ New scan**. |
| 91 | + |
| 92 | +1. Provide the below details: |
| 93 | + |
| 94 | + 1. **Name**: The name of the scan |
| 95 | + |
| 96 | + 1. **Connect via integration runtime**: Select the configured |
| 97 | + self-hosted integration runtime |
| 98 | + |
| 99 | + 1. **Credential**: Select the credential to connect to your data source. Make sure to: |
| 100 | + * Select **Basic Authentication** while creating a credential. |
| 101 | + * Provide the user name used to connect to Snowflake in the User name input field. |
| 102 | + * Store the user password used to connect to Snowflake in the secret key. |
| 103 | + |
| 104 | + 1. **Warehouse**: Specify the name of the warehouse instance to use. |
| 105 | + |
| 106 | + 1. **Database**: Specify the name of the database instance to import. |
| 107 | + |
| 108 | + 1. **Schema**: List subset of schemas to import expressed as a semicolon separated list. For example, `schema1; schema2`. All user schemas are imported if that list is empty. All system schemas and objects are ignored by default. |
| 109 | + |
| 110 | + Acceptable schema name patterns using SQL LIKE expressions syntax include using %. For Example: `A%; %B; %C%; D` |
| 111 | + * Start with A or |
| 112 | + * End with B or |
| 113 | + * Contain C or |
| 114 | + * Equal D |
| 115 | + |
| 116 | + Usage of NOT and special characters are not acceptable. |
| 117 | + |
| 118 | + 1. **Maximum memory available**: Maximum memory (in GB) available on customer's VM to be used by scanning processes. This is dependent on the size of Snowflake source to be scanned. |
| 119 | + |
| 120 | + > [!Note] |
| 121 | + > As a thumb rule, please provide 1GB memory for every 1000 tables |
| 122 | +
|
| 123 | + :::image type="content" source="media/register-scan-snowflake/scan.png" alt-text="scan Snowflake" border="true"::: |
| 124 | + |
| 125 | +1. Select **Continue**. |
| 126 | + |
| 127 | +1. Choose your **scan trigger**. You can set up a schedule or ran the scan once. |
| 128 | + |
| 129 | +1. Review your scan and select **Save and Run**. |
| 130 | + |
| 131 | +[!INCLUDE [create and manage scans](includes/view-and-manage-scans.md)] |
| 132 | + |
| 133 | +## Next steps |
| 134 | + |
| 135 | +Now that you have registered your source, follow the below guides to learn more about Purview and your data. |
| 136 | + |
| 137 | +- [Data insights in Azure Purview](concept-insights.md) |
| 138 | +- [Lineage in Azure Purview](catalog-lineage-user-guide.md) |
| 139 | +- [Search Data Catalog](how-to-search-catalog.md) |
0 commit comments