Okunma süresi: < 1 dakika
1

Impala Bölüm 15: Sorgu Performansı

Okunma süresi: < 1 dakika 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ış […]

Okunma süresi: 4 dakika

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

Okunma süresi: 4 dakika 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 […]

Okunma süresi: 3 dakika
2

Impala Bölüm 13: Impalad Query Planner

Okunma süresi: 3 dakika 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 […]

Okunma süresi: < 1 dakika

Impala Bölüm 12: Paralel Sorgular

Okunma süresi: < 1 dakika 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 […]

Okunma süresi: < 1 dakika
2

Impala Bölüm 11: İstatistikler

Okunma süresi: < 1 dakika Ş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 […]

Okunma süresi: < 1 dakika

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

Okunma süresi: < 1 dakika 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 […]

Okunma süresi: 4 dakika

Impala Bölüm 9: Impala Table File

Okunma süresi: 4 dakika 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 […]

Okunma süresi: 4 dakika

Impala Bölüm 8: Join

Okunma süresi: 4 dakika 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. […]

Okunma süresi: 3 dakika

Impala Bölüm 7: Partitioning

Okunma süresi: 3 dakika 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 […]

Okunma süresi: < 1 dakika

Impala Bölüm 6: Impala Shell

Okunma süresi: < 1 dakika 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ı […]

Okunma süresi: 2 dakika

Impala Bölüm 5: Sorted Table

Okunma süresi: 2 dakika 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; […]

Okunma süresi: 7 dakika

Impala Bölüm 4: Impala Komutları

Okunma süresi: 7 dakika 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 […]

Okunma süresi: 3 dakika

Impala Bölüm 3: Impala Mimarisi

Okunma süresi: 3 dakika 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 […]

Okunma süresi: 2 dakika

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

Okunma süresi: 2 dakika 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 […]

Okunma süresi: 2 dakika

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

Okunma süresi: 2 dakika 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 […]

Okunma süresi: 3 dakika

Microsoft SQL SERVER – 2

Okunma süresi: 3 dakika 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ı, […]

Okunma süresi: 2 dakika

Microsoft SQL SERVER

Okunma süresi: 2 dakika 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 […]

Okunma süresi: 3 dakika

Hive Bölüm 25: Hive On Tez

Okunma süresi: 3 dakika 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; […]

Okunma süresi: < 1 dakika

Hive Bölüm 24: Archiving

Okunma süresi: < 1 dakika Ç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 […]

Okunma süresi: < 1 dakika

Hive Bölüm 23: Parallel Execution

Okunma süresi: < 1 dakika Birden fazla tabloyu sorguladığımız bir yapıda normal şartlar altında bunu birer stage olarak sırasıyla işler. Bazen bu sorgularımız birbirinden bağımsız olur ve yine aynı şekilde işlemeye devam eder. Oysa ki Hive birbirinden bağımsız olan sorguları paralel olarak işletip, toplam sorgu süremizi kısaltmamızı sağlayan bir özelliğe sahiptir: hive.exec.parallel. Default olarak değeri false’tur ve bunu uygun sorgunuzun […]

Veri Bilimci Yetiştirme Programı

Her yerde geçerli @datasciencearth sertifikası

Bu program ülkemizde büyük işgücü açığı bulunan Veri Bilimi konusunda çalışabilecek yeterliliklerde Veri Bilimciler yetiştirmek için kurgulanmıştır.

Ücretli ve Ücretsiz Eğitimler

Türkiye'nin en büyük veri bilimi topluluğu ile kariyerinizi inşa edin.

Gruplarımıza katılın!

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.