Exasol Ders 2: SQL Server’dan Exasol’e Veri Aktarımı

Veri aktarımı yapılacak ortama göre ExaOperation’dan jdbc driver ayarlarını yapmak gerekmektedir. Ama öncesinde aktarım için kullanılacak veri tabanına göre uygun driver’ı bilgisayarınıza yüklemeniz gerekiyor:

Buraya tıklayarak youtube kanalımdaki ilgili videoya ulaşabilirsiniz.

bb

Driver’ınız hazırsa gelin nasıl yapacağımıza bir göz atalım:

12757

ExaOperation sayfasında Sofware -> JDBC Drivers sekmesine tıklayın.

.jar uzantılı driver’ı yüklemek için önce,

Add driver dediğinizde aşağıdaki şekilde bir ekran gelecek. İçerisini aşağıdaki şekilde doldurun. (Main Class sığmadığı için tam olarak resimde görünmüyor bir sonraki resimden Main kısmına bakarak burayı doldurabilirsiniz.)

3269872829.png

Add diyerek driver’ı oluşturun ardından => ekrana gelen driver’ı (jdbc1) seçip => dosya seç’e tıklayarak .jar uzantılı driver dosyasını upload etmelisiniz.

exa34342.png

Driver’ı yükledikten sonra şimdi diğer adıma geçiyoruz.

Aşağıdaki linkten Exasol‘e hangi veri tabanından veri aktarımı yapacaksanız kodlarına ulaşabilirsiniz.

https://github.com/EXASOL/database-migration

SQL Server’dan Exasol‘e veri aktaracağımız için sqlserver_to_exasol.sql‘u seçiyoruz.

Burada kodu incelediğimizde 3 kısımdan oluştuğunu görürüz.

1- İlk kısım script yaratma (aşağı doğru inin create connection’a yani ikinci kısma kadar olan bölümü kopyalayın ve Exaplus’a yapıştırarak çalıştırın),

Screenshot_1

2- İkinci kısım bağlantı oluşturma (buradaki ip, port, kullanıcı ve şifre SQL Server’a ait. İlk kısmı çalıştırdıktan sonra bu kısmı kopyalayarak aynı şekilde Exaplus’ta çalıştırın),

Screenshot_3

3- Üçüncü kısım da process’i içe aktarma (Adventure yazan kısma SQL Server’dan alınacak database adı, eğer isteniyorsa şema ve tablo isimleri yazılabilir. % olarak kalırsa hepsini alır. Son olarak bu kısmı çalıştırıyoruz).

Screenshot_4.png

Execute Script’ini çalıştırdığınızda çıktı olarak aşağıda bazı sorgular üretilecektir. O sorguları kopyalayarak Exaplus’ta çalıştırdıktan sonra veri aktarım işlemi tamamlanmış olacaktır.

Oracle’dan Exasol‘e veri aktarımı blog yazısı için buraya, youtube videosu için buraya tıklayabilirsiniz.

Kurulum ve Başlangıç sayfası blog yazısı için buraya, youtube videosu için buraya tıklayabilirsiniz.

Exasol Ders 1: Kurulum ve Başlangıç

Eveet şimdi size dünyanın en hızlı analitik ve ilişkisel veri tabanı olan Exasol‘dan bahsetmek istiyorum. Bir Alman ürünü olan Exasol yüksek performanslı ve sorgu ağırlıklı veri tabanıdır. Exasol‘da her şey in memory (bellek içi) tutulur. İçerisinde SQL komutları aynı şekilde çalışır. (Bazı ufak farklılar olabilir bunun için yazının sonunda paylaştığım kullanım kılavuzundan faydalanabilirsiniz.)

Buraya tıklayarak youtube kanalımdaki Exasol kurulum videosuna ulaşabilirsiniz.

Exasol, TPC-H skorlarında 100 TB’a kadar bütün kategorilerde dünyanın en hızlı analitik veri tabanı olarak gösterilmiştir.

  • Exaplus için kurulum linki;

Download Client -> EXAplus-6.0.8.msi

Buraya tıklayarak yukarıdaki dosyayı indirebilirsiniz.

(Exaplus, sorguları yazdığımız yazılımdır. Exaplus‘ı masaüstümüze kuruyoruz giriş yapmak için gereken kullanıcı adı, şifreyi almak ve network ayarlarını yapmak için bir sanal makine kullanacağız.)

Exasol’un kurulumunu iki şekilde yapabilirsiniz: ISO veya OVA. Biz şuan sanal makine üzerinden kurulumu yapacağız.

  • .ova free community edition için kurulum linki;

Buraya tıklayarak sanal makineyi indirebilirsiniz.

Oracle Virtual Box ile kendisini açarak konfigürasyonu yapabilirsiniz.

  • Sanal makinenizde .ova uzantılı dosyayı çalıştırın ve aşağıdaki linkte gösterilen ayarları yapın.

Buraya tıklayarak network ayarlarını kolayca yapabilirsiniz.

Adımları uygulayın. Bir sorun yaşarsanız bana ulaşabilirsiniz. Sanal makineden network ayarlarınızı yaptığınızı varsayarak devam edelim.

  • ExaOperation’a girmek için browser’a giderek verilen ip adresini https://192.168.1.44 şeklinde linke yazın. Çıkan sayfadan gelişmişi seçerek ip adresinin üzerine tıklayın. Böylece ExaOperation sayfasına yönleneceksiniz.

Not: Eğer otomatik IP atanmadıysa ve karşınıza IP address, Netmask ve Gateway n/a şeklinde geldiyse DHCP’yi [*] yapın. Sanal makinede klavye tuşları biraz farklı olduğu için * ya da boşluk yapmak için space (boşluk) tuşunu; nokta yapmak için ç harfini ve tabii ki yukarı aşağı gitmek için klavyedeki ok tuşlarını kullanın.

Not 2: Statik IP için DHCP [ ] bu şekilde boş olmalıdır. Fakat eğer verilen ayarlamaları yaptıktan sonra ExaOperation sayfasına yönlendirilemiyorsanız sanal makinedeki network ayarlarına dönerek use DHCP [ ] olan kısmın içine * yıldız koyun. Şimdi size verilen yeni ip adresi ile browser’dan ExaOperation’a ulaşmayı deneyin.

Ardından ExaOperation ve Exaplus için sanal makinede verilen kullanıcı adı ve şifreyi girin.

ExaOperation için;                                            Exaplus için;
Kullanıcı adı: admin                                            Kullanıcı adı: sys
Şifre: admin                                                         Şifre: exasol

  • Daha sonra Exaplus’ınızı açın. Verilen ip adresi (192.168.1.44), kullanıcı ve şifre ile Exaplus’a giriş yaptıktan sonra kendi kullanıcınızı ve şifrenizi oluşturun. Ardından şema ve tablo oluşturarak kullanıma başlayabilirsiniz.
  • Kullanıcı ve şifre oluşturmak için
    CREATE USER kullanıcı_adı IDENTIFIED BY  “şifre”;
  • Oluşturulan kullanıcıya rol vermek için
    GRANT dba TO kullanıcı_adı;
    GRANT analyst TO kullanıcı_adı;
    GRANT hr TO kullanıcı_adı;
    GRANT data_admin TO kullanıcı_adı;
  • Şema oluşturmak için
    CREATE SCHEMA şema_adı;
  • Tablo oluşturmak için
    CREATE TABLE tablo_adı;
  • Oluşturulan tablonun boyutunu öğrenmek için
    select * from SYS.EXA_DBA_OBJECT_SIZES;

Sorgularınızı çalıştırırken aşağıdaki gibi Sistem Monitor ikonuna tıklayarak sorgunun ne kadar CPU kullandığı gibi sistem detaylarını görebilirsiniz. CPU, %;  HDD, MB olarak gösterilir.

exaplus23.png

Exasol için kullanma klavuzu;
Download User Manual ->
Buraya tıklayarak kullanım klavuzunu indirebilirsiniz.

SQL Server’dan Exasol‘e veri aktarımı için Ders 2‘ye geçebilirsiniz. Youtube videosu için buraya tıklayabilirsiniz.

Oracle’dan Exasol‘e veri aktarımı için Ders 3‘e geçebilirsiniz. Youtube videosu için buraya tıklayabilirsiniz.

Tableau Ders 38: Radial Bar Chart 2

Farklı grafik örneklerinin 2.sini yapalım dedim ve daha önce blogta anlattığım radyal bar grafiğin farklı bir versiyonunu paylaşmak istedim. Öncelikle bunun için Tableau’nun örnek verisi olan Sample Coffee Chain data setini kullandım. Üzerinde çalışmak isterseniz buradan indirebilirsiniz.

Screenshot_1.png

Yukarıdaki şekilde Product Type’tan elde ettiğim karlılığı yüzde olarak gösterdim. Sonra yeni bir excel açarak bunları excel’e attım.

Bu şekilde istediğiniz veriyi Radial Bar Chart (ya da Pie Gauge) olarak gösterebilirsiniz. Gerekli olan şeyler 1 adet isimlerin olduğu boyut ve onların yüzdeleri; bir de bu yüzdelerin en düşüğüne 1 vererek sıraladığımız bir sıra kolonu.

1- Tableau ile veriye bağlandıktan sonra kendisiyle Union yapıyoruz. Yani aynı datayı kendisi altına tekrar ekliyoruz. Bunun için Sheet1’i ekrana aldıktan sonra tekrar Sheet1’i sürükleyip Sheet1’in altında “Drag table to union” yazan yere bırakıyoruz.

2- Oluşan Table Name kolonunu şurada kullanacağız: IIF([Table Name]=”Sheet1″,1,271) hesaplamasını yazıyoruz. (Hesaplamanın adına Path diyelim.) => Dairenin 270 derecelik kısmını kullanıyoruz. Tam çizmesi içinde 271 yazıyoruz.

3-  Path’e sağ tık Create bins diyoruz ve aralığına 1 veriyoruz. Böylece 1’den 271’e kadar birer birer giden bir Dimension (boyut) yaratmış oluyoruz.

4- Index hesaplamasını yazıyoruz: (Index()-1)*2

5- Percentage hesaplaması: [Profit (%)]/28.7
Yine aynı şekilde kar yüzdesini en büyük yüzdeye bölüyoruz çünkü şekli en büyük yüzdeye yani en dış kabuğa göre oluşturuyoruz. Bu yüzden her şeyin maksimumunu kullanacağız.

6- w_percentage hesaplaması: WINDOW_MAX(MAX([Percentage]))

7- w_pi hesaplaması: WINDOW_MAX(PI())
Daire üzerinden bu grafiği çizdirdiğimiz için pi’yi de window_max fonksiyonu ile kullanmamız gerekiyor.

8- w_start ile en yüksek sırayı alıyoruz: WINDOW_MAX(MAX([Order]))

9- X ekseni için hesaplama:

Screenshrkgilkglot_4

270’ten küçükse en içteki radyal bar; 270’ten büyükse en dıştaki radyal bar için sinüs fonksiyonunu yazıyoruz.

10- Y ekseni için hesaplama:

Screenaaa

Y ekseni için yalnızca sinus’leri, kosinüs’e çeviriyoruz.

11- Y2 için hesaplama: [w_start]+0.25
Bunu da gerçek başlangıcımız olmayan ama grafikte başlangıç olarak gördüğünüz kısmın başına şekil eklemek için yazıyoruz.

12- İşlemler tamamsa sürükle bıraklara başlıyoruz. Columns’a x’i; Rows’a y’yi atıyoruz.

13- Marks’tan Polygon grafik tipini, grafiğin içinin dolu gelmesi için seçiyoruz. Product’ı Color’a; Path (bin)’i Detail’e; Index’i de Path’e atıyoruz.

14- Ekrana aldığımız X ve Y eksenlerine sağ tık Compute Using diyerek => Path (bin)’i seçiyoruz.

15- Gördüğünüz gibi Tableau grafiği çizdi. Şimdi biraz süsleyelim. Y2’yi, Rows’a Y’nin yanına alıyoruz ve Y2’ye sağ yık Dual Axis yapıyoruz. Böylece Y ile Y2 eksenleri üst üste koyuyoruz. Şimdi grafiğin yanındaki Y2’ye sağ tıklayarak Synchronize Axis‘i seçiyoruz. Eksenleri birleştirerek senkronize ettikten sonra evet ekrana hiçbir şey gelmeyecek!

16- Panik yok => Marks All Color’daki Measure Names‘i sürükleyerek dışarı çıkarıyoruz.

17- Marks’taki Y2’nin grafik tipini Shape seçiyoruz. Yazmasını istediğimiz şeyleri ekranda görmek içinde Product ve Profit’i Y2 için Label‘a atıyoruz. Yazı formatları için Label’a tıklıyoruz ve aşağıdaki şekilde yazının yerini ayarlıyoruz. (Text‘in içerisine girerek yazınızı düzenleyebilir; Font ile yazı tipi ve rengini ayarlayabilirsiniz.)

Screenshot_2.png

18- Shape’e tıklayarak ucuna ters içi dolu üçgeni seçerek ekliyoruz ve boyutunu ayarlıyoruz. Siz istediğiniz bir şekil seçebilirsiniz.

Ta Taa

Coffee Type by Profit.png

Knime Ders 3: Database Bağlantısı, Database’den Veri Okuma ve Yazdırma

Selam!

Tableau’nun yanında Knime’da kullanıyorum ve Tableau’da olduğu gibi Knime ile ilgili de Türkçe kaynak malumunuz oldukça kısıtlı hatta hiç olmadığı için size daha çok duyurmak ve anlatmak istiyorum.

Bağlantı için gerekli olan bazı driver’lar knime içerisinde default olarak yüklü fakat oracle ya da exasol gibi database’ler için driver’ı sizin yüklemeniz gerekiyor.

Oracle için nasıl yapıldığına bakalım.

File -> Preferences diyelim ve arama kısmına database yazalım. KNIME’ın altındaki databases yazan kısma tıklayalım. Add file diyerek .jar uzantılı jdbc driver dosyasını seçelim ve ok diyelim.

Screenshot_5

Driver’ımızı ekledik.

Pekala veri tabanından veriyi knime ile nasıl okuyoruz?

Sol altta Node Repository yazan kısımdan Database Reader yazarak aratalım. Node’a çift tıklayarak ekrana alalım. Sağ tık -> configure ya da çift tık ile node’un içine girelim.

Screenshot_6

Yukarıda gördüğünüz şekilde database bilgilerinizi girin. Database URL yazan kısma orada da verildiği gibi ip:port numarası yerleştin.

Bu kadar bağlantımız hazır.

İsterseniz aynı veri tabanından bir tablo daha çekip bu tabloları join’leyip veri üzerinde oynamalar yapalım.

Şuan ben exasol (dünyanın en hızlı analitik veri tabanı ilerleyen yazılarımda kendisini sizlerle tanıştıracağım) kullandığım için exasol‘da iki tabloya ayrı ayrı bağlanarak tabloları join’leyelim. Bunun için kullanacağımız node Joiner.

Screenshot_7.png

Burada gördüğünüz gibi order_id ve siparis_no üzerinden right join yaptım. Joiner node’unu da bu şekilde kullanıyoruz.

Benim hazırlamış olduğum örnek aşağıdaki şekilde (diğer node’ları ilerleyen günlerde anlatacağım);

Screenshot_3.png

Verinin yeni halini veri tabanına yazdırmak için Database Writer node’unu kullanıyoruz. Node’a çift tıklayarak içerisine bağlantı bilgilerimizi giriyoruz.

Screenshot_9.png

Tabi bunun için önce veri tabanındaki tabloyu oluşturmak gerekiyor. Tablo oluşturulduktan sonra güncellenen veriler veri tabanındaki yerini alıyor.

Exasol anlatırken daha detaylı örneklerle Tableau, Knime ve Exasol’u birbirine bağlayacağım. Böylece yeni nesil iş zekası ürünlerinin kolaylığını sizlerde görmüş olacaksınız:))

Herkese bol teknolojik günler ∞

Tableau Ders 37: Superstore Data ile Dashboard Örnekleri

Herkese yeniden kocaman bir Merhaba!

Sizlere fikir vermesi için Tableau’nun içinde hazır olarak bulunan Sample – Superstore datasını kullanarak hazırladığım bir kaç dashboard örneği paylaşmak istiyorum.

Tableau Public‘te bulunan hazırladığım çalışmalara buraya tıklayarak ulaşabilirsiniz.

Ta Taa…

Screenshot_3.png

Screenshot_1.png

Screenshot_3.png

Screenshot_1.png

Konuyla ilgili youtube videoma ulaşmak için buraya tıklayabilirsiniz.