Zelf studie: de over taxi's-gegevensset van New York ladenTutorial: Load the New York Taxicab dataset

In deze zelf studie wordt gebruikgemaakt van poly Base voor het laden van New York over taxi's-gegevens uit een globaal Azure Blob-opslag account.This tutorial uses PolyBase to load New York Taxicab data from a global Azure blob storage account. De zelfstudie gebruikt Azure Portal en SQL Server Management Studio (SSMS) voor het volgende:The tutorial uses the Azure portal and SQL Server Management Studio (SSMS) to:

  • Een SQL-groep maken in de Azure PortalCreate a SQL pool in the Azure portal
  • Een serverfirewallregel ingesteld in Azure PortalSet up a server-level firewall rule in the Azure portal
  • Verbinding maken met het datawarehouse met SMMSConnect to the data warehouse with SSMS
  • Een gebruiker maken die wordt aangewezen om gegevens te ladenCreate a user designated for loading data
  • Externe tabellen maken voor gegevens in Azure Blob StorageCreate external tables for data in Azure blob storage
  • De instructie CTAS T-SQL gebruiken om gegevens in uw datawarehouse te ladenUse the CTAS T-SQL statement to load data into your data warehouse
  • De voortgang van de gegevens weergeven terwijl deze worden geladenView the progress of data as it is loading
  • Statistieken maken voor de nieuw geladen gegevensCreate statistics on the newly loaded data

Als u geen abonnement op Azure hebt, maakt u een gratis account voordat u begint.If you don't have an Azure subscription, create a free account before you begin.

Voordat u begintBefore you begin

Download en installeer voordat u met deze zelfstudie begint de nieuwste versie van SSMS (SQL Server Management Studio).Before you begin this tutorial, download and install the newest version of SQL Server Management Studio (SSMS).

Aanmelden bij Azure PortalLog in to the Azure portal

Meld u aan bij de Azure Portal.Log in to the Azure portal.

Een lege database makenCreate a blank database

Een SQL-groep wordt gemaakt met een gedefinieerde set reken resources.A SQL pool is created with a defined set of compute resources. De data base wordt gemaakt in een Azure-resource groep en in een logische SQL-Server.The database is created within an Azure resource group and in a logical SQL server.

Volg deze stappen om een lege data base te maken.Follow these steps to create a blank database.

  1. Selecteer in de linkerbovenhoek van Azure Portal Een resource maken.Select Create a resource in the upper left-hand corner of the Azure portal.

  2. Selecteer data bases op de pagina Nieuw en selecteer Azure Synapse Analytics onder Aanbevolen op de pagina Nieuw .Select Databases from the New page, and select Azure Synapse Analytics under Featured on the New page.

    datawarehouse maken

  3. Vul het formulier in met de volgende gegevens:Fill out the form with the following information:

    InstellingSetting Voorgestelde waardeSuggested value BeschrijvingDescription
    Naam*Name* mySampleDataWarehousemySampleDataWarehouse Zie Data Base-id'svoor geldige database namen.For valid database names, see Database Identifiers.
    AbonnementSubscription Uw abonnementYour subscription Zie Abonnementen voor meer informatie over uw abonnementen.For details about your subscriptions, see Subscriptions.
    ResourcegroepResource group myResourceGroupmyResourceGroup Zie Naming conventions (Naamgevingsconventies) voor geldige namen van resourcegroepen.For valid resource group names, see Naming rules and restrictions.
    Bron selecterenSelect source Lege databaseBlank database Geeft aan dat er een lege database wordt gemaakt.Specifies to create a blank database. Opmerking: een datawarehouse is een type database.Note, a data warehouse is one type of database.

    datawarehouse maken

  4. Selecteer Server als u een nieuwe server voor de nieuwe database wilt maken en configureren.Select Server to create and configure a new server for your new database. Vul het nieuwe serverformulier in met de volgende gegevens:Fill out the New server form with the following information:

    InstellingSetting Voorgestelde waardeSuggested value BeschrijvingDescription
    ServernaamServer name Een wereldwijd unieke naamAny globally unique name Zie Naming conventions (Naamgevingsconventies) voor geldige servernamen.For valid server names, see Naming rules and restrictions.
    Aanmelding bij de server beheerderServer admin login Een geldige naamAny valid name Zie Data Base-id'svoor geldige aanmeldings namen.For valid login names, see Database Identifiers.
    WachtwoordPassword Een geldig wachtwoordAny valid password Uw wachtwoord moet uit minstens acht tekens bestaan en moet tekens bevatten uit drie van de volgende categorieën: hoofdletters, kleine letters, cijfers en niet-alfanumerieke tekens.Your password must have at least eight characters and must contain characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    LocatieLocation Een geldige locatieAny valid location Zie Azure-regio'svoor meer informatie over regio's.For information about regions, see Azure Regions.

    server maken

  5. Kies Selecteren.Select Select.

  6. Selecteer prestatie niveau om op te geven of het Data Warehouse gen1 of Gen2 is en het aantal data warehouse-eenheden.Select Performance level to specify whether the data warehouse is Gen1 or Gen2, and the number of data warehouse units.

  7. Voor deze zelf studie selecteert u de SQL-groep Gen2.For this tutorial, select SQL pool Gen2. De schuif regelaar wordt standaard ingesteld op DW1000c .The slider is set to DW1000c by default. Verplaats de regelaar omhoog en omlaag om te zien hoe dit werkt.Try moving it up and down to see how it works.

    prestaties configureren

  8. Selecteer Toepassen.Select Apply.

  9. Selecteer op de Blade inrichten een sortering voor de lege data base.In the provisioning blade, select a collation for the blank database. Gebruik voor deze zelfstudie de standaardwaarde.For this tutorial, use the default value. Zie Collations (Sorteringen) voor meer informatie over sorteringenFor more information about collations, see Collations

  10. Nu u het formulier hebt ingevuld, selecteert u maken om de data base in te richten.Now that you have completed the form, select Create to provision the database. De inrichting duurt een paar minuten.Provisioning takes a few minutes.

  11. Selecteer op de werk balk meldingen om het implementatie proces te bewaken.On the toolbar, select Notifications to monitor the deployment process.

    melding

Een serverfirewallregel makenCreate a server-level firewall rule

Een firewall op server niveau die voor komt dat externe toepassingen en hulpprogram ma's verbinding maken met de server of data bases op de server.A firewall at the server-level that prevents external applications and tools from connecting to the server or any databases on the server. Als u de connectiviteit wilt inschakelen, kunt u firewallregels toevoegen waarmee connectiviteit voor bepaalde IP-adressen wordt ingeschakeld.To enable connectivity, you can add firewall rules that enable connectivity for specific IP addresses. Volg deze stappen om een firewallregel op serverniveau te maken voor het IP-adres van uw client.Follow these steps to create a server-level firewall rule for your client's IP address.

Notitie

SQL Database Warehouse communiceert via poort 1433.SQL Data Warehouse communicates over port 1433. Als u verbinding wilt maken vanuit een bedrijfsnetwerk, is uitgaand verkeer via poort 1433 mogelijk niet toegestaan vanwege de firewall van het netwerk.If you are trying to connect from within a corporate network, outbound traffic over port 1433 might not be allowed by your network's firewall. Als dat het geval is, kunt u geen verbinding maken met uw server tenzij uw IT-afdeling poort 1433 opent.If so, you cannot connect to your server unless your IT department opens port 1433.

  1. Nadat de implementatie is voltooid, selecteert u SQL-data bases in het menu aan de linkerkant en selecteert u vervolgens mySampleDatabase op de pagina SQL-data bases .After the deployment completes, select SQL databases from the left-hand menu and then select mySampleDatabase on the SQL databases page. De overzichts pagina voor de data base wordt geopend, met de volledig gekwalificeerde server naam (zoals mynewserver-20180430.database.Windows.net) en biedt opties voor verdere configuratie.The overview page for your database opens, showing you the fully qualified server name (such as mynewserver-20180430.database.windows.net) and provides options for further configuration.

  2. Kopieer deze volledig gekwalificeerde servernaam om in volgende Quick Starts verbinding te maken met de server en de bijbehorende databases.Copy this fully qualified server name for use to connect to your server and its databases in subsequent quick starts. Selecteer vervolgens de server naam om de server instellingen te openen.Then select the server name to open server settings.

    servernaam zoeken

  3. Selecteer de server naam om de server instellingen te openen.Select the server name to open server settings.

    serverinstellingen

  4. Selecteer firewall instellingen weer geven.Select Show firewall settings. De pagina firewall-instellingen voor de server wordt geopend.The Firewall settings page for the server opens.

    serverfirewallregel

  5. Selecteer IP van client toevoegen op de werkbalk om uw huidige IP-adres aan een nieuwe firewallregel toe te voegen.Select Add client IP on the toolbar to add your current IP address to a new firewall rule. Een firewallregel kan poort 1433 openen voor een afzonderlijk IP-adres of voor een aantal IP-adressen.A firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  6. Selecteer Opslaan.Select Save. Er wordt een firewall regel op server niveau gemaakt voor uw huidige IP-adres en poort 1433 wordt geopend op de server.A server-level firewall rule is created for your current IP address opening port 1433 on the server.

  7. Selecteer OK en sluit de pagina Firewallinstellingen.Select OK and then close the Firewall settings page.

U kunt nu verbinding maken met de server en de bijbehorende data warehouses met behulp van dit IP-adres.You can now connect to the server and its data warehouses using this IP address. De verbinding werkt met SQL Server Management Studio of een ander hulpprogramma van uw keuze.The connection works from SQL Server Management Studio or another tool of your choice. Wanneer u verbinding maakt, gebruikt u het ServerAdmin-account dat u eerder hebt gemaakt.When you connect, use the ServerAdmin account you created previously.

Belangrijk

Voor alle Azure-services is toegang via de SQL Database-firewall standaard ingeschakeld.By default, access through the SQL Database firewall is enabled for all Azure services. Selecteer uit op deze pagina en selecteer vervolgens Opslaan om de firewall voor alle Azure-Services uit te scha kelen.Select OFF on this page and then select Save to disable the firewall for all Azure services.

De volledig gekwalificeerde servernaam ophalenGet the fully qualified server name

Haal de volledig gekwalificeerde server naam voor uw server op in de Azure Portal.Get the fully qualified server name for your server in the Azure portal. Later gebruikt u de volledig gekwalificeerde servernaam bij het maken van verbinding met de server.Later you will use the fully qualified name when connecting to the server.

  1. Meld u aan bij de Azure Portal.Log in to the Azure portal.

  2. Selecteer Azure Synapse Analytics in het menu aan de linkerkant en selecteer uw Data Base op de pagina Azure Synapse Analytics .Select Azure Synapse Analytics from the left-hand menu, and select your database on the Azure Synapse Analytics page.

  3. In het deelvenster Essentials van de Azure Portal-pagina van uw database kopieert u de servernaam.In the Essentials pane in the Azure portal page for your database, locate and then copy the Server name. In dit voor beeld is de volledig gekwalificeerde naam mynewserver-20180430.database.windows.net.In this example, the fully qualified name is mynewserver-20180430.database.windows.net.

    verbindingsgegevens

Als serverbeheerder verbinding maken met de serverConnect to the server as server admin

In deze sectie wordt gebruikgemaakt van SQL Server Management Studio (SSMS) om een verbinding met uw server tot stand te brengen.This section uses SQL Server Management Studio (SSMS) to establish a connection to your server.

  1. Open SQL Server Management Studio.Open SQL Server Management Studio.

  2. Voer in het dialoogvenster Verbinding maken met server de volgende informatie in:In the Connect to Server dialog box, enter the following information:

    InstellingSetting Voorgestelde waardeSuggested value BeschrijvingDescription
    ServertypeServer type Database-engineDatabase engine Deze waarde is verplichtThis value is required
    ServernaamServer name De volledig gekwalificeerde servernaamThe fully qualified server name De naam moet er ongeveer als volgt uitzien: mynewserver-20180430.database.Windows.net.The name should be something like this: mynewserver-20180430.database.windows.net.
    VerificatieAuthentication SQL Server-verificatieSQL Server Authentication SQL-verificatie is het enige verificatietype dat we in deze zelfstudie hebben geconfigureerd.SQL Authentication is the only authentication type that we have configured in this tutorial.
    AanmeldenLogin Het beheerdersaccount voor de serverThe server admin account Dit is het account dat u hebt opgegeven tijdens het maken van de server.This is the account that you specified when you created the server.
    WachtwoordPassword Het wachtwoord voor het beheerdersaccount voor de serverThe password for your server admin account Dit is het wachtwoord dat u hebt opgegeven tijdens het maken van de server.This is the password that you specified when you created the server.

    verbinding maken met server

  3. Selecteer Verbinding maken.Select Connect. Het venster Objectverkenner wordt geopend in SQL Server Management Studio.The Object Explorer window opens in SSMS.

  4. Vouw Databases uit in Objectverkenner.In Object Explorer, expand Databases. Vouw Systeemdatabases en Hoofd uit om de objecten in de hoofddatabase weer te geven.Then expand System databases and master to view the objects in the master database. Vouw mySampleDatabase uit om de objecten in uw nieuwe database weer te geven.Expand mySampleDatabase to view the objects in your new database.

    databaseobjecten

Een gebruiker maken voor het laden van gegevensCreate a user for loading data

De serverbeheerdersaccount is bedoeld voor het uitvoeren van beheerbewerkingen en is niet geschikt voor het uitvoeren van query's op gebruikersgegevens.The server admin account is meant to perform management operations, and is not suited for running queries on user data. Het laden van gegevens is een geheugenintensieve bewerking.Loading data is a memory-intensive operation. Geheugen limieten worden gedefinieerd op basis van de geconfigureerde Data Warehouse-eenheden en de resource klasse .Memory maximums are defined according to the data warehouse units and resource class configured.

Het is raadzaam een aanmelding en gebruiker te maken die speciaal wordt toegewezen voor het laden van gegevens.It's best to create a login and user that is dedicated for loading data. Voeg vervolgens de ladende gebruiker toe aan een bronklasse. Hiermee wordt een maximale hoeveelheid geheugen ingesteld.Then add the loading user to a resource class that enables an appropriate maximum memory allocation.

Omdat u momenteel bent aangemeld als serverbeheerder, kunt u aanmeldingen en gebruikers maken.Since you are currently connected as the server admin, you can create logins and users. Gebruik deze stappen om een aanmelding en gebruiker te maken met de naam LoaderRC20.Use these steps to create a login and user called LoaderRC20. Wijs de gebruiker vervolgens toe aan de bronklasse staticrc20.Then assign the user to the staticrc20 resource class.

  1. Klik in SSMS met de rechter muisknop op model om een vervolg keuzelijst weer te geven en kies nieuwe query.In SSMS, right-select master to show a drop-down menu, and choose New Query. Een nieuwe queryvenster wordt geopend.A new query window opens.

    Nieuwe query in Hoofd

  2. Voer in het queryvenster deze T-SQL-opdrachten in om een aanmelding en een gebruiker te maken met de naam LoaderRC20, waarbij u uw eigen wachtwoord vervangt door 'een123STERKwachtwoord!'.In the query window, enter these T-SQL commands to create a login and user named LoaderRC20, substituting your own password for 'a123STRONGpassword!'.

    CREATE LOGIN LoaderRC20 WITH PASSWORD = 'a123STRONGpassword!';
    CREATE USER LoaderRC20 FOR LOGIN LoaderRC20;
    
  3. Selecteer Uitvoeren.Select Execute.

  4. Klik met de rechtermuisknop op mySampleDataWarehouse en kies Nieuwe query.Right-click mySampleDataWarehouse, and choose New Query. Er wordt een nieuw queryvenster geopend.A new query Window opens.

    Nieuwe query op voorbeeld van datawarehouse

  5. Voer de volgende T-SQL-opdrachten in om een databasegebruiker met de naam LoaderRC20 te maken voor de aanmelding LoaderRC20.Enter the following T-SQL commands to create a database user named LoaderRC20 for the LoaderRC20 login. De tweede regel verleent de nieuwe gebruiker beheermachtigingen voor het nieuwe datawarehouse.The second line grants the new user CONTROL permissions on the new data warehouse. Deze machtigingen zijn vergelijkbaar met de machtigingen als u de gebruiker de eigenaar van de database maakt.These permissions are similar to making the user the owner of the database. De derde regel voegt de nieuwe gebruiker toe als lid van de bronklasse staticrc20.The third line adds the new user as a member of the staticrc20 resource class.

    CREATE USER LoaderRC20 FOR LOGIN LoaderRC20;
    GRANT CONTROL ON DATABASE::[mySampleDataWarehouse] to LoaderRC20;
    EXEC sp_addrolemember 'staticrc20', 'LoaderRC20';
    
  6. Selecteer Uitvoeren.Select Execute.

Verbinding maken met de server als de ladende gebruikerConnect to the server as the loading user

De eerste stap voor het laden van gegevens bestaat uit aanmelding als LoaderRC20.The first step toward loading data is to login as LoaderRC20.

  1. Selecteer in Objectverkenner de vervolg keuzelijst verbinding maken en selecteer Data base-engine.In Object Explorer, select the Connect drop down menu and select Database Engine. Het dialoogvenster Verbinding maken met server wordt geopend.The Connect to Server dialog box appears.

    Verbinding maken met nieuwe aanmelding

  2. Voer de volledig gekwalificeerde servernaam in en voer LoaderRC20 als de aanmelding in.Enter the fully qualified server name, and enter LoaderRC20 as the Login. Voer uw wachtwoord in voor LoaderRC20.Enter your password for LoaderRC20.

  3. Selecteer Verbinding maken.Select Connect.

  4. Wanneer de verbinding gereed is, ziet u twee serververbindingen in Objectverkenner.When your connection is ready, you will see two server connections in Object Explorer. Eén verbinding als de serverbeheerder en één verbinding als MedRCLogin.One connection as ServerAdmin and one connection as MedRCLogin.

    Verbinding geslaagd

Externe tabellen voor de voorbeeldgegevens makenCreate external tables for the sample data

U bent klaar om te beginnen met het laden van gegevens in uw nieuwe datawarehouse.You are ready to begin the process of loading data into your new data warehouse. In deze zelf studie leert u hoe u externe tabellen kunt gebruiken voor het laden van een taxi cab-gegevens van New York in een Azure Storage-blob.This tutorial shows you how to use external tables to load New York City taxi cab data from an Azure Storage blob. Zie het overzicht van ladenvoor meer informatie over het ophalen van uw gegevens naar Azure Blob-opslag of het rechtstreeks laden vanuit uw bron.For future reference, to learn how to get your data to Azure blob storage or to load it directly from your source, see the loading overview.

Voer de volgende SQL-scripts uit en geef informatie op over de gegevens die u wilt laden.Run the following SQL scripts and specify information about the data you wish to load. Deze informatie omvat de locatie waar de gegevens zich bevinden, de indeling van de inhoud van de gegevens en de tabeldefinitie voor de gegevens.This information includes where the data is located, the format of the contents of the data, and the table definition for the data.

  1. In de vorige sectie hebt u zich bij uw datawarehouse aangemeld als LoaderRC20.In the previous section, you logged into your data warehouse as LoaderRC20. Klik in SMMS met de rechtermuisknop op uw LoaderRC20-verbinding en selecteer Nieuwe query.In SSMS, right-click your LoaderRC20 connection and select New Query. Er wordt een nieuw queryvenster geopend.A new query window appears.

    Nieuw venster voor het laden van een query

  2. Vergelijk uw queryvenster met de vorige afbeelding.Compare your query window to the previous image. Controleer of uw nieuwe queryvenster wordt uitgevoerd als LoaderRC20 en query's uitvoert op uw MySampleDataWarehouse-database.Verify your new query window is running as LoaderRC20 and performing queries on your MySampleDataWarehouse database. Gebruik dit queryvenster om alle laadstappen uit te voeren.Use this query window to perform all of the loading steps.

  3. Maak een hoofdsleutel voor de MySampleDataWarehouse-database.Create a master key for the MySampleDataWarehouse database. U hoeft maar één hoofdsleutel per database te maken.You only need to create a master key once per database.

    CREATE MASTER KEY;
    
  4. Voer de volgende instructie CREATE EXTERNAL DATA SOURCE uit om de locatie van de Azure-blob te definiëren.Run the following CREATE EXTERNAL DATA SOURCE statement to define the location of the Azure blob. Dit is de locatie van de externe taxigegevens.This is the location of the external taxi cab data. Als u een opdracht wilt uitvoeren die u aan het query venster hebt toegevoegd, markeert u de opdrachten die u wilt uitvoeren en selecteert u uitvoeren.To run a command that you have appended to the query window, highlight the commands you wish to run and select Execute.

    CREATE EXTERNAL DATA SOURCE NYTPublic
    WITH
    (
        TYPE = Hadoop,
        LOCATION = 'wasbs://2013@nytaxiblob.blob.core.windows.net/'
    );
    
  5. Voer de volgende T-SQL-instructie CREATE EXTERNAL FILE FORMAT uit om opmaakeigenschappen en -opties voor het externe gegevensbestand op te geven.Run the following CREATE EXTERNAL FILE FORMAT T-SQL statement to specify formatting characteristics and options for the external data file. Deze instructie geeft aan dat de externe gegevens zijn opgeslagen als tekst en de waarden worden gescheiden door het pipe-teken ('| ').This statement specifies the external data is stored as text and the values are separated by the pipe ('|') character. Het externe bestand wordt gecomprimeerd met Gzip.The external file is compressed with Gzip.

    CREATE EXTERNAL FILE FORMAT uncompressedcsv
    WITH (
        FORMAT_TYPE = DELIMITEDTEXT,
        FORMAT_OPTIONS (
            FIELD_TERMINATOR = ',',
            STRING_DELIMITER = '',
            DATE_FORMAT = '',
            USE_TYPE_DEFAULT = False
        )
    );
    CREATE EXTERNAL FILE FORMAT compressedcsv
    WITH (
        FORMAT_TYPE = DELIMITEDTEXT,
        FORMAT_OPTIONS ( FIELD_TERMINATOR = '|',
            STRING_DELIMITER = '',
        DATE_FORMAT = '',
            USE_TYPE_DEFAULT = False
        ),
        DATA_COMPRESSION = 'org.apache.hadoop.io.compress.GzipCodec'
    );
    
  6. Voer de volgende instructie CREATE SCHEMA uit om een schema te maken voor de externe bestandsindeling.Run the following CREATE SCHEMA statement to create a schema for your external file format. Het schema biedt een manier om de externe tabellen die u gaat maken te organiseren.The schema provides a way to organize the external tables you are about to create.

    CREATE SCHEMA ext;
    
  7. Maak de externe tabellen.Create the external tables. De tabel definities worden opgeslagen in het Data Warehouse, maar de tabellen verwijzen naar gegevens die zijn opgeslagen in Azure Blob Storage.The table definitions are stored in the data warehouse, but the tables reference data that is stored in Azure blob storage. Voer de volgende T-SQL-opdrachten uit om verschillende externe tabellen te maken die allemaal verwijzen naar de Azure-blob die eerder is gedefinieerd in de externe gegevensbron.Run the following T-SQL commands to create several external tables that all point to the Azure blob we defined previously in our external data source.

    CREATE EXTERNAL TABLE [ext].[Date]
    (
        [DateID] int NOT NULL,
        [Date] datetime NULL,
        [DateBKey] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DaySuffix] varchar(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfWeek] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfWeekInMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfWeekInYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfQuarter] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DayOfYear] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [WeekOfMonth] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [WeekOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [WeekOfYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [Month] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [MonthName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [MonthOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [Quarter] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [QuarterName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [Year] char(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [YearName] char(7) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [MonthYear] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [MMYYYY] char(6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [FirstDayOfMonth] date NULL,
        [LastDayOfMonth] date NULL,
        [FirstDayOfQuarter] date NULL,
        [LastDayOfQuarter] date NULL,
        [FirstDayOfYear] date NULL,
        [LastDayOfYear] date NULL,
        [IsHolidayUSA] bit NULL,
        [IsWeekday] bit NULL,
        [HolidayUSA] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    )
    WITH
    (
        LOCATION = 'Date',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    );
    CREATE EXTERNAL TABLE [ext].[Geography]
    (
        [GeographyID] int NOT NULL,
        [ZipCodeBKey] varchar(10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [County] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [City] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [State] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [Country] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [ZipCode] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    )
    WITH
    (
        LOCATION = 'Geography',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    );
    CREATE EXTERNAL TABLE [ext].[HackneyLicense]
    (
        [HackneyLicenseID] int NOT NULL,
        [HackneyLicenseBKey] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [HackneyLicenseCode] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    )
    WITH
    (
        LOCATION = 'HackneyLicense',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    );
    CREATE EXTERNAL TABLE [ext].[Medallion]
    (
        [MedallionID] int NOT NULL,
        [MedallionBKey] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [MedallionCode] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    )
    WITH
    (
        LOCATION = 'Medallion',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    )
    ;  
    CREATE EXTERNAL TABLE [ext].[Time]
    (
        [TimeID] int NOT NULL,
        [TimeBKey] varchar(8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [HourNumber] tinyint NOT NULL,
        [MinuteNumber] tinyint NOT NULL,
        [SecondNumber] tinyint NOT NULL,
        [TimeInSecond] int NOT NULL,
        [HourlyBucket] varchar(15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [DayTimeBucketGroupKey] int NOT NULL,
        [DayTimeBucket] varchar(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
    )
    WITH
    (
        LOCATION = 'Time',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    );
    CREATE EXTERNAL TABLE [ext].[Trip]
    (
        [DateID] int NOT NULL,
        [MedallionID] int NOT NULL,
        [HackneyLicenseID] int NOT NULL,
        [PickupTimeID] int NOT NULL,
        [DropoffTimeID] int NOT NULL,
        [PickupGeographyID] int NULL,
        [DropoffGeographyID] int NULL,
        [PickupLatitude] float NULL,
        [PickupLongitude] float NULL,
        [PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [DropoffLatitude] float NULL,
        [DropoffLongitude] float NULL,
        [DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [PassengerCount] int NULL,
        [TripDurationSeconds] int NULL,
        [TripDistanceMiles] float NULL,
        [PaymentType] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [FareAmount] money NULL,
        [SurchargeAmount] money NULL,
        [TaxAmount] money NULL,
        [TipAmount] money NULL,
        [TollsAmount] money NULL,
        [TotalAmount] money NULL
    )
    WITH
    (
        LOCATION = 'Trip2013',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = compressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    );
    CREATE EXTERNAL TABLE [ext].[Weather]
    (
        [DateID] int NOT NULL,
        [GeographyID] int NOT NULL,
        [PrecipitationInches] float NOT NULL,
        [AvgTemperatureFahrenheit] float NOT NULL
    )
    WITH
    (
        LOCATION = 'Weather',
        DATA_SOURCE = NYTPublic,
        FILE_FORMAT = uncompressedcsv,
        REJECT_TYPE = value,
        REJECT_VALUE = 0
    )
    ;
    
  8. Vouw in Objectverkenner mySampleDataWarehouse uit om de lijst met externe tabellen die u zojuist hebt gemaakt te bekijken.In Object Explorer, expand mySampleDataWarehouse to see the list of external tables you just created.

    Externe tabellen weergeven

De gegevens in uw datawarehouse ladenLoad the data into your data warehouse

In deze sectie worden de externe tabellen gebruikt die u zojuist hebt gedefinieerd voor het laden van de voorbeeld gegevens van Azure Storage Blob.This section uses the external tables you just defined to load the sample data from Azure Storage Blob.

Notitie

In deze zelfstudie worden de gegevens rechtstreeks in de definitieve tabel geladen.This tutorial loads the data directly into the final table. In een productieomgeving gebruikt u meestal CREATE TABLE AS SELECT om naar een faseringstabel te laden.In a production environment, you will usually use CREATE TABLE AS SELECT to load into a staging table. U kunt alle benodigde transformaties uitvoeren wanneer de gegevens zich in de faseringstabel bevinden.While data is in the staging table you can perform any necessary transformations. Als u de gegevens in de faseringstabel wilt toevoegen aan een productietabel, kunt u de instructie INSERT... SELECT gebruiken.To append the data in the staging table to a production table, you can use the INSERT...SELECT statement. Zie Gegevens in een productietabel invoegen voor meer informatie.For more information, see Inserting data into a production table.

Het script gebruikt de T-SQL-instructie CREATE TABLE AS SELECT (CTAS) om de gegevens uit Azure Storage Blob naar de nieuwe tabellen in het datawarehouse te laden.The script uses the CREATE TABLE AS SELECT (CTAS) T-SQL statement to load the data from Azure Storage Blob into new tables in your data warehouse. CTAS maakt een nieuwe tabel op basis van de resultaten van een SELECT-instructie.CTAS creates a new table based on the results of a select statement. De nieuwe tabel heeft dezelfde gegevenstypen en kolommen als de resultaten van de selecteerinstructie.The new table has the same columns and data types as the results of the select statement. Wanneer de SELECT-instructie uit een externe tabel wordt geselecteerd, worden gegevens in een relationele tabel in het Data Warehouse geïmporteerd.When the select statement selects from an external table, data is imported into a relational table in the data warehouse.

  1. Voer het volgende script uit om de gegevens in de nieuwe tabellen in uw datawarehouse te laden.Run the following script to load the data into new tables in your data warehouse.

    CREATE TABLE [dbo].[Date]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[Date]
    OPTION (LABEL = 'CTAS : Load [dbo].[Date]')
    ;
    CREATE TABLE [dbo].[Geography]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS
    SELECT * FROM [ext].[Geography]
    OPTION (LABEL = 'CTAS : Load [dbo].[Geography]')
    ;
    CREATE TABLE [dbo].[HackneyLicense]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[HackneyLicense]
    OPTION (LABEL = 'CTAS : Load [dbo].[HackneyLicense]')
    ;
    CREATE TABLE [dbo].[Medallion]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[Medallion]
    OPTION (LABEL = 'CTAS : Load [dbo].[Medallion]')
    ;
    CREATE TABLE [dbo].[Time]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[Time]
    OPTION (LABEL = 'CTAS : Load [dbo].[Time]')
    ;
    CREATE TABLE [dbo].[Weather]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[Weather]
    OPTION (LABEL = 'CTAS : Load [dbo].[Weather]')
    ;
    CREATE TABLE [dbo].[Trip]
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    AS SELECT * FROM [ext].[Trip]
    OPTION (LABEL = 'CTAS : Load [dbo].[Trip]')
    ;
    
  2. Bekijk uw gegevens tijdens het laden.View your data as it loads. U laadt verschillende GB van gegevens en comprimeert deze in zeer krachtige, geclusterde column Store-indexen.You're loading several GBs of data and compressing it into highly performant clustered columnstore indexes. Voer de volgende query uit, die gebruikmaakt van dynamische beheerweergaven (DMV's) om de status van de belasting weer te geven.Run the following query that uses a dynamic management views (DMVs) to show the status of the load.

    SELECT
        r.command,
        s.request_id,
        r.status,
        count(distinct input_name) as nbr_files,
        sum(s.bytes_processed)/1024/1024/1024.0 as gb_processed
    FROM
        sys.dm_pdw_exec_requests r
        INNER JOIN sys.dm_pdw_dms_external_work s
        ON r.request_id = s.request_id
    WHERE
        r.[label] = 'CTAS : Load [dbo].[Date]' OR
        r.[label] = 'CTAS : Load [dbo].[Geography]' OR
        r.[label] = 'CTAS : Load [dbo].[HackneyLicense]' OR
        r.[label] = 'CTAS : Load [dbo].[Medallion]' OR
        r.[label] = 'CTAS : Load [dbo].[Time]' OR
        r.[label] = 'CTAS : Load [dbo].[Weather]' OR
        r.[label] = 'CTAS : Load [dbo].[Trip]'
    GROUP BY
        r.command,
        s.request_id,
        r.status
    ORDER BY
        nbr_files desc,
        gb_processed desc;
    
  3. Bekijk alle systeemquery's.View all system queries.

    SELECT * FROM sys.dm_pdw_exec_requests;
    
  4. Al uw gegevens zijn netjes geladen in uw datawarehouse.Enjoy seeing your data nicely loaded into your data warehouse.

    Geladen tabellen weergeven

Verifiëren met behulp van beheerde identiteiten om te laden (optioneel)Authenticate using managed identities to load (optional)

Het laden met poly base en verificatie via beheerde identiteiten is het veiligste mechanisme en maakt het u mogelijk om service-eind punten van virtuele netwerken te gebruiken met Azure Storage.Loading using PolyBase and authenticating through managed identities is the most secure mechanism and enables you to leverage virtual network service endpoints with Azure Storage.

VereistenPrerequisites

  1. Installeer Azure PowerShell met behulp van deze hand leiding.Install Azure PowerShell using this guide.
  2. Als u een v1-of Blob-opslag account voor algemeen gebruik hebt, moet u eerst een upgrade uitvoeren naar de v2 voor algemeen gebruik met behulp van deze hand leiding.If you have a general-purpose v1 or blob storage account, you must first upgrade to general-purpose v2 using this guide.
  3. U moet vertrouwde micro soft-Services toegang geven tot dit opslag account ingeschakeld onder Azure Storage account firewalls en instellingen voor virtuele netwerken .You must have Allow trusted Microsoft services to access this storage account turned on under Azure Storage account Firewalls and Virtual networks settings menu. Raadpleeg deze hand leiding voor meer informatie.Refer to this guide for more information.

StappenSteps

  1. Registreer uw server bij Azure Active Directory (Aad) in Power shell:In PowerShell, register your server with Azure Active Directory (AAD):

    Connect-AzAccount
    Select-AzSubscription -SubscriptionId your-subscriptionId
    Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-database-servername -AssignIdentity
    
  2. Maak met behulp van deze hand leidingeen v2-opslag account voor algemeen gebruik.Create a general-purpose v2 Storage Account using this guide.

    Notitie

    Als u een v1-of Blob-opslag account voor algemeen gebruik hebt, moet u eerst een upgrade uitvoeren naar v2 met behulp van deze hand leiding.If you have a general-purpose v1 or blob storage account, you must first upgrade to v2 using this guide.

  3. Navigeer onder uw opslag account naar Access Control (IAM) en selecteer roltoewijzing toevoegen.Under your storage account, navigate to Access Control (IAM), and select Add role assignment. Wijs de RBAC-rol voor opslag-BLOB-gegevens toe aan uw server.Assign Storage Blob Data Contributor RBAC role to your server.

    Notitie

    Alleen leden met de bevoegdheid eigenaar kunnen deze stap uitvoeren.Only members with Owner privilege can perform this step. Raadpleeg deze hand leidingvoor verschillende ingebouwde rollen voor Azure-resources.For various built-in roles for Azure resources, refer to this guide.

Poly base-verbinding met het Azure Storage-account:Polybase connectivity to the Azure Storage account:

  1. Maak een Data Base-bereik referentie met identiteit = ' managed service Identity ':Create your database scoped credential with IDENTITY = 'Managed Service Identity':

    CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';
    

    Notitie

    • U hoeft geen geheim op te geven met Azure Storage toegangs sleutel, omdat dit mechanisme gebruikmaakt van beheerde identiteiten onder de voor vallen.There is no need to specify SECRET with Azure Storage access key because this mechanism uses Managed Identity under the covers.
    • De IDENTITEITs naam moet Managed Service Identity zijn voor poly base-connectiviteit om met Azure Storage-account te kunnen werken.IDENTITY name should be 'Managed Service Identity' for PolyBase connectivity to work with Azure Storage account.
  2. Maak de externe gegevens bron waarmee de data base met bereik referenties wordt opgegeven met de Managed Service Identity.Create the External Data Source specifying the Database Scoped Credential with the Managed Service Identity.

  3. Query's uitvoeren als normaal met externe tabellen.Query as normal using external tables.

Raadpleeg de volgende documentatie als u service-eind punten voor virtuele netwerken wilt instellen voor Azure Synapse Analytics.Refer to the following documentation if you'd like to set up virtual network service endpoints for Azure Synapse Analytics.

Resources opschonenClean up resources

Er kunnen kosten in rekening worden gebracht voor rekenresources en gegevens die in uw datawarehouse worden geladen.You are being charged for compute resources and data that you loaded into your data warehouse. Deze worden afzonderlijk gefactureerd.These are billed separately.

  • Als u de gegevens in de opslag wilt houden, kunt u het berekenen onderbreken wanneer u het datawarehouse niet gebruikt.If you want to keep the data in storage, you can pause compute when you aren't using the data warehouse. Door de berekening te onderbreken, worden alleen kosten voor gegevensopslag in rekening gebracht en kunt u de berekening hervatten wanneer u weer met de gegevens wilt gaan werken.By pausing compute you will only be charge for data storage and you can resume the compute whenever you are ready to work with the data.
  • Als u in de toekomst geen kosten meer wilt hebben, kunt u de datawarehouse verwijderen.If you want to remove future charges, you can delete the data warehouse.

Volg deze stappen om de resources op te schonen zoals gewenst.Follow these steps to clean up resources as you desire.

  1. Meld u aan bij de Azure Portalen selecteer uw data warehouse.Log in to the Azure portal, select your data warehouse.

    Resources opschonen

  2. Selecteer de knop pause om de berekening te onderbreken.To pause compute, select the Pause button. Als het datawarehouse is onderbroken, ziet u de knop Start.When the data warehouse is paused, you will see a Start button. Selecteer Startom de compute te hervatten.To resume compute, select Start.

  3. Selecteer verwijderenom het Data Warehouse te verwijderen, zodat er geen kosten in rekening worden gebracht voor berekenen of opslag.To remove the data warehouse so you won't be charged for compute or storage, select Delete.

  4. Als u de server die u hebt gemaakt, wilt verwijderen, selecteert u mynewserver-20180430.database.Windows.net in de vorige installatie kopie en selecteert u vervolgens verwijderen.To remove the server you created, select mynewserver-20180430.database.windows.net in the previous image, and then select Delete. Wees hiermee voorzichtig. Als u de server verwijdert, worden ook alle databases verwijderd die zijn toegewezen aan de server.Be careful with this as deleting the server will delete all databases assigned to the server.

  5. Als u de resource groep wilt verwijderen, selecteert u myResourceGroupen selecteert u resource groep verwijderen.To remove the resource group, select myResourceGroup, and then select Delete resource group.

Volgende stappenNext steps

In deze zelfstudie hebt u geleerd hoe u een datawarehouse en een gebruiker voor het laden van gegevens maakt.In this tutorial, you learned how to create a data warehouse and create a user for loading data. U hebt externe tabellen gemaakt om de structuur te definiëren voor gegevens die zijn opgeslagen in Azure Storage Blob en vervolgens de PolyBase-instructie CREATE TABLE AS SELECT gebruikt voor het laden van gegevens in uw datawarehouse.You created external tables to define the structure for data stored in Azure Storage Blob, and then used the PolyBase CREATE TABLE AS SELECT statement to load data into your data warehouse.

U hebt het volgende gedaan:You did these things:

  • Een datawarehouse gemaakt in Azure PortalCreated a data warehouse in the Azure portal
  • Een serverfirewallregel ingesteld in Azure PortalSet up a server-level firewall rule in the Azure portal
  • Verbinding gemaakt met het datawarehouse met SMMSConnected to the data warehouse with SSMS
  • Een gebruiker gemaakt die wordt aangewezen om gegevens te ladenCreated a user designated for loading data
  • Externe tabellen gemaakt voor gegevens in Azure Storage BlobCreated external tables for data in Azure Storage Blob
  • De instructie CTAS T-SQL gebruikt om gegevens in uw datawarehouse te ladenUsed the CTAS T-SQL statement to load data into your data warehouse
  • De voortgang van de gegevens weergegeven terwijl deze werden geladenViewed the progress of data as it is loading
  • Statistieken gemaakt voor de nieuw geladen gegevensCreated statistics on the newly loaded data

Ga naar het overzicht voor ontwikkel aars voor meer informatie over het migreren van een bestaande Data Base naar Azure Synapse Analytics.Advance to the development overview to learn how to migrate an existing database to Azure Synapse Analytics.