Självstudie: extrahera, transformera och läsa in data med hjälp av Azure DatabricksTutorial: Extract, transform, and load data by using Azure Databricks

I den här självstudien utför du en ETL-åtgärd (extrahera, transformera och läsa in data) med hjälp av Azure Databricks.In this tutorial, you perform an ETL (extract, transform, and load data) operation by using Azure Databricks. Du kan extrahera data från Azure Data Lake Storage Gen2 till Azure Databricks, köra transformeringar av data i Azure Databricks och läsa in transformerade data i Azure Synapse Analytics.You extract data from Azure Data Lake Storage Gen2 into Azure Databricks, run transformations on the data in Azure Databricks, and load the transformed data into Azure Synapse Analytics.

Stegen i den här självstudien använder Azure Synapse-anslutaren för Azure Databricks för att överföra data till Azure Databricks.The steps in this tutorial use the Azure Synapse connector for Azure Databricks to transfer data to Azure Databricks. Den här anslutningen använder i sin tur Azure Blob Storage som tillfällig lagring för de data som överförs mellan ett Azure Databricks-kluster och Azure-Synapse.This connector, in turn, uses Azure Blob Storage as temporary storage for the data being transferred between an Azure Databricks cluster and Azure Synapse.

Följande bild visar programflödet:The following illustration shows the application flow:

Azure Databricks med Data Lake Store och Azure-SynapseAzure Databricks with Data Lake Store and Azure Synapse

Den här självstudien omfattar följande uppgifter:This tutorial covers the following tasks:

  • Skapa en Azure Databricks-tjänst.Create an Azure Databricks service.
  • Skapa ett Spark-kluster i Azure Databricks.Create a Spark cluster in Azure Databricks.
  • Skapa ett filsystem i Data Lake Storage Gen2-kontot.Create a file system in the Data Lake Storage Gen2 account.
  • Ladda upp exempeldata till Azure Data Lake Storage Gen2-kontot.Upload sample data to the Azure Data Lake Storage Gen2 account.
  • Skapa ett huvudnamn för tjänsten.Create a service principal.
  • Extrahera data från Azure Data Lake Storage Gen2-kontot.Extract data from the Azure Data Lake Storage Gen2 account.
  • Transformera data med Azure Databricks.Transform data in Azure Databricks.
  • Läs in data i Azure Synapse.Load data into Azure Synapse.

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.If you don't have an Azure subscription, create a free account before you begin.

Anteckning

Den här självstudien kan inte utföras med Azures kostnads fri utvärderings prenumeration.This tutorial cannot be carried out using Azure Free Trial Subscription. Om du har ett kostnads fritt konto går du till din profil och ändrar din prenumeration till betala peranvändning.If you have a free account, go to your profile and change your subscription to pay-as-you-go. Mer information finns i Kostnadsfritt Azure-konto.For more information, see Azure free account. Ta sedan bort utgifts gränsenoch begär en kvot ökning för virtuella processorer i din region.Then, remove the spending limit, and request a quota increase for vCPUs in your region. När du skapar din Azure Databricks arbets yta kan du välja pris nivån utvärdering (Premium-14-dagar gratis DBU) för att ge arbets ytan åtkomst till kostnads fria Premium Azure Databricks DBU i 14 dagar.When you create your Azure Databricks workspace, you can select the Trial (Premium - 14-Days Free DBUs) pricing tier to give the workspace access to free Premium Azure Databricks DBUs for 14 days.

FörutsättningarPrerequisites

Slutför de här uppgifterna innan du startar självstudien:Complete these tasks before you begin this tutorial:

Samla in den information som du behöverGather the information that you need

Se till att du slutför kraven för den här självstudien.Make sure that you complete the prerequisites of this tutorial.

Innan du börjar bör du ha följande information:Before you begin, you should have these items of information:

: heavy_check_mark: databas namnet, databas serverns namn, användar namnet och lösen ordet för din Azure-Synapse.:heavy_check_mark: The database name, database server name, user name, and password of your Azure Synapse.

: heavy_check_mark: åtkomst nyckeln för ditt Blob Storage-konto.:heavy_check_mark: The access key of your blob storage account.

: heavy_check_mark: namnet på ditt Data Lake Storage Gen2 lagrings konto.:heavy_check_mark: The name of your Data Lake Storage Gen2 storage account.

: heavy_check_mark: klient-ID för din prenumeration.:heavy_check_mark: The tenant ID of your subscription.

: heavy_check_mark: program-ID för den app som du registrerade med Azure Active Directory (Azure AD).:heavy_check_mark: The application ID of the app that you registered with Azure Active Directory (Azure AD).

: heavy_check_mark: autentiseringsnyckel för den app som du registrerade med Azure AD.:heavy_check_mark: The authentication key for the app that you registered with Azure AD.

Skapa en Azure Databricks-tjänstCreate an Azure Databricks service

I det här avsnittet skapar du en Azure Databricks-tjänst i Azure Portal.In this section, you create an Azure Databricks service by using the Azure portal.

  1. Från Azure Portal-menyn väljer du skapa en resurs.From the Azure portal menu, select Create a resource.

    Skapa en resurs på Azure Portal

    Välj sedan analys > Azure Databricks.Then, select Analytics > Azure Databricks.

    Skapa Azure Databricks på Azure Portal

  2. Ange följande värden under Azure Databricks-tjänst för att skapa en Databricks-tjänst:Under Azure Databricks Service, provide the following values to create a Databricks service:

    EgenskapProperty BeskrivningDescription
    Namn på arbetsytaWorkspace name Ange ett namn för Databricks-arbetsytan.Provide 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.
    PositionLocation Välj USA, västra 2.Select West US 2. För andra tillgängliga regioner läser du informationen om Azure-tjänsttillgänglighet per region.For other available regions, see Azure services available by region.
    Pris nivåPricing Tier Välj standard.Select Standard.
  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 Azure DatabricksCreate a Spark cluster in Azure Databricks

  1. Gå till Databricks-tjänsten du skapade i Azure Portal och välj Starta arbetsyta.In the Azure portal, go to the Databricks service that you created, and select Launch Workspace.

  2. Du omdirigeras till Azure Databricks-portalen.You're redirected to the Azure Databricks portal. I portalen väljer du Kluster.From the portal, select 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

  4. 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 kryss rutan Avsluta efter _ _ minuter av inaktivitet .Make sure you select the Terminate after __ minutes of inactivity check box. Om klustret inte används anger du en varaktighet (i minuter) för att avsluta klustret.If the cluster isn't being used, provide a duration (in minutes) to terminate the cluster.

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

Skapa ett filsystem i Azure Data Lake Storage Gen2-kontotCreate a file system in the Azure Data Lake Storage Gen2 account

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

  1. Gå till Azure Databricks-tjänsten du skapade i Azure Portal och välj Starta arbetsyta.In the Azure portal, go to the Azure Databricks service that you created, and select Launch Workspace.

  2. Välj Arbetsyta till vänster.On the left, select Workspace. I listrutan Arbetsyta väljer du Skapa > Anteckningsbok.From the Workspace drop-down, select Create > Notebook.

    Skapa en antecknings bok i DatabricksCreate a notebook in Databricks

  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.

    Ange information om en bärbar dator i DatabricksProvide details for a notebook in Databricks

  4. Välj Skapa.Select Create.

  5. Följande kodblock ställer in standard autentiseringsuppgifter för tjänstens huvud namn för alla ADLS gen 2-konton som används i Spark-sessionen.The following code block sets default service principal credentials for any ADLS Gen 2 account accessed in the Spark session. Det andra kod blocket lägger till konto namnet i inställningen för att ange autentiseringsuppgifter för ett enskilt ADLS gen 2-konto.The second code block appends the account name to the setting to specify credentials for a specific ADLS Gen 2 account. Kopiera och klistra in ett kod block i den första cellen i din Azure Databricks Notebook.Copy and paste either code block into the first cell of your Azure Databricks notebook.

    Konfiguration av sessionSession configuration

    val appID = "<appID>"
    val secret = "<secret>"
    val tenantID = "<tenant-id>"
    
    spark.conf.set("fs.azure.account.auth.type", "OAuth")
    spark.conf.set("fs.azure.account.oauth.provider.type", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
    spark.conf.set("fs.azure.account.oauth2.client.id", "<appID>")
    spark.conf.set("fs.azure.account.oauth2.client.secret", "<secret>")
    spark.conf.set("fs.azure.account.oauth2.client.endpoint", "https://login.microsoftonline.com/<tenant-id>/oauth2/token")
    spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization", "true")
    

    KontokonfigurationAccount configuration

    val storageAccountName = "<storage-account-name>"
    val appID = "<app-id>"
    val secret = "<secret>"
    val fileSystemName = "<file-system-name>"
    val tenantID = "<tenant-id>"
    
    spark.conf.set("fs.azure.account.auth.type." + storageAccountName + ".dfs.core.windows.net", "OAuth")
    spark.conf.set("fs.azure.account.oauth.provider.type." + storageAccountName + ".dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
    spark.conf.set("fs.azure.account.oauth2.client.id." + storageAccountName + ".dfs.core.windows.net", "" + appID + "")
    spark.conf.set("fs.azure.account.oauth2.client.secret." + storageAccountName + ".dfs.core.windows.net", "" + secret + "")
    spark.conf.set("fs.azure.account.oauth2.client.endpoint." + storageAccountName + ".dfs.core.windows.net", "https://login.microsoftonline.com/" + tenantID + "/oauth2/token")
    spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization", "true")
    dbutils.fs.ls("abfss://" + fileSystemName  + "@" + storageAccountName + ".dfs.core.windows.net/")
    spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization", "false")
    
  6. I det här kodblocket ersätter du platshållarvärdena <app-id>, <secret>, <tenant-id> och <storage-account-name> i det här kodblocket med de värden som du hämtade när du slutförde förutsättningarna för den här självstudien.In this code block, replace the <app-id>, <secret>, <tenant-id>, and <storage-account-name> placeholder values in this code block with the values that you collected while completing the prerequisites of this tutorial. Ersätt platshållarvärdet <file-system-name> med det namn som du vill ge filsystemet.Replace the <file-system-name> placeholder value with whatever name you want to give the file system.

    • <app-id> och <secret> kommer från den app som du registrerade med Active Directory som en del av skapandet av ett tjänsthuvudnamn.The <app-id>, and <secret> are from the app that you registered with active directory as part of creating a service principal.

    • <tenant-id> kommer från din prenumeration.The <tenant-id> is from your subscription.

    • <storage-account-name> är namnet på ditt Azure Data Lake Storage Gen2-lagringskonto.The <storage-account-name> is the name of your Azure Data Lake Storage Gen2 storage account.

  7. 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 exempeldata i Azure Data Lake Storage Gen2-kontotIngest sample data into the Azure Data Lake Storage Gen2 account

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://" + fileSystemName + "@" + storageAccountName + ".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.

Extrahera data från Azure Data Lake Storage Gen2-kontotExtract data from the Azure Data Lake Storage Gen2 account

  1. Du kan nu läsa in json-exempelfilen som en dataram i Azure Databricks.You can now load the sample json file as a data frame in Azure Databricks. Klistra in följande kod i en ny cell.Paste the following code in a new cell. Ersätt platshållarna inom hakparentes med dina värden.Replace the placeholders shown in brackets with your values.

    val df = spark.read.json("abfss://" + fileSystemName + "@" + storageAccountName + ".dfs.core.windows.net/small_radio_json.json")
    
  2. 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.

  3. Kör följande kod om du vill se dataramens innehåll:Run the following code to see the contents of the data frame:

    df.show()
    

    Du bör se utdata som liknar följande fragment:You see an output similar to the following snippet:

    +---------------------+---------+---------+------+-------------+----------+---------+-------+--------------------+------+--------+-------------+---------+--------------------+------+-------------+------+
    |               artist|     auth|firstName|gender|itemInSession|  lastName|   length|  level|            location|method|    page| registration|sessionId|                song|status|           ts|userId|
    +---------------------+---------+---------+------+-------------+----------+---------+-------+--------------------+------+--------+-------------+---------+--------------------+------+-------------+------+
    | El Arrebato         |Logged In| Annalyse|     F|            2|Montgomery|234.57914| free  |  Killeen-Temple, TX|   PUT|NextSong|1384448062332|     1879|Quiero Quererte Q...|   200|1409318650332|   309|
    | Creedence Clearwa...|Logged In|   Dylann|     M|            9|    Thomas|340.87138| paid  |       Anchorage, AK|   PUT|NextSong|1400723739332|       10|        Born To Move|   200|1409318653332|    11|
    | Gorillaz            |Logged In|     Liam|     M|           11|     Watts|246.17751| paid  |New York-Newark-J...|   PUT|NextSong|1406279422332|     2047|                DARE|   200|1409318685332|   201|
    ...
    ...
    

    Du har nu extraherat data från Azure Data Lake Storage Gen2 till Azure Databricks.You have now extracted the data from Azure Data Lake Storage Gen2 into Azure Databricks.

Transformera data med Azure DatabricksTransform data in Azure Databricks

Filen small_radio_json.json med exempelrådata fångar målgruppen för en radiostation och har flera olika kolumner.The raw sample data small_radio_json.json file captures the audience for a radio station and has a variety of columns. I det här avsnittet ska du transformera data så att endast specifika kolumner hämtas från datamängden.In this section, you transform the data to only retrieve specific columns from the dataset.

  1. Börja med att bara hämta kolumnerna firstName, lastName, gender, location och level från den dataram som du skapade.First, retrieve only the columns firstName, lastName, gender, location, and level from the dataframe that you created.

    val specificColumnsDf = df.select("firstname", "lastname", "gender", "location", "level")
    specificColumnsDf.show()
    

    Du får utdata som liknar följande kodfragment:You receive output as shown in the following snippet:

    +---------+----------+------+--------------------+-----+
    |firstname|  lastname|gender|            location|level|
    +---------+----------+------+--------------------+-----+
    | Annalyse|Montgomery|     F|  Killeen-Temple, TX| free|
    |   Dylann|    Thomas|     M|       Anchorage, AK| paid|
    |     Liam|     Watts|     M|New York-Newark-J...| paid|
    |     Tess|  Townsend|     F|Nashville-Davidso...| free|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...| free|
    |     Alan|     Morse|     M|Chicago-Napervill...| paid|
    |Gabriella|   Shelton|     F|San Jose-Sunnyval...| free|
    |   Elijah|  Williams|     M|Detroit-Warren-De...| paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...| free|
    |     Tess|  Townsend|     F|Nashville-Davidso...| free|
    |     Alan|     Morse|     M|Chicago-Napervill...| paid|
    |     Liam|     Watts|     M|New York-Newark-J...| paid|
    |     Liam|     Watts|     M|New York-Newark-J...| paid|
    |   Dylann|    Thomas|     M|       Anchorage, AK| paid|
    |     Alan|     Morse|     M|Chicago-Napervill...| paid|
    |   Elijah|  Williams|     M|Detroit-Warren-De...| paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...| free|
    |     Alan|     Morse|     M|Chicago-Napervill...| paid|
    |   Dylann|    Thomas|     M|       Anchorage, AK| paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...| free|
    +---------+----------+------+--------------------+-----+
    
  2. Du kan transformera dessa data ytterligare genom att t.ex. ändra namnet på kolumnen nivå till prenumerationstyp.You can further transform this data to rename the column level to subscription_type.

    val renamedColumnsDF = specificColumnsDf.withColumnRenamed("level", "subscription_type")
    renamedColumnsDF.show()
    

    Du får utdata som liknar följande kodfragment.You receive output as shown in the following snippet.

    +---------+----------+------+--------------------+-----------------+
    |firstname|  lastname|gender|            location|subscription_type|
    +---------+----------+------+--------------------+-----------------+
    | Annalyse|Montgomery|     F|  Killeen-Temple, TX|             free|
    |   Dylann|    Thomas|     M|       Anchorage, AK|             paid|
    |     Liam|     Watts|     M|New York-Newark-J...|             paid|
    |     Tess|  Townsend|     F|Nashville-Davidso...|             free|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...|             free|
    |     Alan|     Morse|     M|Chicago-Napervill...|             paid|
    |Gabriella|   Shelton|     F|San Jose-Sunnyval...|             free|
    |   Elijah|  Williams|     M|Detroit-Warren-De...|             paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...|             free|
    |     Tess|  Townsend|     F|Nashville-Davidso...|             free|
    |     Alan|     Morse|     M|Chicago-Napervill...|             paid|
    |     Liam|     Watts|     M|New York-Newark-J...|             paid|
    |     Liam|     Watts|     M|New York-Newark-J...|             paid|
    |   Dylann|    Thomas|     M|       Anchorage, AK|             paid|
    |     Alan|     Morse|     M|Chicago-Napervill...|             paid|
    |   Elijah|  Williams|     M|Detroit-Warren-De...|             paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...|             free|
    |     Alan|     Morse|     M|Chicago-Napervill...|             paid|
    |   Dylann|    Thomas|     M|       Anchorage, AK|             paid|
    |  Margaux|     Smith|     F|Atlanta-Sandy Spr...|             free|
    +---------+----------+------+--------------------+-----------------+
    

Läs in data i Azure SynapseLoad data into Azure Synapse

I det här avsnittet ska du ladda upp transformerade data till Azure-Synapse.In this section, you upload the transformed data into Azure Synapse. Du kan använda Azure Synapse-anslutningen för Azure Databricks för att direkt överföra en dataframe som en tabell i en Synapse Spark-pool.You use the Azure Synapse connector for Azure Databricks to directly upload a dataframe as a table in a Synapse Spark pool.

Som tidigare nämnts använder Azure Synapse-anslutningen Azure Blob Storage som tillfällig lagring för att ladda upp data mellan Azure Databricks och Azure Synapse.As mentioned earlier, the Azure Synapse connector uses Azure Blob storage as temporary storage to upload data between Azure Databricks and Azure Synapse. Så du börjar med att tillhandahålla den konfiguration som ska ansluta till lagringskontot.So, you start by providing the configuration to connect to the storage account. Du måste redan ha skapat kontot som en del av de nödvändiga förutsättningarna för den här artikeln.You must already have already created the account as part of the prerequisites for this article.

  1. Ange konfigurationen så att du får åtkomst till Azure Storage-kontot från Azure Databricks.Provide the configuration to access the Azure Storage account from Azure Databricks.

    val blobStorage = "<blob-storage-account-name>.blob.core.windows.net"
    val blobContainer = "<blob-container-name>"
    val blobAccessKey =  "<access-key>"
    
  2. Ange en tillfällig mapp som ska användas när data flyttas mellan Azure Databricks och Azure-Synapse.Specify a temporary folder to use while moving data between Azure Databricks and Azure Synapse.

    val tempDir = "wasbs://" + blobContainer + "@" + blobStorage +"/tempDirs"
    
  3. Kör följande fragment om du vill lagra åtkomstnycklar för Azure Blob Storage i konfigurationen.Run the following snippet to store Azure Blob storage access keys in the configuration. Den här åtgärden gör att du inte behöver lagra åtkomstnyckeln i anteckningsboken som oformaterad text.This action ensures that you don't have to keep the access key in the notebook in plain text.

    val acntInfo = "fs.azure.account.key."+ blobStorage
    sc.hadoopConfiguration.set(acntInfo, blobAccessKey)
    
  4. Ange värdena för att ansluta till Azure Synapse-instansen.Provide the values to connect to the Azure Synapse instance. Du måste ha skapat en Azure Synapse Analytics-tjänst som en förutsättning.You must have created an Azure Synapse Analytics service as a prerequisite. Använd det fullständigt kvalificerade Server namnet för dwServer.Use the fully qualified server name for dwServer. Till exempel <servername>.database.windows.net.For example, <servername>.database.windows.net.

    //Azure Synapse related settings
    val dwDatabase = "<database-name>"
    val dwServer = "<database-server-name>"
    val dwUser = "<user-name>"
    val dwPass = "<password>"
    val dwJdbcPort =  "1433"
    val dwJdbcExtraOptions = "encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
    val sqlDwUrl = "jdbc:sqlserver://" + dwServer + ":" + dwJdbcPort + ";database=" + dwDatabase + ";user=" + dwUser+";password=" + dwPass + ";$dwJdbcExtraOptions"
    val sqlDwUrlSmall = "jdbc:sqlserver://" + dwServer + ":" + dwJdbcPort + ";database=" + dwDatabase + ";user=" + dwUser+";password=" + dwPass
    
  5. Kör följande kodfragment för att läsa in transformerade dataframe, renamedColumnsDF, som en tabell i Azure Synapse. Det här kodfragmentet skapar en tabell med namnet SampleTable i SQL-databasen.This snippet creates a table called SampleTable in the SQL database.

    spark.conf.set(
        "spark.sql.parquet.writeLegacyFormat",
        "true")
    
    renamedColumnsDF.write.format("com.databricks.spark.sqldw").option("url", sqlDwUrlSmall).option("dbtable", "SampleTable")       .option( "forward_spark_azure_storage_credentials","True").option("tempdir", tempDir).mode("overwrite").save()
    

    Anteckning

    Det här exemplet använder forward_spark_azure_storage_credentials -flaggan, som gör att Azure-Synapse kan komma åt data från Blob Storage med hjälp av en åtkomst nyckel.This sample uses the forward_spark_azure_storage_credentials flag, which causes Azure Synapse to access data from blob storage using an Access Key. Detta är den enda autentiseringsmetoden som stöds.This is the only supported method of authentication.

    Om din Azure-Blob Storage är begränsad till att välja virtuella nätverk, kräver Azure Synapse hanterad tjänstidentitet i stället för åtkomst nycklar.If your Azure Blob Storage is restricted to select virtual networks, Azure Synapse requires Managed Service Identity instead of Access Keys. Detta kommer att orsaka felet "denna begäran har inte behörighet att utföra den här åtgärden."This will cause the error "This request is not authorized to perform this operation."

  6. Anslut till SQL-databasen och kontrollera att du ser en databas med namnet SampleTable.Connect to the SQL database and verify that you see a database named SampleTable.

    Verifiera exempel tabellenVerify the sample table

  7. Verifiera tabellens innehåll genom att köra en urvalsfråga.Run a select query to verify the contents of the table. Tabellen bör ha samma data som dataramen renamedColumnsDF.The table should have the same data as the renamedColumnsDF dataframe.

    Verifiera innehållet i exempel tabellenVerify the sample table content

Rensa resurserClean up resources

När du har slutfört självstudien kan du avsluta klustret.After you finish the tutorial, you can terminate the cluster. Välj Kluster till vänster på Azure Databricks-arbetsytan.From the Azure Databricks workspace, select Clusters on the left. Peka på ellipsen (...) under Åtgärder och välj ikonen Avsluta för att avsluta klustret.For the cluster to terminate, under Actions, point to the ellipsis (...) 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 du skapade klustret.If you don't manually terminate the cluster, it automatically stops, provided you selected the Terminate after __ minutes of inactivity check box when you created the cluster. I så fall stoppas klustret automatiskt om det har varit inaktivt under den angivna tiden.In such a case, the cluster automatically stops if it's been inactive for the specified time.

Nästa stegNext steps

I den här självstudiekursen lärde du dig att:In this tutorial, you learned how to:

  • Skapa en Azure Databricks-tjänstCreate an Azure Databricks service
  • Skapa ett Spark-kluster i Azure DatabricksCreate a Spark cluster in Azure Databricks
  • Skapa en anteckningsbok i Azure DatabricksCreate a notebook in Azure Databricks
  • Extrahera data från ett Data Lake Storage Gen2-kontoExtract data from a Data Lake Storage Gen2 account
  • Transformera data med Azure DatabricksTransform data in Azure Databricks
  • Läs in data i Azure SynapseLoad data into Azure Synapse

Gå vidare till nästa självstudiekurs och lär dig mer om att strömma realtidsdata i Azure Databricks med Azure Event Hubs.Advance to the next tutorial to learn about streaming real-time data into Azure Databricks using Azure Event Hubs.