Building Applications With Snowpark For Dummies
Building Applications With Snowpark For Dummies
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Building Applications
with Snowpark
by Monica Mehta
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Building Applications with Snowpark For Dummies®,
Snowflake Special Edition
Published by
John Wiley & Sons, Inc.
111 River St.
Hoboken, NJ 07030-5774
www.wiley.com
Copyright © 2024 by John Wiley & Sons, Inc., Hoboken, New Jersey
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise,
except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without
the prior written permission of the Publisher. Requests to the Publisher for permission should
be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ
07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Trademarks: Wiley, For Dummies, the Dummies Man logo, The Dummies Way, Dummies.com,
Making Everything Easier, and related trade dress are trademarks or registered trademarks of
John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be
used without written permission. Snowflake and the Snowflake logo are trademarks or registered
trademarks of Snowflake Inc. All other trademarks are the property of their respective owners.
John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.
For general information on our other products and services, or how to create a custom
For Dummies book for your business or organization, please contact our Business Development
Department in the U.S. at 877-409-4177, contact [email protected], or visit www.wiley.com/go/
custompub. For information about licensing the For Dummies brand for products or services,
contact BrandedRights&[email protected].
ISBN 978-1-394-23841-5 (pbk); ISBN 978-1-394-23840-8 (ebk)
Publisher’s Acknowledgments
Some of the people who helped bring this book to market include the following:
Development Editor: Nicole Sholly Sales Manager: Molly Daugherty
Project Manager: Jennifer Bingham Content Refinement Specialist:
Acquisitions Editor: Traci Martin Saikarthick Kumarasamy
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Table of Contents
INTRODUCTION................................................................................................ 1
About This Book.................................................................................... 2
Icons Used in This Book........................................................................ 2
Beyond the Book................................................................................... 3
Table of Contents v
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
CHAPTER 3: What You Can Build with Snowpark........................... 27
Building Data Pipelines....................................................................... 28
Data transformations.................................................................... 29
Custom business logic................................................................... 29
Data science and ML pipelines..................................................... 29
Building AI/ML Models........................................................................ 30
Model development...................................................................... 31
Model deployment and management........................................ 32
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Introduction
M
odern applications are revolutionizing the world. These
applications are not only transforming the way we inter-
act with technology but also reshaping various sectors of
society. They’re harnessing the power of vast amounts of data
and leveraging advanced artificial intelligence (AI) algorithms to
provide personalized experiences, make accurate predictions,
automate processes, and drive innovation. From healthcare to
finance, and education to entertainment, modern applications are
opening up new possibilities and changing our lives in ways we
could never have imagined.
Introduction 1
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
About This Book
The Snowflake Data Cloud, including Snowpark, helps develop-
ers overcome the challenges of building and deploying applica-
tions. The Snowflake Data Cloud is the best choice for application
architecture because it simplifies development and operations by
providing a unified, secure, and fully governed cloud environment
for data storage, integration analysis, and other computing tasks.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
This icon highlights concepts worth remembering as you immerse
yourself in all things Snowpark.
Introduction 3
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Defining modern applications
Chapter 1
Introduction to
Modern Applications
and Snowpark
T
he increasing market opportunities for data-intensive,
artificial intelligence (AI)-enriched applications are driven
by the explosion of data fueled by advances in wireless con-
nectivity, compute capacity, and the proliferation of Internet of
Things (IoT) devices. This is an exciting time for developers to
deliver innovative, data-driven apps to customers in every indus-
try, from healthcare to entertainment. But too many of them
spend most of their efforts on unproductive tasks. They wrestle
with reconciling different technologies, waste time managing
complex infrastructures, and struggle to hire in-demand opera-
tions specialists.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
THE ERA OF DATA
According to a 2023 report by Grand View Research, the global
software market size was valued at $583.47 billion in 2022 and is
expected to grow at a compound annual growth rate (CAGR) of
11.5 percent from 2023 to 2030. The report is titled “Software
Market Size, Share & Trends Analysis Report By Enterprise Size, By
Vertical (BFSI, Retail), By Deployment (On-premises, Cloud), By Type
(Productivity Software, Application Software), By Region, And Segment
Forecasts, 2023 - 2030,” — in case you want to read more about it.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Marketing apps can forecast customer behavior and
product strategies.
»» Health apps can identify and predict disease, and
personalize health recommendations.
»» Transportation apps can optimize shipping routes in real
time.
»» Security apps help teams monitor, detect, and respond to
events quickly.
»» Climate apps predict extreme weather events and enable
municipalities to plan and respond quickly.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» IoT: IoT apps ingest large volumes of time-series data from
devices and sensors for near real-time analysis in areas such
as security and personal health.
»» Application health and security analytics: Analytics are
crucial to maintaining the performance, availability, and
security of applications through use cases such as
performance availability and compliance monitoring.
»» ML and data science: Apps can use ML algorithms for
predictive analytics, image and speech recognition, fraud
detection, and customer service to name just a few
examples.
»» Embedded analytics: Embedded analytics is the integration
of data analytics capabilities within business applications,
allowing end users to access data insights.
Architecture of Applications
The architecture of a modern application includes three physical
tiers. The chief advantage of three-tier application architecture is
that developers can develop, modify, and scale the tiers separately
instead of changing the entire application.
Data tier
At the bottom is the data tier, sometimes called the database tier
or persistence layer. This is where the data that feeds the process-
ing tier is stored and managed. It includes the data storage and
access mechanisms. Ideally, this tier can be scaled easily to allow
for changes in the amount of data the application needs to handle
at specific times.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Processing tier
In the middle is the processing tier, also known as the business logic
or compute layer. This is where business logic for the application
is defined — for example, through a specific set of business rules.
This tier processes information that’s collected in the presenta-
tion tier as well as information stored in the data tier through
data transformations and ML models. The processing tier can also
add, change, or delete data in the data tier. The most popular pro-
gramming languages used in this tier are Python, Java, and Scala.
Presentation tier
On the top is the presentation tier, which houses the user interface.
This is where the user interacts with the data. Its main purpose
is to display information, communicate, and collect data from the
end user. For example, the presentation tier of a retail application
might include the mechanism for browsing merchandise, inter-
acting with the shopping cart, and purchasing.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
TABLE 1-1 The Ideal Modern Cloud Data Platform
Capability What It Does Benefit
The capacity for Separates compute from Enables users to scale up and
near-unlimited storage down automatically and work
resources concurrently without
impacting performance
Libraries
On the client side, Snowpark consists of libraries that include
the Snowpark API and Snowpark ML API. These are open-source
libraries that work with any Python environment.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
SNOWPARK CLIENT-SIDE
LIBRARIES
Client-side libraries include:
Runtimes
On the server side, runtimes include either Python, Java, and
Scala in the warehouse model or Snowpark Container Services.
Snowflake’s virtual warehouses are compute clusters that host
and run server-side contracts, such as user-defined functions
(UDFs) and stored procedures for processing custom logic.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
SNOWPARK SERVER-SIDE
RUNTIMES
Server-side runtimes include:
UDFs
Custom logic written in Python runs directly in Snowflake using
UDFs. These functions can stand alone or be called as part of a
DataFrame operation to process the data. Snowpark takes care of
serializing the custom code into Python byte code and pushes all
of the logic to Snowflake, so it runs next to the data.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Stored Procedures
Snowpark Stored Procedures help developers operationalize their
Python code and run, orchestrate, and schedule their pipelines.
A stored procedure is created once and can be executed many
times with a simple CALL statement in your orchestration or
automation tools. Snowflake supports stored procedures in SQL,
Python, Java, JavaScript, and Scala, so developers can easily create
polyglot pipelines feeding applications.
Anaconda packages
One of the benefits of Python is its rich ecosystem of open-source
packages and libraries. In recent years, open-source packages
have been one of the biggest enablers for faster and easier devel-
opment. To leverage open-source innovation, Snowpark has
partnered with Anaconda for a product integration without any
additional cost to the user beyond warehouse usage. Developers in
Snowflake are now able to speed up their Python-based pipelines
by taking advantage of the seamless dependency management
and comprehensive set of curated open-source packages provided
by Anaconda — all without moving or copying the data.
All Snowpark users can benefit from thousands of the most popu-
lar packages that are preinstalled from the Anaconda repository,
including FuzzyWuzzy for string matching, H3 for geospatial
analysis, and scikit-learn for ML and predictive data analysis.
Additionally, Snowpark is integrated with the Conda package
manager so users can avoid dealing with broken Python environ-
ments because of missing dependencies.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
transformation workflow, and in 2022, dbt introduced support
for Python. With dbt’s support for both SQL and Python, users
can write transformations in the language they find most familiar
and fit for purpose. And dbt on Snowpark allows analyses using
tools available in the open-source Python ecosystem, including
state-of-the art packages for data engineering and data science,
all within the dbt framework familiar to many SQL users.
Snowpark-optimized warehouses
Snowpark-optimized warehouses have compute nodes with 16x
the memory and 10x the local cache compared with standard
warehouses. The larger memory helps unlock memory-intensive
use cases on large data sets such as ML training, ML inference,
data exports from object storage, and other memory-intensive
analytics that could not previously be accommodated in standard
warehouses.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
need to move governed data outside of Snowflake to use it as part
of the most sophisticated AI/ML models and apps (whether devel-
oped for internal or for commercial uses). Snowpark Container
Services is available for workloads that require use of GPUs, cus-
tom runtimes/libraries, or the hosting of long-running full-stack
applications.
Snowflake Native Apps provide the building blocks for app devel-
opment, distribution, operation, and monetization all within
Snowflake’s platform. Snowpark Container Services can be used
as part of a Snowflake Native App to allow developers to build and
distribute sophisticated full-stack apps that run entirely in their
end customer’s Snowflake account.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Detailing the challenges of application
development
Chapter 2
Welcome to the
Snowflake Data Cloud
A
pplication development is a complex and time-consuming
process. The good news is that new tools are making the
task of building and deploying applications much easier.
According to industry reports, generative artificial intelligence
(AI) can help developers complete coding tasks in 30 to 50 percent
of the time. But legacy systems can’t handle the large amounts of
data that are required to build AI applications, making it difficult
to gather, analyze, and share data across entities.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Compute Challenges for Applications
One prediction for how data will be used in 2025 is that it will be
“embedded in every interaction and process.” That’s according
to Snowflake’s Data Trends 2023 Report. As the amount of data
grows exponentially, it becomes increasingly difficult to manage
and process in a timely manner. This requires the development of
new AI and machine learning (ML) algorithms that can scale to
search and process massive amounts of data.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Unstructured data
Unstructured data can provide a rich source of information for
application developers, leading to deeper insights about user
behavior and user experience. Unstructured data doesn’t have a
predefined structure and can include call logs, chat transcripts,
contracts, and sensor data. It could be in any file format, such as
doc, pdf, jpeg, mp3, or mp4. It could also be in industry-specific
formats, such as raster data for geospatial, .las files for well log
data, or DICOM for medical.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
DATA DIFFICULTIES FOR
DEVELOPERS
Data presents a number of challenges for application developers,
who must:
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Wherever data or users live, the Data Cloud delivers a unified and
seamless experience — even when data and workloads span mul-
tiple public clouds. The Data Cloud enables discovering, managing,
and sharing data among business units, suppliers, other business
partners, and customers. It also offers live access to ready-to-use
data and applications that power innovative business solutions
from hundreds of providers in Snowflake Marketplace.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Snowflake supports a wide range of data formats, architecture
patterns, and use cases — all on a single, secure, and governed
platform — including any of the following:
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
pushed to the Snowflake engine for the heavy lifting to enable
use cases such as data transformations, ELT/ETL pipelines, ML
development, and ML deployment. With Snowflake, it all happens
in a single, easy-to-use platform with superior price performance
and near-zero maintenance.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
data platform. In this section, we highlight some of the benefits
of building applications on Snowflake.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
organization with a multicloud strategy can use the Data Cloud
to operate seamlessly across multiple cloud provider regions to
serve its worldwide customer base and enhance its disaster recov-
ery strategy. Similarly, a data provider can leverage Snowflake’s
global infrastructure to share data with other organizations in
many geographies and across multiple clouds.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Unique collaboration options
Snowflake’s unique architecture provides the near-unlimited
scale, concurrency, and performance for organizations to collab-
orate with data across their enterprises and ecosystems. Whether
sharing data or full-stack applications, the Data Cloud raises the
bar of what is possible.
You can also establish entirely new revenue streams and collab-
orate with business partners in new and productive ways with
capabilities such as the Snowflake Native App Framework, which
allows developers to build, distribute, and monetize full-stack
apps that run within the end customer’s Snowflake account.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Using Snowpark for data engineering
use cases
Chapter 3
What You Can Build
with Snowpark
S
nowpark, the set of libraries and runtimes in Snowflake that
securely deploy and process Python and other programming
languages, enables all data users to bring their work to the
Snowflake Data Cloud. Snowpark allows data engineers, data
scientists, and data developers to code with their language of
choice to execute pipeline, machine learning (ML) workflow, and
app logic faster and more securely, in a single platform. With
Snowpark, users coding any language, including Python, Java,
and Scala, will be able to benefit from the performance, elasticity,
and governance of the Snowflake platform.
This chapter examines how you can build better data pipelines
and ML models with Snowpark.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Building Data Pipelines
Data pipelines feeding applications can be complex for two main
reasons:
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Data engineers commonly use Snowpark for three use cases: data
transformation/feature engineering, custom business logic, and
data science and ML pipelines.
Data transformations
Snowpark can be used to transform data stored in Snowflake or
S3-compatible data sources using popular programming lan-
guages such as Python, Java, and Scala. This can include data
engineering tasks such as data cleaning, data normalization, and
data aggregation. All data transformations can then be packaged
as Snowpark stored procedures to operate and schedule jobs with
Snowflake Tasks or other orchestration tools.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
SNOWPARK COMPONENTS
As a refresher, developers interact with Snowpark using libraries and
runtimes:
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
provides developers with the flexibility to use their tool of
choice while ensuring the processing and data stays within
Snowflake’s secure and governed boundaries.
Model development
Model development refers to the process of designing, training, and
evaluating an ML model. This involves selecting the appropriate
algorithms, preparing the data, and tuning the model’s param-
eters to achieve the best performance.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Model deployment and management
Model deployment refers to the process of integrating a trained ML
model into a production environment so that it can be used to
make predictions on new data.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Minimizing the learning curve with the
Snowpark API
Chapter 4
Getting Started
with Snowpark
A
re you ready to build applications quickly and cost-
effectively with Snowpark? It’s easy to get started because
Snowflake minimizes the learning curve by eliminating
the need for a separate tool. You can begin development anywhere
that can run a Python kernel. Simply install the Snowpark API and
establish a connection with your Snowflake account.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
The Snowpark API
The Snowpark API is a library, including a DataFrame API, that
allows developers to query and process data at scale in Snowflake.
The Snowpark DataFrame API enables developers to write queries
and data transformations using familiar DataFrames while ben-
efiting from Snowflake’s processing performance, security, and
scalability.
Snowflake Notebooks
Snowflake Notebooks is a new development interface that offers
an interactive, cell-based programming environment for Python
and SQL users to explore, process, and experiment with data in
Snowpark. Snowflake’s built-in notebooks allow developers to
write and execute code, train and deploy models using Snowpark
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
ML, visualize results with Streamlit chart elements, and much
more — all within Snowflake’s unified, secure platform.
Hex notebooks
Snowpark is integrated with Hex’s notebooks, allowing for a
powerful and flexible coding experience. Hex was built to work
with Snowflake’s Data Cloud. Its unique architecture and tight
integrations let users move beyond the limits of traditional note-
books, and modernize their workflows for the cloud. Most if not
all data processing can be pushed down to the Data Cloud, tak-
ing advantage of Snowflake’s scalable compute and advanced
caching. Discovering insights and building apps on data stored
in Snowflake using Hex’s analytics workspace takes just minutes.
Open-source notebooks
Open-source notebooks such as Jupyter can be run locally while
connected securely to Snowflake to execute data operations. This
lets developers interact with their data directly and see their que-
ries in real time. Any machine running containers or Python can
build data pipelines or ML models feeding apps using Snowpark.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
provide autocomplete for the Snowpark session and can run
directly from the browser as a stored procedure. You can use
third-party packages listed in the Snowflake Anaconda channel
or import your own Python files from stages to use in scripts. If
you’re interested in trying Snowpark for free, the easiest way to
get started is through the 30-day free trial using the Snowflake
Python worksheets here:
https://signup.snowflake.com/?lab=getStartedWithSn
owparkInPythonWorksheets
https://signup.snowflake.com/?lab=getStartedWith
SnowparkInPythonWorksheets
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
IN THIS CHAPTER
»» Streamlining architecture complexity
with one platform
»» Maximizing monetization
Chapter 5
Six Benefits of Building
Apps with Snowpark
I
magine you were building an application on a cloud platform
that lets you run multiple programming languages without
needing different processing engines. You could process your
code next to the data in one governed, secure environment rather
than exporting it to other locations. And you could build, deploy,
distribute, and monetize your application natively on one scalable
platform. What price and performance gains would you be able to
achieve? How much more quickly would you be able to bring your
app to market and serve your customers?
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
details the many ways organizations can benefit from building the
underlying application processing tier — pipelines and machine
learning (ML) models — with Snowpark.
Snowpark lets developers write and execute code where the data
is securely stored and governed. With Snowpark as the process-
ing layer, developers can build and run applications directly on
data already in Snowflake. In addition, Snowflake can automati-
cally scale compute resources up and down for virtually unlim-
ited concurrency without impacting performance or having to
reshuffle data.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
As a result, developers can build and scale applications powered
by Snowflake without worrying about capacity planning or costly
overprovisioning. Snowflake also provides a set of tools to write
code, check that it works correctly, and put it into production —
which can help accelerate the release of new applications or
features.
Increased Performance
and Reduced Price
Snowpark customers see significant price and performance ben-
efits over other managed and open-source solutions, thanks
to Snowflake’s engine and the elimination of data movement.
According to Snowflake’s Snowpark Price Performance: Customer
Results report, as of June 2023, customers saw a median of 3.5x
faster performance and a 34 percent cost savings with Snowpark
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
over managed Spark. The performance and price benefits are
largely due to these reasons:
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
»» Modify code and see changes go live with side-by-side editor
and app preview screens in Snowflake.
»» Share Streamlit apps via URLs that leverage existing
role-based access controls and run on Snowflake’s scalable,
secure, and performant infrastructure.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Snowflake offers a range of monetization options, from
subscription-based models to usage-based models priced per
month or query. Custom Event Billing capabilities enable you to
build your own pricing strategy. You can charge customers based
on their usage and specify billing events based on your prefer-
ences, such as consumed rows, ingested rows, unique ingested
users, locations monthly, and more.
These materials are © 2024 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
WILEY END USER LICENSE AGREEMENT
Go to www.wiley.com/go/eula to access Wiley’s ebook EULA.