Kurz: načtení datové sady New York taxislužby městaTutorial: Load the New York Taxicab dataset

V tomto kurzu se k načtení dat New York taxislužby města z globálního účtu služby Azure Blob Storage používá základ.This tutorial uses PolyBase to load New York Taxicab data from a global Azure blob storage account. Tento kurz používá Azure Portal a aplikaci SQL Server Management Studio (SSMS) k:The tutorial uses the Azure portal and SQL Server Management Studio (SSMS) to:

  • Vytvořte ve Azure Portal fond SQL.Create a SQL pool in the Azure portal
  • Vytvořit pravidlo brány firewall na úrovni serveru na webu Azure PortalSet up a server-level firewall rule in the Azure portal
  • Připojení k datovému skladu pomocí SSMSConnect to the data warehouse with SSMS
  • Vytvoření vyhrazeného uživatele pro načítání datCreate a user designated for loading data
  • Vytvoření externích tabulek pro data v úložišti objektů blob v AzureCreate external tables for data in Azure blob storage
  • Načtení dat do datového skladu pomocí příkazu T-SQL CTASUse the CTAS T-SQL statement to load data into your data warehouse
  • Zobrazení průběhu nahrávání datView the progress of data as it is loading
  • Vytvoření statistik pro nově načtená dataCreate statistics on the newly loaded data

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

Před zahájenímBefore you begin

Než začnete s tímto kurzem, stáhněte a nainstalujte nejnovější verzi aplikace SQL Server Management Studio (SSMS).Before you begin this tutorial, download and install the newest version of SQL Server Management Studio (SSMS).

Přihlášení k webu Azure PortalLog in to the Azure portal

Přihlaste se k Azure Portal.Log in to the Azure portal.

Vytvoření prázdné databázeCreate a blank database

Vytvoří se fond SQL s definovanou sadou výpočetních prostředků.A SQL pool is created with a defined set of compute resources. Databáze se vytvoří v rámci skupiny prostředků Azure a na logickém SQL serveru.The database is created within an Azure resource group and in a logical SQL server.

Pomocí těchto kroků vytvořte prázdnou databázi.Follow these steps to create a blank database.

  1. V levém horním rohu webu Azure Portal vyberte Vytvořit prostředek.Select Create a resource in the upper left-hand corner of the Azure portal.

  2. Na stránce Nový vyberte databáze a v části Doporučené na nové stránce vyberte Azure synapse Analytics .Select Databases from the New page, and select Azure Synapse Analytics under Featured on the New page.

    vytvoření datového skladu

  3. Do formuláře zadejte následující informace:Fill out the form with the following information:

    NastaveníSetting Navrhovaná hodnotaSuggested value DescriptionDescription
    Jméno*Name* mySampleDataWarehousemySampleDataWarehouse Platné názvy databází najdete v tématu Identifikátory databází.For valid database names, see Database Identifiers.
    PředplatnéSubscription Vaše předplatnéYour subscription Podrobnosti o vašich předplatných najdete v tématu Předplatná.For details about your subscriptions, see Subscriptions.
    Skupina prostředkůResource group myResourceGroupmyResourceGroup Platné názvy skupin prostředků najdete v tématu Pravidla a omezení pojmenování.For valid resource group names, see Naming rules and restrictions.
    Vybrat zdrojSelect source Prázdná databázeBlank database Určuje, že se má vytvořit prázdná databáze.Specifies to create a blank database. Poznámka: datový sklad je jedním z typů databáze.Note, a data warehouse is one type of database.

    vytvoření datového skladu

  4. Vyberte Server a vytvořte a nakonfigurujte nový server pro novou databázi.Select Server to create and configure a new server for your new database. Do formuláře Nový server zadejte následující informace:Fill out the New server form with the following information:

    NastaveníSetting Navrhovaná hodnotaSuggested value DescriptionDescription
    Název serveruServer name Libovolný globálně jedinečný názevAny globally unique name Platné názvy serverů najdete v tématu Pravidla a omezení pojmenování.For valid server names, see Naming rules and restrictions.
    Přihlašovací jméno správce serveruServer admin login Libovolné platné jménoAny valid name Platná přihlašovací jména najdete v tématu Identifikátory databází.For valid login names, see Database Identifiers.
    HesloPassword Libovolné platné hesloAny valid password Heslo musí mít alespoň osm znaků a musí obsahovat znaky ze tří z následujících kategorií: velká písmena, malá písmena, číslice a jiné než alfanumerické znaky.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.
    UmístěníLocation Libovolné platné umístěníAny valid location Informace o oblastech najdete v tématu Oblasti služeb Azure.For information about regions, see Azure Regions.

    vytvořit server

  5. Vyberte Vybrat.Select Select.

  6. Vyberte úroveň výkonu , abyste určili, jestli je datový sklad Gen1 nebo Gen2, a kolik jednotek datového skladu.Select Performance level to specify whether the data warehouse is Gen1 or Gen2, and the number of data warehouse units.

  7. Pro tento kurz vyberte Gen2fond SQL.For this tutorial, select SQL pool Gen2. Ve výchozím nastavení je posuvník nastaven na DW1000c .The slider is set to DW1000c by default. Zkuste jeho posouváním hodnotu zvýšit a snížit a podívejte se, jak funguje.Try moving it up and down to see how it works.

    konfigurace výkonu

  8. Vyberte Apply (Použít).Select Apply.

  9. V okně zřizování vyberte kolaci pro prázdnou databázi.In the provisioning blade, select a collation for the blank database. Pro účely tohoto kurzu použijte výchozí hodnotu.For this tutorial, use the default value. Další informace o kolacích najdete v tématu Kolace.For more information about collations, see Collations

  10. Teď, když jste dokončili formulář, vyberte vytvořit a zřiďte databázi.Now that you have completed the form, select Create to provision the database. Zřizování trvá několik minut.Provisioning takes a few minutes.

  11. Na panelu nástrojů vyberte oznámení pro monitorování procesu nasazení.On the toolbar, select Notifications to monitor the deployment process.

    oznámení

Vytvoření pravidla brány firewall na úrovni serveruCreate a server-level firewall rule

Brána firewall na úrovni serveru, která zabraňuje externím aplikacím a nástrojům v připojení k serveru nebo jakékoli databázi na serveru.A firewall at the server-level that prevents external applications and tools from connecting to the server or any databases on the server. Pokud chcete umožnit připojení, můžete přidat pravidla brány firewall, která povolí připojení z konkrétních IP adres.To enable connectivity, you can add firewall rules that enable connectivity for specific IP addresses. Postupujte podle těchto pokynů a vytvořte pravidlo brány firewall na úrovni serveru pro IP adresu vašeho klienta.Follow these steps to create a server-level firewall rule for your client's IP address.

Poznámka

SQL Data Warehouse komunikuje přes port 1433.SQL Data Warehouse communicates over port 1433. Pokud se pokoušíte připojit z podnikové sítě, nemusí být odchozí provoz přes port 1433 bránou firewall vaší sítě povolený.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. Pokud ano, nemůžete se připojit k serveru, dokud vaše IT oddělení neotevře port 1433.If so, you cannot connect to your server unless your IT department opens port 1433.

  1. Po dokončení nasazení v nabídce na levé straně vyberte databáze SQL a na stránce databáze SQL vyberte mySampleDatabase .After the deployment completes, select SQL databases from the left-hand menu and then select mySampleDatabase on the SQL databases page. Otevře se stránka s přehledem pro vaši databázi, na které se zobrazí plně kvalifikovaný název serveru (například MyNewServer-20180430.Database.Windows.NET), který poskytuje možnosti pro další konfiguraci.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. Zkopírujte tento plně kvalifikovaný název serveru, abyste ho mohli použít pro připojení k serveru a jeho databázím v následujících rychlých startech.Copy this fully qualified server name for use to connect to your server and its databases in subsequent quick starts. Pak vyberte název serveru a otevřete nastavení serveru.Then select the server name to open server settings.

    vyhledání názvu serveru

  3. Vyberte název serveru a otevřete nastavení serveru.Select the server name to open server settings.

    nastavení serveru

  4. Vyberte možnost Zobrazit nastavení brány firewall.Select Show firewall settings. Otevře se stránka nastavení brány firewall pro server.The Firewall settings page for the server opens.

    pravidlo brány firewall serveru

  5. Na panelu nástrojů vyberte Přidat IP adresu klienta a přidejte tak aktuální IP adresu do nového pravidla brány firewall.Select Add client IP on the toolbar to add your current IP address to a new firewall rule. Pravidlo brány firewall může otevřít port 1433 pro jednu IP adresu nebo rozsah IP adres.A firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  6. Vyberte Uložit.Select Save. Vytvoří se pravidlo brány firewall na úrovni serveru pro vaši aktuální IP adresu pro otevření portu 1433 na serveru.A server-level firewall rule is created for your current IP address opening port 1433 on the server.

  7. Vyberte OK a pak zavřete stránku nastavení brány firewall .Select OK and then close the Firewall settings page.

Nyní se můžete připojit k serveru a jeho datovým skladům pomocí této IP adresy.You can now connect to the server and its data warehouses using this IP address. Připojení funguje z aplikace SQL Server Management Studio nebo jiného nástroje podle vašeho výběru.The connection works from SQL Server Management Studio or another tool of your choice. Při připojování použijte účet správce serveru, který jste předtím vytvořili.When you connect, use the ServerAdmin account you created previously.

Důležité

Standardně je přístup přes bránu firewall služby SQL Database povolený pro všechny služby Azure.By default, access through the SQL Database firewall is enabled for all Azure services. Na této stránce vyberte vypnuto a pak výběrem Uložit zakažte bránu firewall pro všechny služby Azure.Select OFF on this page and then select Save to disable the firewall for all Azure services.

Získání plně kvalifikovaného názvu serveruGet the fully qualified server name

Získejte plně kvalifikovaný název serveru pro váš server v Azure Portal.Get the fully qualified server name for your server in the Azure portal. Tento plně kvalifikovaný název použijete později při připojování k serveru.Later you will use the fully qualified name when connecting to the server.

  1. Přihlaste se k Azure Portal.Log in to the Azure portal.

  2. V nabídce na levé straně vyberte Azure synapse Analytics a na stránce Azure synapse Analytics vyberte svou databázi.Select Azure Synapse Analytics from the left-hand menu, and select your database on the Azure Synapse Analytics page.

  3. V podokně Základy na stránce webu Azure Portal pro vaši databázi vyhledejte a potom zkopírujte Název serveru.In the Essentials pane in the Azure portal page for your database, locate and then copy the Server name. V tomto příkladu je plně kvalifikovaný název mynewserver-20180430.database.windows.net.In this example, the fully qualified name is mynewserver-20180430.database.windows.net.

    informace o připojení

Připojení k serveru jako správce serveruConnect to the server as server admin

V této části se k navázání připojení k serveru používá SQL Server Management Studio (SSMS).This section uses SQL Server Management Studio (SSMS) to establish a connection to your server.

  1. Otevřete SQL Server Management Studio.Open SQL Server Management Studio.

  2. V dialogovém okně Připojení k serveru zadejte následující informace:In the Connect to Server dialog box, enter the following information:

    NastaveníSetting Navrhovaná hodnotaSuggested value DescriptionDescription
    Typ serveruServer type Databázový strojDatabase engine Tato hodnota se vyžaduje.This value is required
    Název serveruServer name Plně kvalifikovaný název serveruThe fully qualified server name Název by měl být podobný tomuto: MyNewServer-20180430.Database.Windows.NET.The name should be something like this: mynewserver-20180430.database.windows.net.
    AuthenticationAuthentication Ověřování SQL ServeruSQL Server Authentication Ověřování SQL je jediný typ ověřování, který jsme v tomto kurzu nakonfigurovali.SQL Authentication is the only authentication type that we have configured in this tutorial.
    PřihlásitLogin Účet správce serveruThe server admin account Jedná se o účet, který jste zadali při vytváření serveru.This is the account that you specified when you created the server.
    HesloPassword Heslo pro účet správce serveruThe password for your server admin account Jedná se o heslo, které jste zadali při vytváření serveru.This is the password that you specified when you created the server.

    Připojení k serveru

  3. Vyberte Připojit.Select Connect. V aplikaci SSMS se otevře okno Průzkumníka objektů.The Object Explorer window opens in SSMS.

  4. V Průzkumníku objektů rozbalte Databáze.In Object Explorer, expand Databases. Pak rozbalte Systémové databáze a uzel master a zobrazte objekty v hlavní databázi.Then expand System databases and master to view the objects in the master database. Rozbalte mySampleDatabase a zobrazte objekty v nové databázi.Expand mySampleDatabase to view the objects in your new database.

    databázové objekty

Vytvoření uživatele pro načítání datCreate a user for loading data

Účet správce serveru slouží k provádění operací správy a není vhodný pro spouštění dotazů na uživatelská data.The server admin account is meant to perform management operations, and is not suited for running queries on user data. Načítání dat je operace s vysokými nároky na paměť.Loading data is a memory-intensive operation. Maximální velikost paměti je definována v závislosti na nakonfigurovaných jednotkách datového skladu a třídě prostředků .Memory maximums are defined according to the data warehouse units and resource class configured.

Doporučujeme vytvořit účet a uživatele vyhrazeného pro načítání dat.It's best to create a login and user that is dedicated for loading data. Pak přidejte uživatele načítání do třídy prostředků, která umožňuje odpovídající maximální přidělení paměti.Then add the loading user to a resource class that enables an appropriate maximum memory allocation.

Vzhledem k tomu, že jste aktuálně připojeni jako správce serveru, můžete vytvářet účty a uživatele.Since you are currently connected as the server admin, you can create logins and users. Pomocí následujících kroků vytvořte účet a uživatele LoaderRC20.Use these steps to create a login and user called LoaderRC20. Pak uživatele přiřaďte k třídě prostředků staticrc20.Then assign the user to the staticrc20 resource class.

  1. V SSMS klikněte pravým tlačítkem myši na možnost Hlavní a zobrazte rozevírací nabídku a zvolte možnost Nový dotaz.In SSMS, right-select master to show a drop-down menu, and choose New Query. Otevře se nové okno dotazu.A new query window opens.

    Nový dotaz v uzlu master

  2. V okně dotazu zadejte následující příkazy T-SQL, které vytvoří účet a uživatele LoaderRC20, a heslo a123STRONGpassword nahraďte vlastním heslem.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. Vyberte Provést.Select Execute.

  4. Klikněte pravým tlačítkem na mySampleDataWarehouse a zvolte Nový dotaz.Right-click mySampleDataWarehouse, and choose New Query. Otevře se nové okno dotazu.A new query Window opens.

    Nový dotaz na ukázkový datový sklad

  5. Zadejte následující příkazy T-SQL, které pro účet LoaderRC20 vytvoří uživatele databáze LoaderRC20.Enter the following T-SQL commands to create a database user named LoaderRC20 for the LoaderRC20 login. Na druhém řádku se novému uživateli přidělí oprávnění CONTROL k novému datovému skladu.The second line grants the new user CONTROL permissions on the new data warehouse. Tato oprávnění jsou podobná, jako kdybyste z uživatele udělali vlastníka databáze.These permissions are similar to making the user the owner of the database. Na třetím řádku se nový uživatel přidá jako člen třídy prostředků 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. Vyberte Provést.Select Execute.

Připojení k serveru jako uživatel načítáníConnect to the server as the loading user

Prvním krokem k načítání dat je přihlášení jako LoaderRC20.The first step toward loading data is to login as LoaderRC20.

  1. V Průzkumník objektů vyberte rozevírací nabídku připojit a vyberte možnost databázový stroj.In Object Explorer, select the Connect drop down menu and select Database Engine. Zobrazí se dialogové okno Připojení k serveru.The Connect to Server dialog box appears.

    Přihlášení pomocí nového účtu

  2. Zadejte plně kvalifikovaný název serveru a jako Účet zadejte LoaderRC20.Enter the fully qualified server name, and enter LoaderRC20 as the Login. Zadejte své heslo k účtu LoaderRC20.Enter your password for LoaderRC20.

  3. Vyberte Připojit.Select Connect.

  4. Až bude vaše připojení připravené, v Průzkumníku objektů se zobrazí dvě připojení k serveru.When your connection is ready, you will see two server connections in Object Explorer. Jedno připojení jako ServerAdmin a druhé jako MedRCLogin.One connection as ServerAdmin and one connection as MedRCLogin.

    Úspěšné připojení

Vytvoření externích tabulek pro ukázková dataCreate external tables for the sample data

Teď jste připraveni zahájit proces načítání dat do svého nového datového skladu.You are ready to begin the process of loading data into your new data warehouse. V tomto kurzu se dozvíte, jak pomocí externích tabulek načíst data CAB taxislužby z Azure Storageého objektu BLOB v New Yorku.This tutorial shows you how to use external tables to load New York City taxi cab data from an Azure Storage blob. Informace o tom, jak získat data do služby Azure Blob Storage nebo jak je načíst přímo ze zdroje, najdete v tématu Přehled načítání.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.

Spusťte následující skripty SQL a zadejte informace o datech, která chcete načíst.Run the following SQL scripts and specify information about the data you wish to load. Tyto informace zahrnují umístění dat, formát obsahu dat a definici tabulky pro data.This information includes where the data is located, the format of the contents of the data, and the table definition for the data.

  1. V předchozí části jste se do svého datového skladu přihlásili jako LoaderRC20.In the previous section, you logged into your data warehouse as LoaderRC20. V SSMS klikněte pravým tlačítkem na připojení LoaderRC20 a vyberte Nový dotaz.In SSMS, right-click your LoaderRC20 connection and select New Query. Zobrazí se nové okno dotazu.A new query window appears.

    Nové okno dotazu načítání

  2. Porovnejte své okno dotazu s předchozím obrázkem.Compare your query window to the previous image. Ověřte, že je vaše okno dotazu spuštěné pod účtem LoaderRC20 a provádí dotazy na vaši databázi MySampleDataWarehouse.Verify your new query window is running as LoaderRC20 and performing queries on your MySampleDataWarehouse database. Toto okno dotazu použijte k provedení všech kroků načítání.Use this query window to perform all of the loading steps.

  3. Vytvořte hlavní klíč pro databázi MySampleDataWarehouse.Create a master key for the MySampleDataWarehouse database. Pro každou databázi je nutné vytvořit hlavní klíč pouze jednou.You only need to create a master key once per database.

    CREATE MASTER KEY;
    
  4. Spuštěním následujícího příkazu CREATE EXTERNAL DATA SOURCE definujte umístění objektu blob v Azure.Run the following CREATE EXTERNAL DATA SOURCE statement to define the location of the Azure blob. Toto je umístění externích dat taxislužby.This is the location of the external taxi cab data. Chcete-li spustit příkaz, který jste připojili do okna dotazu, zvýrazněte příkazy, které chcete spustit, a vyberte možnost Spustit.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. Spuštěním následujícího příkazu T-SQL CREATE EXTERNAL FILE FORMAT určete charakteristiky a možnosti formátování pro externí datový soubor.Run the following CREATE EXTERNAL FILE FORMAT T-SQL statement to specify formatting characteristics and options for the external data file. Tento příkaz určuje, že jsou externí data uložená jako text a hodnoty jsou oddělené znakem roury („|“).This statement specifies the external data is stored as text and the values are separated by the pipe ('|') character. Externí soubor je komprimovaný pomocí 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. Spuštěním následujícího příkazu CREATE SCHEMA vytvořte schéma pro formát vašeho externího souboru.Run the following CREATE SCHEMA statement to create a schema for your external file format. Schéma představuje způsob uspořádání externích tabulek, které se chystáte vytvořit.The schema provides a way to organize the external tables you are about to create.

    CREATE SCHEMA ext;
    
  7. Vytvořte externí tabulky.Create the external tables. Definice tabulek jsou uložené v datovém skladu, ale tabulky odkazují na data uložená v úložišti objektů BLOB v Azure.The table definitions are stored in the data warehouse, but the tables reference data that is stored in Azure blob storage. Spuštěním následujících příkazů T-SQL vytvořte několik externích tabulek odkazujících na objekt blob Azure, který jsme dříve definovali v externím zdroji dat.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. V Průzkumníku objektů rozbalte mySampleDataWarehouse a zobrazte seznam externích tabulek, které jste právě vytvořili.In Object Explorer, expand mySampleDataWarehouse to see the list of external tables you just created.

    Zobrazení externích tabulek

Načtení dat do datového skladuLoad the data into your data warehouse

Tato část používá externí tabulky, které jste právě definovali, k načtení ukázkových dat z Azure Storage Blob.This section uses the external tables you just defined to load the sample data from Azure Storage Blob.

Poznámka

V tomto kurzu se data načítají přímo do konečné tabulky.This tutorial loads the data directly into the final table. V produkčním prostředí budete obvykle používat příkaz CREATE TABLE AS SELECT k načtení dat do pracovní tabulky.In a production environment, you will usually use CREATE TABLE AS SELECT to load into a staging table. Zatímco jsou data v pracovní tabulce, můžete provést všechny potřebné transformace.While data is in the staging table you can perform any necessary transformations. K připojení dat v pracovní tabulce do provozní tabulky můžete použít příkaz INSERT...SELECT.To append the data in the staging table to a production table, you can use the INSERT...SELECT statement. Další informace najdete v tématu popisujícím vkládání dat do provozní tabulky.For more information, see Inserting data into a production table.

Tento skript pomocí příkazu T-SQL CREATE TABLE AS SELECT (CTAS) načítá data z Azure Storage Blob do nových tabulek ve vašem datovém skladu.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. Příkaz CTAS vytvoří novou tabulku na základě výsledků příkazu SELECT.CTAS creates a new table based on the results of a select statement. Nová tabulka obsahuje stejné sloupce a datové typy jako výsledky příkazu SELECT.The new table has the same columns and data types as the results of the select statement. Když příkaz SELECT vybere z externí tabulky, data se naimportují do relační tabulky v datovém skladu.When the select statement selects from an external table, data is imported into a relational table in the data warehouse.

  1. Spuštěním následujícího skriptu načtěte data do nových tabulek ve svém datovém skladu.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. Zobrazte data během načítání.View your data as it loads. Načítáte několik GB dat a komprimujete je do vysoce výkonných clusterovaných indexů columnstore.You're loading several GBs of data and compressing it into highly performant clustered columnstore indexes. Spuštěním následujícího dotazu, který používá zobrazení dynamické správy, zobrazíte stav načítání.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. Zobrazte všechny systémové dotazy.View all system queries.

    SELECT * FROM sys.dm_pdw_exec_requests;
    
  4. Užívejte si pohled na to, jak se data krásně načítají do vašeho datového skladu.Enjoy seeing your data nicely loaded into your data warehouse.

    Zobrazení načtených tabulek

Ověřování pomocí spravovaných identit k načtení (volitelné)Authenticate using managed identities to load (optional)

Načítání pomocí základů a ověřování prostřednictvím spravovaných identit je nejbezpečnější mechanismus a umožňuje využívat koncové body služby virtuální sítě s 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.

PožadavkyPrerequisites

  1. Pomocí této příručkynainstalujte Azure PowerShell.Install Azure PowerShell using this guide.
  2. Pokud máte účet úložiště pro obecné účely v1 nebo blob, musíte nejdřív v této příručceupgradovat na obecné účely v2.If you have a general-purpose v1 or blob storage account, you must first upgrade to general-purpose v2 using this guide.
  3. Abyste měli přístup k tomuto účtu úložiště zapnutý, musíte mít povolené důvěryhodné služby Microsoftu v nabídce Azure Storage brány firewall účtů a nastavení virtuálních sítí .You must have Allow trusted Microsoft services to access this storage account turned on under Azure Storage account Firewalls and Virtual networks settings menu. Další informace najdete v tomto Průvodci .Refer to this guide for more information.

KrokySteps

  1. V prostředí PowerShell Zaregistrujte server pomocí Azure Active Directory (AAD):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. Pomocí této příručkyvytvořte účet úložiště pro obecné účely v2 .Create a general-purpose v2 Storage Account using this guide.

    Poznámka

    Pokud máte účet úložiště pro obecné účely v1 nebo blob, musíte nejdřív upgradovat na verzi v2 pomocí této příručky.If you have a general-purpose v1 or blob storage account, you must first upgrade to v2 using this guide.

  3. V části účet úložiště přejděte na Access Control (IAM) a vyberte Přidat přiřazení role.Under your storage account, navigate to Access Control (IAM), and select Add role assignment. Přiřazení role RBAC Přispěvatel dat objektů BLOB úložiště k vašemu serveru.Assign Storage Blob Data Contributor RBAC role to your server.

    Poznámka

    Tento krok mohou provádět pouze členové s oprávněním vlastníka.Only members with Owner privilege can perform this step. Informace o různých předdefinovaných rolích pro prostředky Azure najdete v tomto Průvodci.For various built-in roles for Azure resources, refer to this guide.

Základní připojení k účtu Azure Storage:Polybase connectivity to the Azure Storage account:

  1. Vytvořte databázi s rozsahem pověření pomocí identity = ' identita spravované služby ':Create your database scoped credential with IDENTITY = 'Managed Service Identity':

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

    Poznámka

    • Není nutné zadávat tajný klíč pomocí Azure Storage přístupového klíče, protože tento mechanismus používá spravovanou identitu v rámci pokrývání.There is no need to specify SECRET with Azure Storage access key because this mechanism uses Managed Identity under the covers.
    • Název IDENTITY by měl být Identita spravované služby, aby připojení typu Base pro práci s účtem Azure Storage fungovalo.IDENTITY name should be 'Managed Service Identity' for PolyBase connectivity to work with Azure Storage account.
  2. Vytvořte externí zdroj dat, který určuje rozsah přihlašovacích údajů databáze s Identita spravované služby.Create the External Data Source specifying the Database Scoped Credential with the Managed Service Identity.

  3. Dotazování jako normální pomocí externích tabulekQuery as normal using external tables.

Pokud chcete nastavit koncové body služby virtuální sítě pro Azure synapse Analytics, přečtěte si následující dokumentaci .Refer to the following documentation if you'd like to set up virtual network service endpoints for Azure Synapse Analytics.

Vyčištění prostředkůClean up resources

Účtují se vám výpočetní prostředky a data, která načtete do svého datového skladu.You are being charged for compute resources and data that you loaded into your data warehouse. Ta se účtují zvlášť.These are billed separately.

  • Pokud chcete zachovat data v úložišti, můžete pozastavit výpočetní prostředky v době, kdy datový sklad nepoužíváte.If you want to keep the data in storage, you can pause compute when you aren't using the data warehouse. Když pozastavíte výpočetní prostředky, bude se vám účtovat pouze úložiště dat, a kdykoli budete připraveni s daty pracovat, můžete výpočetní prostředky zase obnovit.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.
  • Pokud chcete zamezit budoucím poplatkům, můžete datový sklad odstranit.If you want to remove future charges, you can delete the data warehouse.

Pomocí tohoto postupu podle potřeby vyčistěte prostředky.Follow these steps to clean up resources as you desire.

  1. Přihlaste se k Azure Portala vyberte svůj datový sklad.Log in to the Azure portal, select your data warehouse.

    Vyčištění prostředků

  2. Pokud chcete pozastavit výpočetní prostředky, vyberte tlačítko pozastavit .To pause compute, select the Pause button. Když je datový sklad pozastavený, zobrazí se tlačítko Spustit.When the data warehouse is paused, you will see a Start button. Pokud chcete pokračovat v výpočetních prostředích, vyberte Spustit.To resume compute, select Start.

  3. Pokud chcete odebrat datový sklad, aby se vám neúčtovaly výpočetní výkon nebo úložiště, vyberte Odstranit.To remove the data warehouse so you won't be charged for compute or storage, select Delete.

  4. Pokud chcete odebrat server, který jste vytvořili, vyberte na předchozím obrázku MyNewServer-20180430.Database.Windows.NET a pak vyberte Odstranit.To remove the server you created, select mynewserver-20180430.database.windows.net in the previous image, and then select Delete. Buďte opatrní, protože odstraněním serveru se odstraní také všechny databáze k tomuto serveru přiřazené.Be careful with this as deleting the server will delete all databases assigned to the server.

  5. Pokud chcete odebrat skupinu prostředků, vyberte myResourceGroupa pak vyberte Odstranit skupinu prostředků.To remove the resource group, select myResourceGroup, and then select Delete resource group.

Další krokyNext steps

V tomto kurzu jste se naučili vytvořit datový sklad a uživatele pro načítání dat.In this tutorial, you learned how to create a data warehouse and create a user for loading data. Vytvořili jste externí tabulky pro definici struktury dat uložených v Azure Storage Blob a pak jste pomocí příkazu PolyBase CREATE TABLE AS SELECT načetli data do svého datového skladu.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.

Provedli jste tyto akce:You did these things:

  • Vytvoření datového skladu na webu Azure PortalCreated a data warehouse in the Azure portal
  • Vytvořit pravidlo brány firewall na úrovni serveru na webu Azure PortalSet up a server-level firewall rule in the Azure portal
  • Připojení k datovému skladu pomocí SSMSConnected to the data warehouse with SSMS
  • Vytvoření vyhrazeného uživatele pro načítání datCreated a user designated for loading data
  • Vytvoření externích tabulek pro data v Azure Storage BlobCreated external tables for data in Azure Storage Blob
  • Načtení dat do datového skladu pomocí příkazu T-SQL CTASUsed the CTAS T-SQL statement to load data into your data warehouse
  • Zobrazení průběhu nahrávání datViewed the progress of data as it is loading
  • Vytvoření statistik pro nově načtená dataCreated statistics on the newly loaded data

Přejděte na přehled vývoje, kde se dozvíte, jak migrovat existující databázi do Azure synapse Analytics.Advance to the development overview to learn how to migrate an existing database to Azure Synapse Analytics.