Share via


Azure Data Lake Depolama'dan Azure Synapse Analytics'teki ayrılmış SQL havuzlarına veri yükleme

Bu kılavuzda, Azure Data Lake Depolama'dan veri yüklemek için COPY deyiminin nasıl kullanılacağı özetlenmiştir. Copy deyimini tüm kimlik doğrulama yöntemlerinde kullanma hakkında hızlı örnekler için şu belgeleri ziyaret edin: Ayrılmış SQL havuzlarını kullanarak verileri güvenli bir şekilde yükleme.

Dekont

COPY deyiminde geri bildirim veya rapor sorunları sağlamak için aşağıdaki dağıtım listesine bir e-posta gönderin: sqldwcopypreview@service.microsoft.com.

  • Azure Data Lake Depolama'dan veri yüklemek için hedef tabloyu oluşturun.
  • Veri ambarı içine veri yüklemek için COPY deyimini oluşturun.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun.

Başlamadan önce

Bu öğreticiye başlamadan önce, SQL Server Management Studio’nun (SSMS) en yeni sürümünü indirin ve yükleyin.

Bu öğreticiyi çalıştırmak için şunları yapmanız gerekir:

  • Ayrılmış bir SQL havuzu. Bkz. Ayrılmış SQL havuzu oluşturma ve verileri sorgulama.
  • Data Lake Depolama hesabı. Bkz. Azure Data Lake Depolama kullanmaya başlama. Bu depolama hesabı için yüklenecek şu kimlik bilgilerini yapılandırmanız veya belirtmeniz gerekir: Depolama hesabı anahtarı, paylaşılan erişim imzası (SAS) anahtarı, Azure Dizin Uygulaması kullanıcısı veya depolama hesabına uygun Azure rolüne sahip bir Microsoft Entra kullanıcısı.
  • Şu anda COPY komutunu kullanarak yeni Azure Depolama DNS bölüm özelliğini kullanan bir Azure Depolama hesabına veri alımı bir hatayla sonuçlanır. Bu öğretici için DNS bölümlemesi kullanmayan bir abonelikte depolama hesabı sağlayın.

Hedef tabloyu oluşturma

Ayrılmış SQL havuzunuza Bağlan ve yüklenecek hedef tabloyu oluşturun. Bu örnekte, bir ürün boyutu tablosu oluşturuyoruz.

-- A: Create the target table
-- DimProduct
CREATE TABLE [dbo].[DimProduct]
(
    [ProductKey] [int] NOT NULL,
    [ProductLabel] [nvarchar](255) NULL,
    [ProductName] [nvarchar](500) NULL
)
WITH
(
    DISTRIBUTION = HASH([ProductKey]),
    CLUSTERED COLUMNSTORE INDEX
    --HEAP
);

COPY deyimini oluşturma

SQL ayrılmış havuzunuza Bağlan ve COPY deyimini çalıştırın. Örneklerin tam listesi için şu belgeleri ziyaret edin: Ayrılmış SQL havuzlarını kullanarak verileri güvenli bir şekilde yükleme.

-- B: Create and execute the COPY statement

COPY INTO [dbo].[DimProduct]  
--The column list allows you map, omit, or reorder input file columns to target table columns.  
--You can also specify the default value when there is a NULL value in the file.
--When the column list is not specified, columns will be mapped based on source and target ordinality
(
    ProductKey default -1 1,
    ProductLabel default 'myStringDefaultWhenNull' 2,
    ProductName default 'myStringDefaultWhenNull' 3
)
--The storage account location where you data is staged
FROM 'https://storageaccount.blob.core.windows.net/container/directory/'
WITH  
(
   --CREDENTIAL: Specifies the authentication method and credential access your storage account
   CREDENTIAL = (IDENTITY = '', SECRET = ''),
   --FILE_TYPE: Specifies the file type in your storage account location
   FILE_TYPE = 'CSV',
   --FIELD_TERMINATOR: Marks the end of each field (column) in a delimited text (CSV) file
   FIELDTERMINATOR = '|',
   --ROWTERMINATOR: Marks the end of a record in the file
   ROWTERMINATOR = '0x0A',
   --FIELDQUOTE: Specifies the delimiter for data of type string in a delimited text (CSV) file
   FIELDQUOTE = '',
   ENCODING = 'UTF8',
   DATEFORMAT = 'ymd',
   --MAXERRORS: Maximum number of reject rows allowed in the load before the COPY operation is canceled
   MAXERRORS = 10,
   --ERRORFILE: Specifies the directory where the rejected rows and the corresponding error reason should be written
   ERRORFILE = '/errorsfolder',
) OPTION (LABEL = 'COPY: ADLS tutorial');

Columnstore sıkıştırmayı iyileştirme

Varsayılan olarak, tablolar kümelenmiş columnstore dizini olarak tanımlanır. Yükleme tamamlandıktan sonra veri satırlarından bazıları columnstore'da sıkıştırılmayabilir. Bunun olmasının çeşitli nedenleri vardır. Daha fazla bilgi edinmek için bkz . columnstore dizinlerini yönetme.

Bir yüklemeden sonra sorgu performansını ve columnstore sıkıştırmasını iyileştirmek için, columnstore dizinini tüm satırları sıkıştırmaya zorlamak için tabloyu yeniden derleyin.


ALTER INDEX ALL ON [dbo].[DimProduct] REBUILD;

İstatistikleri iyileştirme

Bir yüklemeden hemen sonra tek sütunlu istatistikler oluşturmak en iyisidir. İstatistikler için bazı seçenekler vardır. Örneğin, her sütunda tek sütunlu istatistikler oluşturursanız, tüm istatistiklerin yeniden oluşturulması uzun sürebilir. Belirli sütunların sorgu koşullarında yer almadığını biliyorsanız, bu sütunlarda istatistik oluşturmayı atlayabilirsiniz.

Her tablonun her sütununda tek sütunlu istatistikler oluşturmaya karar verirseniz, istatistikler makalesindeki saklı yordam kodu örneğini prc_sqldw_create_statskullanabilirsiniz.

Aşağıdaki örnek, istatistik oluşturmak için iyi bir başlangıç noktasıdır. Boyut tablosundaki her sütunda ve olgu tablolarındaki her bir birleştirme sütununda tek sütunlu istatistikler oluşturur. Daha sonra diğer olgu tablosu sütunlarına istediğiniz zaman tek veya çok sütunlu istatistikler ekleyebilirsiniz.

Başarı kilidi açık!

Verileri veri ambarınıza başarıyla yüklediniz. Harika iş çıkardınız!

Sonraki adımlar

Verileri yükleme, Azure Synapse Analytics kullanarak veri ambarı çözümü geliştirmenin ilk adımıdır. Geliştirme kaynaklarımıza göz atın.

Daha fazla yükleme örneği ve başvuru için aşağıdaki belgeleri görüntüleyin: