This document provides an overview and introduction to Azure Notebooks and Jupyter notebooks. It discusses what Jupyter notebooks are, how they can be used for tasks like data analysis, and how Azure Notebooks builds on Jupyter by providing a cloud-based notebook environment. The document then demonstrates various features of notebooks like code execution, markdown, and data visualization using examples. It also discusses where notebooks fit best versus other tools and environments.
3. Cameron Vetter
I have 20 years of experience using Microsoft tools and technologies to develop
software. I have experience in many roles including Development, Architecture,
Infrastructure, Management, and Leadership roles. I've worked for some of the largest
companies in the world and for small local companies getting a breadth of experience
in different Corporate Cultures. Currently, I work at SafeNet Consulting, where I get to
do what I love... Architect, Design, and Develop great software! I currently focus on
Microservices, SOA, Azure, Cognitive Toolkit, and Kubernetes.
Principal Cloud Consultant
4. A Partner to Advise and Support
About SafeNet
Consulting
SafeNet specializes in being partners in your
success. We currently focus on Custom Application
Development, Cloud Consulting Services,
Data & Analytics, and User Experience Strategy.
5. Introduction
What is Jupyter?
What is Azure Notebooks?
Intro to the Example
Code, Execution & Markdown
Data Visualization
Where does this tool fit?
Question & Answer
Agenda
7. The Jupyter Notebook is an open-source web
application that allows you to create and share
documents that contain live code, equations,
visualizations and narrative text.
Uses include: data cleaning and transformation,
numerical simulation, statistical modeling, data
visualization, machine learning, and much more.
Jupyter Notebook
jupyter.org
8. Share Notebooks
Notebooks can be shared with others using
email, Dropbox, GitHub and the Jupyter Notebook
Viewer.
Interactive Output
Your code can produce rich, interactive output:
HTML, images, videos, LaTeX, and custom MIME
types.
Big Data Integration
Leverage big data tools, such as Apache Spark, from
Python, R and Scala. Explore that same data with pandas,
scikit-learn, ggplot2, TensorFlow
Use Your Language of Choice
Jupyter has support for over 40
programming languages, including Python,
R, Julia, and Scala.
9. Data powers Netflix. It permeates our thoughts, informs our decisions,
and challenges our assumptions. It fuels experimentation and innovation
at unprecedented scale. Our 100 Petabytes of data helps us discover
fantastic content and deliver personalized experiences for our 130 million
members around the world.
-- Netflix Blog
Industry
Example
10. Jupyter adoption hits critical mass
with Netflix Data Scientists.
Data Scientist Adoption
Data Engineers began work to
elevate notebooks from a niche tool
to a first-class citizen at Netflix for
data consumption.
Developers Take Notice
All user types rapidly adopt because
of the versatility, power, and ease of
use
Organic Adoption
Today Jupyter Notebooks is the most
popular platform for data
consumption at Netflix.
Jupyter Notebooks
Data Access at Netflix
/ Use Case /
Source: https://bit.ly/netflixjupyter/
12. Azure
Notebooks
Useful for any workspace
Perfect for data scientists, developers, students,
or anyone. Develop and run code in your
browser regardless of industry or skillset.
Multiple language support
Supporting more languages than any other
platform including Python 2, Python 3, R, and
F#.
Microsoft Azure Cloud Services
Created by Microsoft Azure: Always accessible,
always available from any browser, anywhere in
the world.
Source: https://notebooks.azure.com/
13. What’s the Big Deal?
/ With Jupyter in Azure /
Create an account and you are up and running!
Give read only access to anyone via a link or
Download a copy of the IPYNB file to share.
It is easy to attach an Azure Notebook to a DSVM
for more power!
Integrate easily with GitHub, Clone to your own
Notebook, Cloud based Storage and Backups
No Install
Needed
Share
Anywhere
Cloud
Compute
Cloud
Features
15. The Example
This example is presented in Jupyter
bringing a human readable quality that is
missing in my workshop.
Different Angle
This example is content borrowed from
my full day workshop.
Workshop
I’m focusing on Jupyter not the code, I
will highlight a couple things in code, but
we will focus on Azure Notebooks.
Don’t Focus on the Code
16. Region
An ANN that predicts if a sales
lead will be a WIN or a LOSS
Client Size
Route to Market
Days in Sales Stage
Etc…
Sales Prediction
/ Will you make the sale? /
Deal Size
18. A collection of extensions that add
functionality to the Jupyter notebook.
These extensions are mostly written in
JavaScript and will be loaded locally in
your browser.
Jupyter Notebook
Extensions
Source: https://github.com/ipython-contrib/jupyter_contrib_nbextensions
19. Collapsible Headings
Allows notebook to have collapsible sections,
separated by headings.
Notify
Jupyter notebook extension to display a web
notification to notify you when the kernel becomes
idle. This can be useful when running tasks that
take more than a couple of seconds to complete.
20. Lab 2
Let’s Look at
Notebooks!
TAKE NOTE:
• Examine Extensions
• Markdown and code mixed
• Results in line after the execution
• The Data Frame is rendered pretty
21. Markdown
/ Adding the pretty to your Notebooks /
• Standard Markdown
• Feel free to blend HTML like I did
• Check out this cheat sheet:
https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.i
bm.icpdata.doc/dsx/markd-jupyter.html
23. Lab 3, 4, 5
More
Notebooks!
TAKE NOTE:
• More pretty rendering
• In line Graph using matplotlib
• Array rendering not so pretty
• In Line Graph using Seaborn
24. 01 / MatPlotLib 02 / Seaborn
Graphing Libraries
/ Visualizing data in Jupyter /
27. Long Running Tasks
Jupyter gracefully handles long running tasks, but is
not an ideal environment.
Data Management
Most of your projects will have associated data
sets, but where do you manage them and how do
you make them portable?
Writing Code
A lot of our IDE expectations are not met by
Jupyter, making it not the best place to write code
Weaknesses
28. Lab 7 + 8
Don’t Do This!
TAKE NOTE:
• Jupyter is a poor fit for a grid search
• Jupyter renders lab 8 output poorly
29. Developers
Jupyter give developers a sand box to work in
especially when shaping data, and allows them to
understand the work of data scientists
Data Scientists
Jupyter fits the workflow of a data scientist
allowing them to codify their work in a
presentation style that shares both the how and
the why