Apache Spark’ı Hangi Ortamlarda Kullanabiliriz?

Apache Spark büyük veri ve analitik dünyada çok popüler bir araç. Spark’ı bir çok farklı amaçla kullanabileceğimiz gibi bir çok farklı ortamda çalıştırabiliriz. Bu yazımızda Spark’ı hangi ortamlarda çalıştırıp kullanabiliriz onlardan bahsedeceğiz.

Lokal

Java yüklü herhangi bir bilgisayar veya sunucuda Spark binary dosyalarını indirip lokal modda Spark’ı kullanabilirsiniz. Geliştirme yapmak ve öğrenmek için ideal bir yöntem. Canlı ortam ve ağır yükler için uygun değil. Ancak lokal modda bile pandas ile işleyebileceğinizden daha büyük veri işleyebilirsiniz.

On-Premises

Kendi veri merkezinizde fiziksel/sanal sunucularda cluster modda (Standalone, YARN gibi) Spark’ı kullanabilirsiniz. Ücretsiz Standalone veya ücretli Cloudera sık kullanılan iki seçenek.

Kubernetes

Bulutta veya veri merkezinde olması farketmeksizin Spark’ı Kubernetes ile dağıtık olarak kullanabilirsiniz. Kubernetes ile farkı Spark sürümlerine sahip uygulamaları aynı cluster üzerinde çalıştırmak gibi avantajlarınız olur.

Databricks

Amazon, Azure ve Google Cloud üzerinde Spark’ı Databricks platformu içinde kullanabilirsiniz. Databricks, her türlü analitik ihtiyacı karşılayan oldukça konforlu bir ortam sunarak Spark’ı enterprise seviyede güvenle, desteğe sahip olarak ancak ücretini de ödemek şartıyla kullanmanızı sağlıyor. Açık kaynaklı Spark’ın optimize edilmiş hali olan Databricks Runtime var içinde. Makine öğrenmesi, veri mühendisliği ve veri analizi ihtiyaçlarını karşılayan bir çok özellik var. Üstelik modern veri ambarı (lakehouse) formatı olan delta format varsayılan format olarak sunuluyor. Bu sayede klasik veri ambarı ve iş zekası ihtiyaçlarınızı (ölçekleme problemi olmaksızın) karşılama ve modern yapay zeka, veri bilimi ve mühendisliği fırsatlarını kullanma şansını bir arada buluyorsunuz.

AWS

EMR: Amazon’un yönetilen Hadoop cluster hizmeti. EMR’da YARN modunda Spark’ı ağır (realtime+batch) yükler için kullanabilirsiniz. Veri ile hesaplama birbirinden izole edilmiş durumda. Klasik Hadoop cluster’larının problemlerinden biri de veri ile hesaplamanın ayrışamamasıydı. Hiç işiniz olmasa bile sadece veri erişimi için büyük kaynakları açık tutmak zorundaydınız. EMR bu sorunu çözmüş. Ayrıca yakın zamanda EMR’ın sunucusuz (serverless) versiyonu da çıktı. Böylece kullanmadan önce cluster yaratmanıza gerek kalmıyor.

Glue: Glue ile Spark’ı ETL işleri için sunucusuz (serverless) olarak kullanabilirsiniz.

Google Cloud

Dataproc: EMR gibi klasik Hadoop-Spark cluster ihtiyacını karşılayan servis. Burada da hesaplama ile verinin ayrıştığını görüyoruz. Spark’ı YARN modunda kullanabilirsiniz.

BigQuery: Evet yanlış duymadınız BigQuery üzerinde de Spark kullanabilirsiniz. Verileri dışa aktarmadan veya altyapıyı yönetmeden Spark’ı BigQuery Studio’da yazıp çalıştırabilirsiniz.

Azure

HDInsight da EMR ve Dataproc gibi klasik Hadoop-Spark cluster ihtiyacını karşılıyor.

Azure Synapse Analytics

Azure Data Factory

Cloudera

Bulut veya on-premise ortamlarda Spark’ı YARN cluster yöneticisi ile ağır iş yükleri için kullanabilirsiniz.

Bulutta

Herhangi bir bulutta, kendi sanal makinelerinizi yaratıp üzerine standalone veya Hadoop-YARN cluster kurup kullanabilirsiniz.

Bu yazımızda özet olarak Apache Spark’ı hangi ortamlarda kullanabileceğimizden bahsettik.

Başka bir yazıda görüşünceye dek hoşça kalın.

 

Spark’ı uygulamalı olarak çok iyi seviyede öğrenmek isterseniz Data Engineer Bootcamp‘i öneririm.

Yazar Hakkında
Toplam 177 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara