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.

Continue reading “Big Data – Azure RDB servisi ile çalışmak”

Big Data – Azure Data Lake Store ile çalışalım

Merhaba,

Azure storage account’un yanı sıra Azure Data Lake Store, özellikle big data iş yükünüz için optimize edilmiştir. Teorik olarak limitsiz bir yapısı vardır. Azure big data servislerinin kullanımına dair bir kaç alıştırma yapalım. Azure iş yükleri ile çalışılırken genelde en az bir adet storage account oluşturulur. Biz data lake storage’dan devam edelim 🙂 Öncelikle data lake store hesabı oluşturalım.

Storage menüsünden Data Lake Store ile devam ediyoruz. Store’un ismini ve bir kaç özelliğini belirliyoruz.

Yeni oluşan store’a veri yükleyelim.

Data lake store blade’inden data explorer menüsüne geçiyoruz. New folder sihirbazı ile yeni klasör oluşturalım.

Yeni klasöre data ismini verdim. Klasörün özelliklerine bakarak path bilgisini tedarik edebilirsiniz.

adl://datalakestoreiii.azuredatalakestore.net/data

Üstteki görüntüde görülen upload fonksiyonu ile dosya yüklüyoruz. İki dosya yükledim.

Dosyaya göz atmak için tıkladığınızda, dosyanın biçimine(de-limiter olan ne kullanıldığına bağlı olarak) uygun olarak açılacaktır. Bir örnek görünüm aşağıdaki gibidir. “Bir çok kolondan oluşan bir tablo

İlerleyen alıştırmalarda, burada oluşturduğumuz data lake store’u , data processing’de kullanacağız.

Sorunsuz ve neşeli günler dilerim.

 

Liste işlemleri append()-remove()-pop()

Merhaba,

Aşağıdaki code bloğu ne yapıyor?

list1 ‘de olan string tuşlandıysa onu list1 ‘de remove ediyor.

list1 ‘de olmayan string tuşlandıysa onu list1 ‘e append ediyor.

Herhangi bir string tuşlamadan enter’a tıklandıysa, list1’in sonuncu index’e sahip elementini kesiyor( pop() )

Listeyi kese kese bitirmek için while loop eklenebilir.

###Variables###
list1 = ['hen', 'cat', 'goat', 'cat', 'bird', 'cat', 'horse', 'goat', 'cat', 'horse', 'cow', 'ox', 'hen','deer']
print("Look at all animals",list1)

###list o matic fuction###
def listematic(str1,list1=[]):
    if not str1:
        kesilen = list1.pop()
        #print(kesilen,"popped from the list")
        return kesilen+' '+'popped from the list'
    if str1 in list1:
        list1.remove(str1)
        #print("1 instance of",str1 ,"removed from list")
        return '1 instance of'+' '+str1+' '+'removed from list'
    else:
        list1.append(str1)
        #print("1 instance of", str1, "appened to list")
        return '1 instance of'+' '+str1+' '+"appened to list"

###Program Flow###
#while True: --> son satır ve bunu bonus olarak kullanabilirsiniz,listeyi birer birer keser. Bu ve son satır arasındaki
#code'un indentation level'ini düzeltiniz.
if list1:
    str1 = input("Hayvan ismi giriniz :")
    if str1 == "Quit":
        print("Goodbye")
    else:
        print(listematic(str1,list1))
        print(list1)
else:
    print("Goodbye")
#   break

Herkese sorunsuz ve neşeli günler dilerim.

Kelimelere ayıralım ve sonuncu space ‘i düşünelim :)

 

Merhaba ,

Aşağıdaki code ile verilen string içinde, belli bir harften büyük bir harf ile başlayan kelimeleri bulabilirsiniz. Sonuncu space ‘ten sonraki kelime için .rfind( ) metodu kullanılabilir. Onu kullanmadan bulmaya çalıştım.

input_phrase = "Wheresoever you go, go with all your heart"
word = ""
start = 0
space_index = input_phrase.find(" ")
for i in input_phrase:
        if i.isalpha():
            word = word + i
            if space_index != -1:
                start = space_index + 1
                space_index = input_phrase.find(" ", space_index + 1)
        elif word.lower() >= "h":
            print(word.upper())
            word = ""
        else:
            word = ""
print(input_phrase[start:].upper())

Text içinde string aramak .find( )

Merhaba,

Text içinde geçen bir string‘in index numarası bulmak.

work_tip = "A snippet is a small chunk of PHP code that you can use to extend the " \
           "functionality of a WordPress-powered website; essentially a mini-plugin with " \
           "less load on your site. Most snippet-hosting sites tell you to add snippet code " \
           "to your active theme's functions.php file, which can get rather long and messy after a while."
code_index =work_tip.find("code")
while code_index > 0:
    print("'snippet' is at index",code_index)
    code_index = work_tip.find("snippet",code_index+1)
    if code_index == -1:
        print("no more 'snippet'")

work_tip text’i içinde geçen ‘snippet’ string’inin index numaralarını gösterir. Çıktısı aşağıdaki gibidir.

‘snippet’ is at index 34
‘snippet’ is at index 176
‘snippet’ is at index 214
no more ‘snippet’

Azure IoT – Raspberry PI’ i IoT Hub’a bağlayalım

Azure IoT  Raspberry PI’i IoT Hub’a bağlayalım

Merhaba,

Nesne simülasyonu ile bazı uygulamaları incelemiştik. Bir adet PI edindim  Onun IoT hub’a bağlanması adımlarını inceleyelim. 

Şunları yapacağız.

IoT hub’da raspberry cihazımız için device object oluşturacağız. Device object’in connection string’ini raspberry cihaz’dan veri gönderirken kullanacağız.

An itibarıyla kullandığım ürünün sürüm bilgisi üstteki gibidir. Raspbian işletim sistemli raspberry cihazımız ile çalışacağız. Şu an sensörüm olmadığı için sıcaklık ve nem verilerini simule edeceğiz.

IoT Hub hostname : iottestlab001.azure-devices.net

 

Not: Üstteki string içinde görünen shared access key temsilidir. Kendi yapınıza string’ler ile çalışınız.

İşlemlerimiz için gereken yetkilere sahip policy’yi , iothubowner policy’sinin connection string’ini kullanıyorum.

İhtiyaca göre diğer policy’leri de kullanabilirsiniz. Custom policy de oluşturabilirsiniz.

Raspberry cihazımız için IoT Hub>Device Explorer panelinden register device işlemini tamamlayalım.

 

İşlemi tamamlayalım. Device object aşağıda görüldüğü gibi oluşmuş olacaktır.

 

 

Cihazı seçerek connection string’ini kopyalayalım.

HostName=iottestlab001.azure-devices.net;DeviceId=birinciCihaz;SharedAccessKey=NzgXVy4bdRmlB1EZGC+ZpNEjJqN7aApkfVVLF02YBEs=

Not: Shared Access Key temsilidir.

Fiziksel raspberry cihazını, IoT hub’a bağlarken kullanacağımız device object’i hazırlamış olduk.

 

Raspberry cihazıma ssh ile bağlanarak hazırlayalım.

 

node.js versiyonu eski olduğu için , güncelleyeceğim.

Ardında yükleme işlemi…

 

İşlem tamamlandıktan sonra GIT’ten bir örnek uygulama temin ediyoruz.

 

Clone’ladığımız folder’a geçerek npm’i yüklüyoruz.