Yapay Zeka, IoT ve Büyük Veri ile Arıları Kurtarabilir miyiz?

Yaşamlarımız özünde arılara bağlı… Modern tarım, tamamen arılar gibi tozlayıcı canlıların varlığını sürdürmesine bağlıdır ve bağımlıdır. Aslında, yediğimiz yiyecekler ve soluduğumuz hava da dahil olmak üzere tüm ekosistemimiz bu tozlayıcı canlıların varlığı ile mevcudiyetini koruyabilmektedir. Dünya Arı Projesi’nin kurucusu ve genel başkanı Sabiha Rumani Malik’e göre tozlayıcı canlı nüfusu gidere azalıyor. Ancak, Oracle ile gerçekleştirilen bir iş […]

Impala Bölüm 15: Sorgu Performansı

Impala, sorgunun nasıl yürütüldüğüne ve darboğazların nerede olduğuna dair kapsamlı bir genel bakış sağlayan bir dizi araç sunar. Sorgunun verimli bir şekilde yürütülüp yürütülmeyeceğini belirlemek için bu araçların çıktısını kullanabilirsiniz. Impala, sorguları analiz etmek için 3 farklı araç kullanılabilir: EXPLAIN, sorguyu fiilen yürütmeden plan fragment’lerini döndürür. SUMMARY, çalışma süresi istatistiklerine üst düzey bir genel bakış […]

Impala Bölüm 14: Impalad Query Coordinator ve Query Executer

Impalad Query Coordinator Query Coordinator, fragment’leri node kullanılabilirliğine ve verinin konumuna göre dağıtır. Her node’un kullanılabilirliği Statestore servisi tarafından iletilir ve verinin konumu ile ilgili bilgiler ise HDFS Name Node’dan gelir. Fragment’ler dağıtıldıktan sonra Query Coordinator, uzak Impala Daemon’larında execute eder. Tek bir fragment başarısız olursa, Coordinator tüm sorguyu iptal eder ve kullanıcıya bir hata […]

Impala Bölüm 13: Impalad Query Planner

Impala mimarisini anlatırken Query Planner’dan bahsetmiştik; ama oldukça sığ bir şekilde bahsetmiştik. Bu kısmı anlamak, sorgularınızın nasıl işlediğini ve dolayısıyla Impala’nın çalışma mantığını anlamak açısından önemli. O yüzden bu bölümde biraz daha detaylarına gireceğiz. Query Planner, sorgu ulaştığında öncelikle mantıksal bir plan oluşturur. Oluşturulan bu planın execute edilebilmesi için en iyi duruma getirir ve son […]

Impala Bölüm 12: Paralel Sorgular

Impala, teorik olarak Daemon başına concurrent (eş zamanlı) 64 sorgu kabul etmektedir. Pratikte ise concurrent sorgu sayısı arttıkça, sorgu sonuçlarının dönme süresi uzamaktadır. Impala’nın en büyük açmazlarından biri concurrent sorgu sınırıdır. Bir production ortamında, Warehouse olarak Big Data ortamını kullanacaksanız, şirketin çalışan sayısı büyükse, analitik, data science, iş zekası gibi görevlerde konumlanmış kişilerin aktif olarak […]

Impala Bölüm 11: İstatistikler

Şimdiye kadar işlediğimiz konularda istatistiklerin ne kadar önemli olduğunu anlamışsınızdır. Neredeyse her yaptığımız işi ciddi derecede etiklediği, sorgu performanslarına ve planların çıkarılmasına önemli derecede öncülük ettiği için oldukça önemlidir. İstatistiklerde tutulan bilgiler, satır sayısı, data fiile sayısı, data file’ların toplam boyutu ve file formatı gibi fiziksel özellikleri içerir. Partitioned tablolar için, istatiskler partition başına ve […]

Impala Bölüm 10: Parquet Dosyalarında Insert Performasını Artırmak

Parquet dosyalarında Insert veya CTAS ile veri yüklemek istediğinizde, yüklenecek veri boyutlarına göre bazı performans problemleriyle karşılaşmanız olası. Bu durumlarda kullanabileceğimiz optimizer hint’ler bulunuyor. Eğer partitioned bir tabloda bu problemi yaşıyorsanız /* +SHUFFLE */ hint’ini kullanabilirsiniz. Shuffle, verileri yazmadan önce hedef tablonun partition sütununa göre Select sonucunu re-partition yapan bir Exchange Node ekler. Bununla birlikte […]

Impala Bölüm 9: Impala Table File

Impala’da tablonun dosya formatı konusu Hive kadar gelişmiş değildir. En stabil olarak çalışabileceğiniz dosya formatı Parquet formatıdır. Öncelikle dosya formatlarına bir göz atalım. Hive konusunu okuduysanız bunları biliyorsunuzdur; ama direk Impala’yı okumaya başladığınızı düşünerek bir tekrar yapacağım ve ardından bunların Impala üzerindeki kullanımlarından bahsedeceğim. SequenceFile Verileri anahtar / değer çiftleri olarak saklar. SequenceFiles içinde saklanan […]

Impala Bölüm 8: Join

Impala, Hive’a göre join konusunda biraz daha geniş bir desteğe sahiptir. Fakat unutmamak lazım ki join işlemleri performans sorunlarına yol açacaktır, bu sebeple yapınızı minimal join ihtiyaçlarına göre tasarlamanız yerinde olacaktır. Impala’da ilişkisel veritabanlarında olduğu gibi sütun eşleştirmesi temelinde bir join yapısı mevcuttur. Inner Join Seçilen tabloların kesişim kümesini getirir, yani sadece eşleşen kayıtlar gelir. […]

Impala Bölüm 7: Partitioning

Hive konusunu okuduysanız da Impala’da bazı şeyler değişiyor, bu yüzden konuyu tekrarlamak istiyorum. Partitioning performans için önemli bir etkendir. Temelde tablo verilerini partition key dediğimiz, belirli bir sütun değerine göre verileri parçalayarak saklarız. Petabyte boyutunda verileri tararken, sorgularımızda filtrelerken tüm tablo taranacağı için (full scan) veri boyutuna göre sürecin oldukça uzaması söz konusudur. Bu sebeple […]

Impala Bölüm 6: Impala Shell

Impala’ya’a genelde Hue ile bağlanıp, editör üzerinden işlerimizi yapabiliyoruz, en yaygın kullanılan yapı da budur. Fakat bazen bir şeyleri programatik yapmak istiyorsak, yani bir cron job kurup belirli aralıklarla bir işi gerçekleştirmesini istiyorsak bunu Hue üzerinden yapamıyoruz. Bu tür durumlarda Impala Shell ortamını kullanmak avantajlı oluyor. Temelde Impala Shell’e bağlanmak çok basittir:

Bağlandığınızda: Sunucu_adı […]

Impala Bölüm 5: Sorted Table

Impala’ya has yapılardan biridir. Tablo Create ederken SORT BY ifadesi ile verilerin Insert veya CTAS kullanımı ile yüklenmesi esnasında sırlama işlemini gerçekleştirir. Sıralanmış data file oluşturmak, en çok Parquet tabloları için uygundur. Çünkü  her dosyanın içinde depolanan meta data’ların dosyadaki her sütun için minimum ve maksimum değerleri içerir. (İstatistikler dosyadaki her satır grubu için geçerlidir; […]

Impala Bölüm 4: Impala Komutları

Database Öncelikle database’in ne olduğunu anlayalım: Database, ilgili tabloları tek bir namespace altında gruplamak için mantıksal (logic) bir varlıktır. Impala üzerinde bir database create ettiğimizde HDFS üzerinde database_name.db adında bir dizin oluşturulur. Tüm internal tablolar, partition’lar ve data file’lar bu dizinin içine kaydedilir. Şimdi Impala’da database özgü birkaç ifadeye bakalım. Create Bir database oluşturmak istediğimizde […]

Impala Bölüm 3: Impala Mimarisi

Impala mimarisinde 3 temel bileşen bulunuyor. Impala Daemon Impala Statestore Impala Catalog Service Şimdi bunları inceleyelim. Impala Daemon Impala’nın kurulduğu her data node üzerinde çalışan bileşendir. Servisleri kontrol ettiğimizde impalad adı ile görebiliriz. Impala Shell, HUE, API’lar, JDBC ve ODBC ile bağlanan diğer tüm uygulamalar tarafından gönderilen sorguların işletilmesi Impala Deamon’ın sorumluluğundadır. Herhangi bir node […]

Impala Bölüm 2: Impala’nın Bağımlılıkları (Dependency)

Hive Impala temelde verileri Hive’ın Metastore database’inde saklar, bu sebeple Metastore database’i olmadan çalışamaz. Bunun dışında sanılanın aksine Hive ile başka bir bağımlılığı bulunmuyor. Bu sebeple Hive ve Impala’nın aynı node’lar üzerinde kurulması gerekmez. Metastore, bildiğiniz gibi genelde MySQL, MariaDB veya PostgreSQL üzerinde store edilir. Dolayısıyla bu rdbms’lerden birine de bağımlılığı bulunuyor. Impala, Apache Hive’da […]

Impala Bölüm 1: Impala Nedir ve Neden Impala?

Impala Nedir? Hive gibi SQL temelli veri analizi yapabileceğiniz bir engine’dir Impala. Cloudera tarafından geliştirildi ve Open Source dünyaya verildi. Hive ile çalıştırdığınız komutların çok büyük bir kısmını Impala üzerinde de çalıştırabilirsiniz. Impala’da verileri temelde HDFS üzerinde saklar ve yalnızca tablo halinde yapılandırılmış verileri sorgulamamıza olanak sağlar. Neden Impala? Genel olarak Big Data ortamlarında Hive’dan […]

Microsoft SQL SERVER – 2

Açıklama: Microsoft SQL Server-2 sorgular nasıl yazılır? Primary Key nedir? Unique Key nedir? Foreign Key nedir? Constraint nasıl eklenir?  www.yourofficeanywhere.co.uk/info-hub/what-is-sql-server Örnek: Muhasebe bilgilerini içeren bir veritabanı hayal ediyorsanız, her fatura için değerleri, KDV, Toplamlar, fatura numarası vb. içeren bir tablonuz olabilir. Her fatura bir müşteriyle ilgilidir, ancak müşterinin ayrıntılarını (ad, adres, indirimler vb.) her faturayı, […]

Microsoft SQL SERVER

Açıklama : Microsoft SQL Server nedir? Veri tabanı nasıl oluşturulur? Sorgular nasıl atılır? MS SQL Server, Microsoft tarafından geliştirilen bir ilişkisel veri tabanı yönetim sistemidir (RDBMS). Bu ürün, diğer uygulamaların gerektirdiği şekilde veri alma depolama temel işlevi için inşa edilmiştir. Aynı bilgisayarda veya bir ağ üzerinden başka bir bilgisayarda çalıştırılabilir. Öncelikle MySQL ve Oracle veri […]

Hive Bölüm 25: Hive On Tez

Hive’ı başka engine’lerle kullanabiliyoruz, Cloudera dünyasındaysanız Spark’ın execution engine olarak kullandığını muhtemelen biliyorsunuzdur, hatta belki kullanıyorsunuzdur. Bunun artı ve eksilerini Spark konusunu işlerken konuşacağız; ama ana çalışma konumuz Hive olduğu için, Spark’ın detaylarına girmeden o konuyu işlemek istemem. Hive’da kullanılabilen diğer engine ise Tez. Tez, Hortonworks’ün geliştirdiği Processing Engine’dir. Hortonworks kullananlar Tez’i zaten yakından tanıyor; […]

Hive Bölüm 24: Archiving

Çok şaşırmış olabilirsiniz, arşivlemek burada neden kullanılsın ki? Hani büyük veri tutuyorduk? 😊 Çok haklısınız veriler gerçekten büyük ve büyüdükçe problemler de büyümeye devam ediyor. En büyük problemlerimizin başında şüphesiz name node’da her bir dosya için meta data saklanması. Ayrıca bir problemimiz daha var, replication factor. Default olarak 3’tür, yani her bir dosya 3 kopya […]

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.