<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sascha Dittmann</title>
    <description>The latest articles on DEV Community by Sascha Dittmann (@saschadittmann).</description>
    <link>https://dev.to/saschadittmann</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F434868%2Ff256dd19-78f5-4c7e-8053-93163f8878f7.jpg</url>
      <title>DEV Community: Sascha Dittmann</title>
      <link>https://dev.to/saschadittmann</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saschadittmann"/>
    <language>en</language>
    <item>
      <title>Configuring an Azure VNET to use AZTK in mixed mode</title>
      <dc:creator>Sascha Dittmann</dc:creator>
      <pubDate>Wed, 20 Jun 2018 11:31:32 +0000</pubDate>
      <link>https://dev.to/saschadittmann/configuring-an-azure-vnet-to-use-aztk-in-mixed-mode-kac</link>
      <guid>https://dev.to/saschadittmann/configuring-an-azure-vnet-to-use-aztk-in-mixed-mode-kac</guid>
      <description>&lt;p&gt;In my last post, I showed you how to provision a low-cost Apache Spark cluster on Microsoft Azure, with the help of the Azure Batch service, Low Priority Virtual Machines, and the Azure Distributed Data Engineering Toolkit (AZTK).&lt;/p&gt;

&lt;p&gt;But have you tried to mix a cluster with Dedicated-, as well as Low Priority-Virtual Machines?&lt;/p&gt;

&lt;p&gt;If you did, you propably run into an error…&lt;/p&gt;

&lt;h2&gt;
  
  
  Mixing Dedicated- and Low Priority, Virtual Machines
&lt;/h2&gt;

&lt;p&gt;I tried to provision a Spark cluster with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster create --id mycluster --size 1 --size-low-priority 2 --vm-size standard_d12_v2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But all I got, was the following error message:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3h2oza4bdoggk7qau48z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3h2oza4bdoggk7qau48z.png" alt="You must configure a VNET to use AZTK in mixed mode (dedicated and low priority nodes)" width="800" height="214"&gt;&lt;/a&gt;You must configure a VNET to use AZTK in mixed mode (dedicated and low priority nodes)&lt;/p&gt;

&lt;h2&gt;
  
  
  What do I need a mixed mode cluster for
&lt;/h2&gt;

&lt;p&gt;But let my first start with the Why.&lt;/p&gt;

&lt;p&gt;Azure offers low-priority virtual machines (VMs) to reduce the cost of your workloads. Low-priority VMs make new types of workloads possible by enabling a large amount of compute power to be used for a very low cost.&lt;/p&gt;

&lt;p&gt;Low-priority VMs take advantage of surplus capacity in Azure. When you specify low-priority VMs in your cluster, Azure can use this surplus, when available.&lt;/p&gt;

&lt;p&gt;The tradeoff for using low-priority VMs is that those VMs may not be available to be allocated or may be preempted at any time, depending on available capacity.&lt;/p&gt;

&lt;p&gt;Dedicated VMs stay online all the time to process your Spark jobs, even if some of the low-priority VMs are offline.That’s the reason, why you might want to add dedicated VMs to your cluster too.&lt;/p&gt;

&lt;p&gt;If you have a mixed-mode Spark cluster with both types of VMs, the master node will always to assigned to a dedicated VM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjks6r7h27xog4qks09m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjks6r7h27xog4qks09m.png" alt="AZTK Spark Cluster running in mixed mode" width="800" height="241"&gt;&lt;/a&gt;AZTK Spark Cluster running in mixed mode&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating an Azure Virtual Network
&lt;/h2&gt;

&lt;p&gt;So the first thing I did was to create an Azure Virtual Network (&lt;a href="https://docs.microsoft.com/en-us/azure/virtual-network/quick-create-portal" rel="noopener noreferrer"&gt;How to create a virtual network using the Azure portal&lt;/a&gt;) in the AZTK resource group.&lt;/p&gt;

&lt;p&gt;After that, I opened the &lt;strong&gt;Properties&lt;/strong&gt; section of the newly created VNET and copied the Resource ID to my clipboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0grr7z0x2p2ulgzen4u7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0grr7z0x2p2ulgzen4u7.png" alt="Azure Virtual Network - Properties" width="800" height="480"&gt;&lt;/a&gt;Azure Virtual Network - Properties&lt;/p&gt;

&lt;h2&gt;
  
  
  Update cluster.yaml file
&lt;/h2&gt;

&lt;p&gt;I opened a Terminal window and used vim to edit the &lt;strong&gt;cluster.yaml&lt;/strong&gt; file in the &lt;strong&gt;.aztk&lt;/strong&gt; folder.&lt;/p&gt;

&lt;p&gt;In that file, there is a section called “ &lt;strong&gt;To add your cluster to a virtual network provide the full arm resource id below&lt;/strong&gt; ”.&lt;/p&gt;

&lt;p&gt;I removed the comment symbol from the line which contains the “ &lt;strong&gt;subnet_id:&lt;/strong&gt; ” property and added the Resource ID from the Virtual Network.&lt;/p&gt;

&lt;p&gt;I also added the name of the subnet with the &lt;strong&gt;/subnets/&lt;/strong&gt; prefix.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;subnet_id: /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/aztk/providers/Microsoft.Network/virtualNetworks/aztk-vnet/subnets/default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4063cei8adqyr3mg9jd2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4063cei8adqyr3mg9jd2.png" alt=".aztk/cluster.yaml Subnet Settings" width="800" height="263"&gt;&lt;/a&gt;.aztk/cluster.yaml Subnet Settings&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a cluster
&lt;/h2&gt;

&lt;p&gt;After saving the chances to the cluster.yaml file, I was able to create a mixed-mode cluster with the toolkit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbvkafiutnsx62k10ai0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbvkafiutnsx62k10ai0.png" alt="AZTK - Creating a mixed-mode Spark cluster" width="800" height="318"&gt;&lt;/a&gt;Creating a mixed-mode Spark cluster&lt;/p&gt;

</description>
      <category>bigdata</category>
      <category>azure</category>
      <category>spark</category>
      <category>azurebatch</category>
    </item>
    <item>
      <title>How to create a low-cost Apache Spark cluster on Microsoft Azure</title>
      <dc:creator>Sascha Dittmann</dc:creator>
      <pubDate>Sat, 16 Jun 2018 10:18:17 +0000</pubDate>
      <link>https://dev.to/saschadittmann/how-to-create-a-low-cost-apache-spark-cluster-on-microsoft-azure-5bia</link>
      <guid>https://dev.to/saschadittmann/how-to-create-a-low-cost-apache-spark-cluster-on-microsoft-azure-5bia</guid>
      <description>&lt;p&gt;A few months ago, I found a nice little open-source tool on GitHub called AZTK, which provides a fast and easy way to provision low-cost Apache Spark clusters on Microsoft Azure.&lt;/p&gt;

&lt;p&gt;In this blog post, I would like to show you, how to install the &lt;strong&gt;Azure Distributed Data Engineering Toolkit (AZTK)&lt;/strong&gt; on your Windows-, Linux- or MacOS-based system, and how to provision your first Apache Spark cluster with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Distributed Data Engineering Toolkit (AZTK)
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Azure Distributed Data Engineering Toolkit (AZTK)&lt;/strong&gt; is a python CLI application for provisioning on-demand Spark on Docker clusters in Azure. It’s a cheap and easy way to get up and running with a Spark cluster, and a great tool for Spark users who want to experiment and start testing at scale.&lt;/p&gt;

&lt;p&gt;This toolkit is built on top of Azure Batch but does not require any Azure Batch knowledge to use.&lt;/p&gt;

&lt;p&gt;For more details, please have a look on [&lt;a href="https://github.com/Azure/aztk" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;].&lt;/p&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Spark cluster provision time of 5 minutes on average&lt;/li&gt;
&lt;li&gt;Spark clusters run in Docker containers&lt;/li&gt;
&lt;li&gt;Run Spark on a GPU enabled cluster&lt;/li&gt;
&lt;li&gt;Users can bring their own Docker image&lt;/li&gt;
&lt;li&gt;Ability to use low-priority VMs for an 80% discount&lt;/li&gt;
&lt;li&gt;Mixed Mode clusters that use both low-priority and dedicated VMs&lt;/li&gt;
&lt;li&gt;Built in support for Azure Blob Storage and Azure Data Lake connection&lt;/li&gt;
&lt;li&gt;Tailored pythonic experience with PySpark, Jupyter, and Anaconda&lt;/li&gt;
&lt;li&gt;Tailored R experience with SparklyR, RStudio-Server, and Tidyverse&lt;/li&gt;
&lt;li&gt;Ability to run spark submit directly from your local machine’s CLI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install Python 3
&lt;/h3&gt;

&lt;p&gt;Before you install the Azure Distributed Data Engineering Toolkit, you need Python 3, as well as pip3, installed on your system.&lt;/p&gt;

&lt;p&gt;To do this, please have a look at &lt;a href="https://www.python.org" rel="noopener noreferrer"&gt;Python.org&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Virtual Environment (optional)
&lt;/h3&gt;

&lt;p&gt;After that, I recommend to create a separate virtual environment for the toolkit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 -m venv aztk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you’ve created a virtual environment, you may activate it.&lt;/p&gt;

&lt;p&gt;On Windows, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk\Scripts\activate.bat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Unix or MacOS, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source activate aztk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install AZTK
&lt;/h3&gt;

&lt;p&gt;Now you’re ready to install the Azure Distributed Data Engineering Toolkit (AZTK) with a simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install aztk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Initialize AZTK
&lt;/h3&gt;

&lt;p&gt;After you installed the toolkit, you’re ready to create your first Aztk environment.To do that, you simply call&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a .aztk folder in your current directory with the following file structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cluster.yaml&lt;/li&gt;
&lt;li&gt;core-site.xml&lt;/li&gt;
&lt;li&gt;jars

&lt;ul&gt;
&lt;li&gt;.null&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;job.yaml&lt;/li&gt;

&lt;li&gt;secrets.yaml&lt;/li&gt;

&lt;li&gt;spark-defaults.conf&lt;/li&gt;

&lt;li&gt;spark-env.sh&lt;/li&gt;

&lt;li&gt;ssh.yaml&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;If you want to create a machine wide configuration, you add the &lt;strong&gt;–global&lt;/strong&gt; parameter to the command.&lt;/p&gt;

&lt;h3&gt;
  
  
  Azure Resources and Credentials
&lt;/h3&gt;

&lt;p&gt;To be able to work with the toolkit, you have to provision a few Azure resources, e.g. Azure Batch, Azure Storage Account, an Service Principal, etc.&lt;/p&gt;

&lt;p&gt;The easiest way to do this, is to login to the &lt;a href="https://portal.azure.com/" rel="noopener noreferrer"&gt;Azure Portal&lt;/a&gt; and execute the following command in the &lt;a href="https://shell.azure.com/" rel="noopener noreferrer"&gt;Azure Cloud Shell&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget -q https://raw.githubusercontent.com/Azure/aztk/v0.7.0/account_setup.sh -O account_setup.sh &amp;amp;&amp;amp;
chmod 755 account_setup.sh &amp;amp;&amp;amp;
/bin/bash account_setup.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After answering a few questions, the command return the required settings, which you add/update in the &lt;strong&gt;.aztk/secrets.yaml&lt;/strong&gt; file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwidp3so47zczmspa8ovd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwidp3so47zczmspa8ovd.png" alt="secrets.yaml Settings" width="793" height="200"&gt;&lt;/a&gt;Adding the Azure credentials to the secrets.yaml file&lt;/p&gt;

&lt;h2&gt;
  
  
  Provision your first Apache Spark cluster
&lt;/h2&gt;

&lt;p&gt;Finally we’re ready to provision our first Apache Spark cluster using the AZTK.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster create --id mycluster --size 0 --size-low-priority 5 --vm-size standard_d12_v2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;With the &lt;strong&gt;id&lt;/strong&gt; parameter, you specify an unique ID (within your Azure Batch account) for your cluster.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;size&lt;/strong&gt; parameter specifies the amount of dedicated virtual machines (which are charged at the full price).&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;size-low-priority&lt;/strong&gt; parameter specifies the amount of Low-Priority Virtual Machines (which are charged at the 20% of the regualar price). This, of course, comes with a disadvantage. If Azure needs the virtual machines for another customer, they will be deleted.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;vm-size&lt;/strong&gt; parameter specifies the &lt;a href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes" rel="noopener noreferrer"&gt;type of the virtual machines&lt;/a&gt; to use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98r9g8z0unbct8r06r76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98r9g8z0unbct8r06r76.png" alt="Provision Apache Spark Cluster" width="710" height="440"&gt;&lt;/a&gt;Provision your first Apache Spark cluster&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You’re also able to use the Azure N-Series virtual machines to provision GPU enabled clusters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Getting Cluster Information
&lt;/h2&gt;

&lt;p&gt;As soon as a cluster is provisioning, existing or deleting, you can use the following commands to get more details:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1tzfzrq6laeztiv3e4d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1tzfzrq6laeztiv3e4d.png" alt="List Apache Spark Clusters" width="710" height="126"&gt;&lt;/a&gt;List all Apache Spark clusters&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster get --id mycluster
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foaxy949jjwl2qyyo1dc0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foaxy949jjwl2qyyo1dc0.png" alt="Get Cluster Details" width="800" height="327"&gt;&lt;/a&gt;Get detailed information about a single cluster&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect to the cluster
&lt;/h2&gt;

&lt;p&gt;With the following command, you’re able to ssh-connect to the master node of your cluster, as well as do a port forwarding to the services (and plugins) on the cluster.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster ssh --id mycluster
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gksviklubbl62my5x0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gksviklubbl62my5x0d.png" alt="Get Cluster Details" width="710" height="240"&gt;&lt;/a&gt;Get detailed information about a single cluster&lt;/p&gt;

&lt;p&gt;After the connection has been established, you can use the port forwarding to access services like the Spark Web UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrzmzjkg1mqk7swqk12p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrzmzjkg1mqk7swqk12p.png" alt="Apache Spark Web UI" width="710" height="483"&gt;&lt;/a&gt;Access the Spark Web UI through the port forwarding&lt;/p&gt;

&lt;h2&gt;
  
  
  Deleting a cluster
&lt;/h2&gt;

&lt;p&gt;Last but not least, don’t forget to delete the cluster if you don’t need it anymore.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aztk spark cluster delete --id mycluster
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;To see a demo of how to setup AZTK and provision your first Spark cluster, I created a short video:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Kr62gDdRMyQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>bigdata</category>
      <category>azure</category>
      <category>spark</category>
      <category>azurebatch</category>
    </item>
  </channel>
</rss>
