Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Azure Synapse Analytics Cookbook
Azure Synapse Analytics Cookbook

Azure Synapse Analytics Cookbook: Implement a limitless analytical platform using effective recipes for Azure Synapse

Arrow left icon
Profile Icon Agarwal(BLR) Profile Icon Muralidharan
Arrow right icon
NZ$35.99 NZ$51.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (18 Ratings)
eBook Apr 2022 238 pages 1st Edition
eBook
NZ$35.99 NZ$51.99
Paperback
NZ$64.99
Subscription
Free Trial
Arrow left icon
Profile Icon Agarwal(BLR) Profile Icon Muralidharan
Arrow right icon
NZ$35.99 NZ$51.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (18 Ratings)
eBook Apr 2022 238 pages 1st Edition
eBook
NZ$35.99 NZ$51.99
Paperback
NZ$64.99
Subscription
Free Trial
eBook
NZ$35.99 NZ$51.99
Paperback
NZ$64.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Azure Synapse Analytics Cookbook

Chapter 2: Creating Robust Data Pipelines and Data Transformation

In this chapter, we will cover how to load and enrich data using the power of Apache Spark in Azure Synapse Analytics. We will learn about and understand various concepts and recipes for writing Spark data frames to read data from Azure Data Lake Storage (ADLS) and writing to a SQL pool using PySpark.

This chapter comprises the following recipes:

  • Reading and writing data from ADLS Gen2 using PySpark
  • Visualizing data in a Synapse notebook

Reading and writing data from ADLS Gen2 using PySpark

Azure Synapse can take advantage of reading and writing data from the files that are placed in the ADLS2 using Apache Spark. You can read different file formats from Azure Storage with Synapse Spark using Python.

Apache Spark provides a framework that can perform in-memory parallel processing. On top of that, Spark pools help developers to debug and work more effectively as regards their production workloads.

Getting ready

We will be using the same public dataset that we used in Chapter 1, Choosing the Optimal Method for Loading Data to Synapse. To retrieve the dataset, you can go to the following URL: https://www.kaggle.com/microize/newyork-yellow-taxi-trip-data-2020-2019.

The prerequisites for this recipe are as follows:

Figure 2.1 – Apache Spark pool

Figure 2.1 – Apache Spark pool

How to do it…

Let's begin this recipe and see how you can read the data from ADLS2 using the Spark notebook within Synapse Studio. We will leverage the notebook capability of Azure Synapse to get connected to ADLS2 and read the data from it using PySpark:

  1. Let's create a new notebook under the Develop tab with the name PySparkNotebook, as shown in Figure 2.2, and select PySpark (Python) for Language:
Figure 2.2 – Creating a new notebook

Figure 2.2 – Creating a new notebook

  1. You can now start writing your own Python code to get started. The following code is how you can read a CSV file from ADLS using Python:
    from pyspark.sql import SparkSession
    from pyspark.sql.types import *
    adls_path ='abfss://%s@%s.dfs.core.windows.net/%s' % ("taxistagingdata", "synapseadlsac","")
    mydataframe = spark.read.option('header','true') \
    .option('delimiter', ',') \
    .csv(adls_path + '/yellow_tripdata_2020-06.csv')
    mydataframe.show()

Please refer to Figure 2.3 for a better understanding of the execution and the results:

Figure 2.3 – Reading data from a CSV file

Figure 2.3 – Reading data from a CSV file

  1. You can use different transformations or datatype conversions, aggregations, and so on, within the data frame, and explore the data within the notebook. In the following query, you can check how you are converting passenger_count to an Integer datatype and using sum along with a groupBy clause:
    mydataframe1 = mydataframe.withColumn("passenger_count" ,mydataframe["passenger_count"].cast(IntegerType()))
    mydataframe1.groupBy("VendorID","payment_type").sum("passenger_count").show()

You can refer to Figure 2.4 to see how it looks:

 Figure 2.4 – Column datatype conversation

Figure 2.4 – Column datatype conversation

  1. Another aspect is the fact that you can write the external table data to the Spark pool from your data frame with the simple command shown here:
    %%pyspark
    df = spark.read.load('abfss://taxistagingdata@synapseadlsac.dfs.core.windows.net/yellow_tripdata_2019-01.csv', format='csv'
    , header=True
    )
    df.write.mode("overwrite").saveAsTable("default.yellow_tripdata")

The following screenshot shows the result:

Figure 2.5 – Writing data to a Spark table

Figure 2.5 – Writing data to a Spark table

  1. Finally, you can query and read the data from the Spark table that you have created and play around with the data, as shown in Figure 2.6:
Figure 2.6 – Querying the Spark table

Figure 2.6 – Querying the Spark table

You can also create charts to analyze it on the fly, as shown in Figure 2.7:

Figure 2.7 – Charting data

Figure 2.7 – Charting data

How it works…

The Spark pool gives you the flexibility to define the compute as per your needs. You can define the node size as Small, Large, xLarge, xxLarge, or xxxLarge, with up to 80 vCores/505 GB. The autoscale features provide you with the ability to automatically scale up and down based on the level of load and activity.

You can monitor the compute allocation using the Spark pool monitor to understand the vCore allocation, active applications, and concluded applications by date and time. This allows the developer to plan resource allocation more optimally, as you can see in Figure 2.8:

Figure 2.8 – Apache Spark pool monitor

Figure 2.8 – Apache Spark pool monitor

Visualizing data in a Synapse notebook

Let's now look at an interesting aspect of data exploration that will involve plotting some interesting visuals within the Synapse notebook. We all know that it is always easier to understand pictures or graphs compared to a typical dataset in rows and columns, for example, when you are dealing with a very large dataset, which may contain a lot of key insights. To obtain data-driven insights, we try to work on data pointers that will lead us to those insights; to do that, we plot the data in the form of a visual.

This is exactly what we will be doing in this recipe, and you will learn how to do this within the notebook experience.

Getting ready

We will be leveraging the same data frame that we created in the Reading and writing data from ADLS Gen2 using PySpark recipe.

Basic knowledge of matplotlib is required, which will help you to create static and interactive Python visuals.

How to do it…

Let's get back to the same notebook, PySparkNotebook, that we published in the Reading and writing data from ADLS Gen2 using PySpark recipe:

  1. Import matplotlib.pyplot:
    import matplotlib.pyplot as plt

This is the visualization plotting library in Python, as shown in Figure 2.6:

Figure 2.9 – matplotlib import

Figure 2.9 – matplotlib import

  1. Define and load the entire data frame to pandas using the toPandas() function, and define the chart type that we want to plot. In our case, it will be a histogram, which will give us the distribution for the total passenger count:
    mydataframeplot = mydataframe1.toPandas()
    ax = mydataframeplot['passenger_count'].plot(kind='hist', bins= 20, facecolor='orange')
    ax.set_title('Total Passenger distribution')
    ax.set_xlabel('No. of Passengers')
    ax.set_ylabel('Counts')
    chartplt.suptitle('Trend')
    chartplt.show()

Figure 2.10 shows the output:

Figure 2.10 – Plotting a histogram

Figure 2.10 – Plotting a histogram

How it works…

This leverages the power of the Spark pool that you have created to perform data exploration. It makes the process of extracting useful insights from the data extremely fast. The notebook experience within Synapse makes it a one-stop-shop for the developer and the data analyst to collaborate and perform their respective activities.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Discover new techniques for using Azure Synapse, regardless of your level of expertise
  • Integrate Azure Synapse with other data sources to create a unified experience for your analytical needs using Microsoft Azure
  • Learn how to embed data governance and classification with Synapse Analytics by integrating Azure Purview

Description

As data warehouse management becomes increasingly integral to successful organizations, choosing and running the right solution is more important than ever. Microsoft Azure Synapse is an enterprise-grade, cloud-based data warehousing platform, and this book holds the key to using Synapse to its full potential. If you want the skills and confidence to create a robust enterprise analytical platform, this cookbook is a great place to start. You'll learn and execute enterprise-level deployments on medium-to-large data platforms. Using the step-by-step recipes and accompanying theory covered in this book, you'll understand how to integrate various services with Synapse to make it a robust solution for all your data needs. Whether you're new to Azure Synapse or just getting started, you'll find the instructions you need to solve any problem you may face, including using Azure services for data visualization as well as for artificial intelligence (AI) and machine learning (ML) solutions. By the end of this Azure book, you'll have the skills you need to implement an enterprise-grade analytical platform, enabling your organization to explore and manage heterogeneous data workloads and employ various data integration services to solve real-time industry problems.

Who is this book for?

This book is for data architects, data engineers, and developers who want to learn and understand the main concepts of Azure Synapse analytics and implement them in real-world scenarios.

What you will learn

  • Discover the optimal approach for loading and managing data
  • Work with notebooks for various tasks, including ML
  • Run real-time analytics using Azure Synapse Link for Cosmos DB
  • Perform exploratory data analytics using Apache Spark
  • Read and write DataFrames into Parquet files using PySpark
  • Create reports on various metrics for monitoring key KPIs
  • Combine Power BI and Serverless for distributed analysis
  • Enhance your Synapse analysis with data visualizations

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 29, 2022
Length: 238 pages
Edition : 1st
Language : English
ISBN-13 : 9781803245577
Category :
Concepts :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Apr 29, 2022
Length: 238 pages
Edition : 1st
Language : English
ISBN-13 : 9781803245577
Category :
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just NZ$7 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just NZ$7 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total NZ$ 257.97
Azure Data Engineering Cookbook
NZ$75.99
Azure Data Engineer Associate Certification Guide
NZ$116.99
Azure Synapse Analytics Cookbook
NZ$64.99
Total NZ$ 257.97 Stars icon

Table of Contents

10 Chapters
Chapter 1: Choosing the Optimal Method for Loading Data to Synapse Chevron down icon Chevron up icon
Chapter 2: Creating Robust Data Pipelines and Data Transformation Chevron down icon Chevron up icon
Chapter 3: Processing Data Optimally across Multiple Nodes Chevron down icon Chevron up icon
Chapter 4: Engineering Real-Time Analytics with Azure Synapse Link Using Cosmos DB Chevron down icon Chevron up icon
Chapter 5: Data Transformation and Processing with Synapse Notebooks Chevron down icon Chevron up icon
Chapter 6: Enriching Data Using the Azure ML AutoML Regression Model Chevron down icon Chevron up icon
Chapter 7: Visualizing and Reporting Petabytes of Data Chevron down icon Chevron up icon
Chapter 8: Data Cataloging and Governance Chevron down icon Chevron up icon
Chapter 9: MPP Platform Migration to Synapse Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(18 Ratings)
5 star 88.9%
4 star 5.6%
3 star 0%
2 star 0%
1 star 5.6%
Filter icon Filter
Top Reviews

Filter reviews by




Amazon Customer May 05, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent book for Azure Synapse Analytics. All the concepts are explained in detail with step by step guide. Easy to follow and simple.
Amazon Verified review Amazon
praveen May 05, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Perfect handbook for data architect who want to learn and practice Synapse analytics for end to end implementation. Loved the recepies covered in the book
Amazon Verified review Amazon
Kindle Reader Jun 24, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I think this is best resources which I am able to found which covers end to end Synapse scenarios.I really like the Machine learning and Power BI modelling and the best practices in the book.
Amazon Verified review Amazon
Wakanda Jul 22, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The cookbook is what exactly it is; the reader is expected to know the ingredients. This means it is a good book for data professionals who are not new to data concepts.The hands-on approach with links to online resources and encouraging the reader to explore indirect integration topics on their own makes the learning end-to-end for readers that are new to the topic.Very good coverage of topics for example various ELT/ETL, triggering, multiple nodes and notebooks, integration with CosmosDB and IOT for real-time analytics,AI and ML Integration, Synapse native and Power BI integrated visualization, Azure Purview integration, and platform migration guidance. The topics are handy for experienced users to refer to.Missed the log and telemetry analytics? and more on serverless and dedicated options.Also, the GitHub link for the example code is not found - hoping that the publisher can fix this.
Amazon Verified review Amazon
Amazon Customer May 17, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent book, it covers all the capabilities and findings on Synapse Analytics . Very detailed explanation about Synapse analytics All Azure data engineers should have the book handy.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.