Big Data – Azure RDB servisi ile çalışmak

Merhaba,

Azure SQL Database, Microsoft SQL Server(ilişkisel veritabanı yönetim sistemi – rdbms) tabanlı bir bulut servisidir. Uygulamalarınız için ilişkisel veri deposu olarak kullanıldığı gibi big data çözümü olarak da kullanılabilir. Aynı core database engine’ini paylaşan diğer servis, Azure sql data warehouse ‘dur ve geniş veri iş yükleri için optimize edilmiştir.

Bu alıştırmada, azure sql database(kısaca db) ile çeşitli görevleri yerine getireceğiz:

Azure sql database oluşturacağız.

Query editor ile kullanacağız.

Azure storage account’taki veriyi, Azure data factory ile, Azure sql database’deki bir tabloya yükleyeceğiz.

Önceki alıştırmada olduğu gibi, öncelikle servisi oluşturalım(provisioning). Azure Portal’dan, db servislerinden ilerleyerek azure sql db’yi provision ediyoruz.

Pricing tier‘ı lab ortamı maliyetini minimumda tutacak bir değere ayarlayabilirsiniz. Basic(5 dtu) tier seçip ilerliyorum. DB kısa sürede hazırlanacaktır.

Bildiğimiz üzere ilişkisel veritabanları içinde veri içeren tabloları içerir. Bu alıştırmada da kullandığımız AdvanturesWorksLT isimli database içinde tabloların çoğu SalesLT isimli schema’da gruplanmıştır. Azure sql database servisi oluştuğuna göre, query editor ile sorgulama yapabiliriz. Aşağıda görülen menülerden Tools ile devam ediyoruz.

Açılan menüden Query Editor(henüz preview) ile devam ediyoruz. Herhangi bir işlem yapmadan önce Login ile giriş yapmalısınız.

Login sonrasında basit bir soru çalıştırdım. Üstte görüleceği üzere sorguya uyan sonuçlar Results kısmında listelenmektedir.

Sıradaki alıştırmada bir tablo oluşturalım, azure data factory‘yi kullanarak, azure storage‘deki veriyi, bu tabloya yükleyelim.

Şu query’yi çalıştırdım.

CREATE TABLE SalesLT.ProductReview
( ProductReviewID INTEGER PRIMARY KEY,
ProductID INTEGER REFERENCES SalesLT.Product(ProductID), ReviewerName NVARCHAR(25),
ReviewDate DATETIME,
EmailAddress NVARCHAR(50),
Rating INTEGER,
Comments NTEXT );

 

Üstteki resimde de görüldüğü üzere yeni tablo oluştu. İçi boş. Big data görevlerinden bir ile, veriyi bir store’dan bir diğerine aktarmayla, devam edelim. Azure Storage’den, Azure SQL Database’e aktaracağız. Azure Data Factory servisini kullanacağız.

Data+Analytics servis grubunun içinde yer alan Data Factory ile devam ediyoruz.

Birkaç standard değeri belirleyerek data factory’yi oluşturunuz. Data factory blade’ini genişleterel Copy Data blade’ine geçiyoruz.

An itibarıyla copy data fonksiyonu da preview durumda. Kısa zamanda GA olacaktır. Task ismini ve desciption kısmını uygun şekilde doldurabilirsiniz.

Sonraki adıma geçiyoruz(adım 2,source). Adım 2’de karışınıza gelen seçeneklerin çeşitliliği ne dersiniz? 🙂

Storage account’unuza ait bilgileri seçip devam ediniz. Yüklemek istediğiniz veri(örneğin bir text dosyası), storage account’unuzdaki blog container’lardan hangisindeyse seçiniz ve devam ediniz. File format setting sayfası, seçtiğiniz dosyanın biçimine göre otomatik olarak uygun değerlerle yüklenecektir. Farklı seçimler ile devam etmek isterseniz değiştirebilirsiniz. Adım 3’e ulaştık 🙂 Destination olarak sql db’yi seçiyoruz.

İlk olarak database servisine login oluyoruz ve sonrasında table seçiyoruz. (Hedef tabloyu)

Schema mapping seçim alanına ulaşacaksınız. Bu kısımda farklılaştırmak istediğiniz field’lar olabilir.

Varsa değiştiriniz, yoksa devam ediniz. Data source map’teki tüm kolonları seçmek zorunda değilsiniz, burada copy data sihirbazını akıllı tasarlamışlar, schema mapping için en az bir kolon seçimi yaptıktan sonra , sıradaki seçimleri aynı pattern’de yapmaya çalışıyor 🙂 Devam ediyoruz. Adım 4’teyiz. Varsayılan ayarlar ile devam ediyoruz.Adım 5 ‘e ulaştık.

Summary ekranını inceleyebilirsiniz. Devam. İşlem başladı.

Veriyi azure sql database’e aktardık. Bir query ile içeriği kontrol edelim 🙂 Query Editor’e geçiyoruz. select * from saleslt.productreview sorgusu ile içeriğe ulaşabildiyseniz, azure storage’deki veriyi azure sql database’e aktarmış olacaksınız. Sonraki alıştırmada Azure NoSQL servisleri ile çalışacağız.

Herkese sorunsuz ve neşeli günler dilerim.

 

Leave a Reply

Your email address will not be published. Required fields are marked *