Book Image

Snowflake Cookbook

By : Hamid Mahmood Qureshi, Hammad Sharif
Book Image

Snowflake Cookbook

By: Hamid Mahmood Qureshi, Hammad Sharif

Overview of this book

Snowflake is a unique cloud-based data warehousing platform built from scratch to perform data management on the cloud. This book introduces you to Snowflake's unique architecture, which places it at the forefront of cloud data warehouses. You'll explore the compute model available with Snowflake, and find out how Snowflake allows extensive scaling through the virtual warehouses. You will then learn how to configure a virtual warehouse for optimizing cost and performance. Moving on, you'll get to grips with the data ecosystem and discover how Snowflake integrates with other technologies for staging and loading data. As you progress through the chapters, you will leverage Snowflake's capabilities to process a series of SQL statements using tasks to build data pipelines and find out how you can create modern data solutions and pipelines designed to provide high performance and scalability. You will also get to grips with creating role hierarchies, adding custom roles, and setting default roles for users before covering advanced topics such as data sharing, cloning, and performance optimization. By the end of this Snowflake book, you will be well-versed in Snowflake's architecture for building modern analytical solutions and understand best practices for solving commonly faced problems using practical recipes.
Table of Contents (12 chapters)

Chapter 10: Extending Snowflake Capabilities

This chapter provides techniques for extending Snowflake capabilities and integrating a Snowflake-based data warehouse to work with other technologies. The chapter guides you through the creation of User-Defined Functions (UDFs), which can help introduce functionality that may currently be missing in Snowflake. It also talks about the two different languages that UDFs support and the two different modes in which UDFs can exist, and offers a guide on connecting Snowflake with Apache Spark for data exchanges between Snowflake and Spark. Then, the chapter explores scenarios involving externalizing data processing to a Spark engine, which could help support existing Spark pipelines in the customer's ecosystem or as a cost optimization technique for ETL.

The following recipes will be covered in this chapter:

  • Creating a Scalar user-defined function using SQL
  • Creating a Table user-defined function using SQL
  • Creating a Scalar...