Skip to content

rewrite snowflake quickstart guide #83

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

HarshCasper
Copy link
Member

No description provided.

Copy link

github-actions bot commented May 30, 2025

🎊 PR Preview has been successfully built and deployed to https://localstack-snowflake-docs-preview-pr-83.surge.sh 🎊

@HarshCasper HarshCasper requested a review from remotesynth May 30, 2025 14:46
Copy link

@mmaureenliu mmaureenliu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi I really like the direction this is going. In a simple guide, the user completes a data task from loading data to querying data. I've made some suggestions, mainly around not muddling the water with aws components (namely s3).

@@ -9,14 +9,15 @@ description: Get started with LocalStack for Snowflake in a few simple steps

## Introduction

This guide explains how to set up the Snowflake emulator and develop a Python program using the Snowflake Connector for Python (`snowflake-connector-python`) to interact with emulated Snowflake running on your local machine.
This guide explains how to set up the Snowflake emulator and use Snowflake CLI to interact with Snowflake resources running on your local machine. You'll learn how to create databases, tables, set up automated data ingestion using Snowpipe, and work with S3 storage - all running locally with LocalStack.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this fuller example as it shows how to do something useful. However I'd prefer not to mention s3 here. Not all our snowflake prospects are on the aws ecosystem and this will just confuse them. Plus I don't want awscli as a pre-req to our most basic snowflake quide.

- [`snowflake-connector-python` library](https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-install)
- [`awscli-local`](https://github.com/localstack/awscli-local) for interacting with LocalStack's S3 service

It is also recommended to setup an [integration]({{< ref "user-guide/integrations/" >}}) to run your SQL queries. We recommend using the [Snowflake CLI]({{< ref "user-guide/integrations/snow-cli" >}}), [DBeaver]({{< ref "user-guide/integrations/dbeaver" >}}) or the [LocalStack Web Application]({{< ref "user-guide/user-interface" >}}) for this purpose.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested edit:

LocalStack for Snowflake works with popular Snowflake integrations to run your SQL queries. This guide uses the [Snowflake CLI], but you can also use [snowSQL], [DBeaver] or the [LocalStack Web Application] for this purpose.

- Create databases, schemas, and tables
- Set up S3 stages for data storage
- Configure Snowpipe for automated data ingestion
- Load sample student data from CSV files

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As suggested above, it's better leave out s3 in the quick start guide, but we can mention it at the end or in next steps, e.g. (the spirit, not exact words)

Why Not Try

  • You can load data through our [Storage Integration] (currently supporting aws s3) or using a script (see [Snowflake Drivers])
  • You can configure [Snowpipe] for automated data ingestion
  • You can continue to work with your favourite tools to develop on LocalStack for Snowflake locally, see [Integrations]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously, that means you'll change much of the tutorial here. I suggest modelling on snowflake's own getting started guide https://docs.snowflake.com/en/user-guide/tutorials/snowflake-in-20minutes where it uses the more typical database tutorial data loading method of uploading from local machine. It does so through the PUT command (https://docs.snowflake.com/en/user-guide/tutorials/snowflake-in-20minutes#stage-data-files) which according to our docs we do support as well (https://snowflake.localstack.cloud/user-guide/stages/#upload-data-to-the-stage). This will also significantly cut down the length of the getting started guide and make it extremely easy to follow.

Optionally, you can also query your Snowflake resources & data using the LocalStack Web Application, that provides a **Worksheet** tab to run your SQL queries.

<img src="snowflake-web-ui.png" alt="Running SQL queries using LocalStack Web Application" width="900"/>

### Destroy the local infrastructure

To stop LocalStack and remove locally created resources, use:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is meant for later lines but it's greyed out and I can't seem to comment there:
We're not going to mention Cloud Pods and have a docs ticket open to move the mentioning of it from snowflake docs. Instead I suggest edit the persistence paragraph to something like this:

... all locally created resources are automatically removed. To persist the state of your LocalStack for Snowflake instance, please check out our guide on [State Management].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants