Snabb start: analysera data med DatabricksQuickstart: Analyze data with Databricks

I den här snabb starten kör du ett Apache Spark jobb med Azure Databricks för att utföra analyser på data som lagras i ett lagrings konto.In this quickstart, you run an Apache Spark job using Azure Databricks to perform analytics on data stored in a storage account. Som en del av Spark-jobbet analyserar du prenumerationsdata för en radiokanal, så att du får insikter om kostnadsfri/betald användning baserat på demografiska data.As part of the Spark job, you'll analyze a radio channel subscription data to gain insights into free/paid usage based on demographics.

FörutsättningarPrerequisites

  • Ett Azure-konto med en aktiv prenumeration.An Azure account with an active subscription. Skapa ett konto kostnads fritt.Create an account for free.

  • Ett lagrings konto som har funktionen hierarkiskt namn område aktive rad.A storage account that has the hierarchical namespace feature enabled it. Om du vill skapa ett, se skapa ett lagrings konto som ska användas med Azure Data Lake Storage Gen2.To create one, see Create a storage account to use with Azure Data Lake Storage Gen2.

  • Klient-ID, app-ID och lösen ord för ett Azure-tjänstens huvud namn med en tilldelad roll för data deltagare i Storage BLOB.The tenant ID, app ID, and password of an Azure service principal with an assigned role of Storage Blob Data Contributor. Skapa ett huvud namn för tjänsten.Create a service principal.

    Viktigt

    Tilldela rollen i omfånget för Data Lake Storage Gen2 lagrings kontot.Assign the role in the scope of the Data Lake Storage Gen2 storage account. Du kan tilldela en roll till den överordnade resursgruppen eller prenumerationen, men du får behörighetsrelaterade fel tills de rolltilldelningarna propageras till lagringskontot.You can assign a role to the parent resource group or subscription, but you'll receive permissions-related errors until those role assignments propagate to the storage account.

Skapa en Azure Databricks-arbetsytaCreate an Azure Databricks workspace

I det här avsnittet skapar du en Azure Databricks-arbetsyta med Azure-portalen.In this section, you create an Azure Databricks workspace using the Azure portal.

  1. I Azure Portal väljer du skapa en resurs > analys > Azure Databricks.In the Azure portal, select Create a resource > Analytics > Azure Databricks.

    Databricks på Azure PortalDatabricks on Azure portal

  2. Under Azure Databricks-tjänst anger du värden för att skapa en Databricks-arbetsyta.Under Azure Databricks Service, provide the values to create a Databricks workspace.

    Skapa en Azure Databricks-arbetsytaCreate an Azure Databricks workspace

    Ange följande värden:Provide the following values:

    EgenskapProperty BeskrivningDescription
    Namn på arbetsytaWorkspace name Ange ett namn för Databricks-arbetsytanProvide a name for your Databricks workspace
    PrenumerationSubscription I listrutan väljer du din Azure-prenumeration.From the drop-down, select your Azure subscription.
    ResursgruppResource group Ange om du vill skapa en ny resursgrupp eller använda en befintlig.Specify whether you want to create a new resource group or use an existing one. En resursgrupp är en container som innehåller relaterade resurser för en Azure-lösning.A resource group is a container that holds related resources for an Azure solution. Mer information finns i översikten över Azure-resursgrupper.For more information, see Azure Resource Group overview.
    PlatsLocation Välj USA, västra 2.Select West US 2. Du kan välja en annan offentlig region om du vill.Feel free to select another public region if you prefer.
    PrisnivåPricing Tier Välj mellan Standard och Premium.Choose between Standard or Premium. Mer information om de här nivåerna finns på prissättningssidan för Databricks.For more information on these tiers, see Databricks pricing page.
  3. Det tar några minuter att skapa kontot.The account creation takes a few minutes. Du kan övervaka åtgärdsstatusen i förloppsindikatorn längst upp.To monitor the operation status, view the progress bar at the top.

  4. Välj Fäst på instrumentpanelen och välj sedan Skapa.Select Pin to dashboard and then select Create.

Skapa ett Spark-kluster i DatabricksCreate a Spark cluster in Databricks

  1. I Azure-portalen går du till Databricks-arbetsytan som du skapade. Välj sedan Starta arbetsyta.In the Azure portal, go to the Databricks workspace that you created, and then select Launch Workspace.

  2. Du omdirigeras till Azure Databricks-portalen.You are redirected to the Azure Databricks portal. Välj nytt > kluster från portalen.From the portal, select New > Cluster.

    Databricks på AzureDatabricks on Azure

  3. På sidan Nytt kluster anger du värdena för att skapa ett kluster.In the New cluster page, provide the values to create a cluster.

    Skapa Databricks Spark-kluster på AzureCreate Databricks Spark cluster on Azure

    Fyll i värden för följande fält och godkänn standardvärdena för de andra fälten:Fill in values for the following fields, and accept the default values for the other fields:

    • Ange ett namn för klustret.Enter a name for the cluster.

    • Se till att markera kryssrutan Avsluta efter 120 minuters inaktivitet.Make sure you select the Terminate after 120 minutes of inactivity checkbox. Ange en varaktighet (i minuter) för att avsluta klustret om klustret inte används.Provide a duration (in minutes) to terminate the cluster, if the cluster is not being used.

  4. Välj skapa kluster.Select Create cluster. När klustret körs kan du ansluta anteckningsböcker till klustret och köra Spark-jobb.Once the cluster is running, you can attach notebooks to the cluster and run Spark jobs.

Mer information om att skapa kluster finns i Skapa ett Spark-kluster i Azure Databricks.For more information on creating clusters, see Create a Spark cluster in Azure Databricks.

Skapa antecknings bokCreate notebook

I det här avsnittet skapar du en anteckningsbok på Azure Databricks-arbetsytan och kör sedan kodfragment för att konfigurera lagringskontot.In this section, you create a notebook in Azure Databricks workspace and then run code snippets to configure the storage account.

  1. Gå till arbetsytan Azure Databricks som du skapat i Azure-portalen. Välj sedan Starta arbetsyta.In the Azure portal, go to the Azure Databricks workspace you created, and then select Launch Workspace.

  2. Välj Arbetsyta i det vänstra fönstret.In the left pane, select Workspace. I listrutan Arbetsyta väljer du Skapa > Anteckningsbok.From the Workspace drop-down, select Create > Notebook.

    Skärm bild som visar hur du skapar en antecknings bok i Databricks och markerar meny alternativet Skapa > Notebook.Screenshot that shows how to create a notebook in Databricks and highlights the Create > Notebook menu option.

  3. Ge anteckningsboken ett namn i dialogrutan Skapa anteckningsbok.In the Create Notebook dialog box, enter a name for the notebook. Välj Scala som språk och välj sedan det Spark-kluster som du skapade tidigare.Select Scala as the language, and then select the Spark cluster that you created earlier.

    Skapa antecknings bok i DatabricksCreate notebook in Databricks

    Välj Skapa.Select Create.

  4. Kopiera och klistra in följande kodblock i den första cellen, men kör inte den här koden än.Copy and paste the following code block into the first cell, but don't run this code yet.

    spark.conf.set("fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net", "OAuth")
    spark.conf.set("fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
    spark.conf.set("fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net", "<appID>")
    spark.conf.set("fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net", "<password>")
    spark.conf.set("fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net", "https://login.microsoftonline.com/<tenant-id>/oauth2/token")
    spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization", "true")
    dbutils.fs.ls("abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/")
    spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization", "false")
    
    
  5. I det här kodblocket ersätter du platshållarvärdena storage-account-name, appID, password och tenant-id i det här kodblocket med de värden som du hämtade när du skapade tjänsthuvudnamnet.In this code block, replace the storage-account-name, appID, password, and tenant-id placeholder values in this code block with the values that you collected when you created the service principal. Ange container-name plats hållarens värde till det namn som du vill ge behållaren.Set the container-name placeholder value to whatever name you want to give the container.

  6. Tryck på SKIFT + RETUR för att köra koden i det här blocket.Press the SHIFT + ENTER keys to run the code in this block.

Mata in exempeldataIngest sample data

Innan du börjar med det här avsnittet måste du slutföra följande krav:Before you begin with this section, you must complete the following prerequisites:

Ange följande kod i en cell i en arbetsbok:Enter the following code into a notebook cell:

%sh wget -P /tmp https://raw.githubusercontent.com/Azure/usql/master/Examples/Samples/Data/json/radiowebsite/small_radio_json.json

Kör koden genom att trycka på SKIFT + RETUR i cellen.In the cell, press SHIFT + ENTER to run the code.

I en ny cell nedanför denna anger du följande kod, och ersätter värdena inom hakparentes med samma värden som du använde tidigare:Now in a new cell below this one, enter the following code, and replace the values that appear in brackets with the same values you used earlier:

dbutils.fs.cp("file:///tmp/small_radio_json.json", "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/")

Kör koden genom att trycka på SKIFT + RETUR i cellen.In the cell, press SHIFT + ENTER to run the code.

Köra ett Spark SQL-jobbRun a Spark SQL Job

Utför följande åtgärder för att köra ett Spark SQL-jobb på data.Perform the following tasks to run a Spark SQL job on the data.

  1. Kör en SQL-instruktion för att skapa en temporär tabell med data från exempel-JSON-datafilen small_radio_json.json.Run a SQL statement to create a temporary table using data from the sample JSON data file, small_radio_json.json. I följande kodfragment ersätter du platshållarens värden med din containers namn och namnet på ditt lagringskonto.In the following snippet, replace the placeholder values with your container name and storage account name. Använd anteckningsboken du skapade tidigare för att klistra in följande kodfragment i en kodcell och tryck sedan på SKIFT+RETUR.Using the notebook you created earlier, paste the snippet in a new code cell in the notebook, and then press SHIFT + ENTER.

    %sql
    DROP TABLE IF EXISTS radio_sample_data;
    CREATE TABLE radio_sample_data
    USING json
    OPTIONS (
     path  "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/small_radio_json.json"
    )
    

    När kommandot har slutförts har du alla data från JSON-filen som en tabell i Databricks-klustret.Once the command successfully completes, you have all the data from the JSON file as a table in Databricks cluster.

    Med det magiska språkkommandot %sql kan du köra en SQL-kod från anteckningsboken även om anteckningsboken är av en annan typ.The %sql language magic command enables you to run a SQL code from the notebook, even if the notebook is of another type. Mer information finns i Mixing languages in a notebook (Blanda språk i en anteckningsbok).For more information, see Mixing languages in a notebook.

  2. Nu ska vi titta på en ögonblicksbild av JSON-exempeldata för att bättre förstå den fråga som körs.Let's look at a snapshot of the sample JSON data to better understand the query that you run. Klistra in följande kodfragment i kodcellen och tryck på SKIFT + RETUR.Paste the following snippet in the code cell and press SHIFT + ENTER.

    %sql
    SELECT * from radio_sample_data
    
  3. Du ser en tabellvy som i följande skärmbild (endast vissa kolumner visas):You see a tabular output like shown in the following screenshot (only some columns are shown):

    Exempel på JSON-dataSample JSON data

    Bland annat fångar exempeldata in könet på en radiokanals målgrupp (kolumnnamn, kön) och om deras prenumeration är kostnadsfri eller om den betalas (kolumnnamn, nivå).Among other details, the sample data captures the gender of the audience of a radio channel (column name, gender) and whether their subscription is free or paid (column name, level).

  4. Nu skapar du en visuell representation av dessa data för att visa hur många användare av varje kön som har kostnadsfria konton och hur många som är betalande prenumeranter.You now create a visual representation of this data to show for each gender, how many users have free accounts and how many are paid subscribers. Längst ned i tabellvyn klickar du på ikonen Stapeldiagram och sedan på Ritalternativ.From the bottom of the tabular output, click the Bar chart icon, and then click Plot Options.

    Skapa liggande stapeldiagramCreate bar chart

  5. I Anpassa ritning drar och släpper du värden enligt skärmbilden.In Customize Plot, drag-and-drop values as shown in the screenshot.

    Skärm bild som visar skärmen anpassa rityta och de värden som du kan dra och släppa.Screenshot that shows the Customize Plot screen and the values that you can drag and drop.

    • Ställ in Nycklarkön.Set Keys to gender.
    • Ställ in Seriegrupperingarnivå.Set Series groupings to level.
    • Ställ in Värdennivå.Set Values to level.
    • Ställ in SammansättningCOUNT (Antal).Set Aggregation to COUNT.
  6. Klicka på Använd.Click Apply.

  7. Utdata visar den visuella representationen som visas i följande skärmbild:The output shows the visual representation as depicted in the following screenshot:

    Anpassa stapeldiagramCustomize bar chart

Rensa resurserClean up resources

Du kan avsluta klustret när du är klar med den här artikeln.Once you're finished with this article, you can terminate the cluster. I Azure Databricks-arbetsytan väljer du Kluster och letar reda på det kluster som du vill avsluta.From the Azure Databricks workspace, select Clusters and locate the cluster you want to terminate. För markören över de tre punkterna under kolumnen Åtgärder. Välj sedan ikonen Avsluta.Hover your mouse cursor over the ellipsis under Actions column, and select the Terminate icon.

Stoppa ett Databricks-klusterStop a Databricks cluster

Om du inte avslutar klustret manuellt stoppas det automatiskt, förutsatt att du har markerat kryss rutan Avsluta efter _ _ minuter av inaktivitet när klustret skapades.If you do not manually terminate the cluster it automatically stops, provided you selected the Terminate after __ minutes of inactivity checkbox while creating the cluster. Om du väljer det här alternativet avslutas klustret när det har varit inaktivt i den tid som angetts.If you set this option the cluster stops after it has been inactive for the designated amount of time.

Nästa stegNext steps

I den här artikeln skapade du ett Spark-kluster i Azure Databricks och körde ett Spark-jobb med hjälp av data i ett lagringskonto med Data Lake Storage Gen2 aktiverat.In this article, you created a Spark cluster in Azure Databricks and ran a Spark job using data in a storage account with Data Lake Storage Gen2 enabled.

Gå till nästa artikel om du vill lära dig hur du utför en ETL-åtgärd (extrahera, transformera och läsa in data) med Azure Databricks.Advance to the next article to learn how to perform an ETL operation (extract, transform, and load data) using Azure Databricks.

  • Information om hur du importerar data från andra data källor till Azure Databricks finns i Spark-datakällor.To learn how to import data from other data sources into Azure Databricks, see Spark data sources.

  • Information om andra sätt att komma åt Azure Data Lake Storage Gen2 från en Azure Databricks arbets yta finns i Azure Data Lake Storage Gen2.To learn about other ways to access Azure Data Lake Storage Gen2 from an Azure Databricks workspace, see Azure Data Lake Storage Gen2.