Azure HDInsight'taki Apache Spark nedir

Apache Spark, büyük veri analizi uygulamalarının performansını artırmak için bellek içi işlemeyi destekleyen paralel bir işleme çerçevesidir. Azure HDInsight'ta Apache Spark, buluttaki Apache Spark'ın Microsoft uygulamasıdır ve Azure'daki çeşitli Spark tekliflerinden biridir.

  • Azure HDInsight'ta Apache Spark, Spark kümelerini oluşturmayı ve yapılandırmayı kolaylaştırarak Azure'da tam bir Spark ortamını özelleştirmenize ve kullanmanıza olanak tanır.

  • Azure Synapse Analytics'teki Spark havuzları, Azure'daki analiz içgörüleri için verilerin yüklenmesine, modellenebilmesine, işlenmesine ve dağıtılmasına olanak sağlamak için yönetilen Spark havuzlarını kullanır.

  • Azure Databricks'te Apache Spark, kullanıcılarınız arasında birden çok veri kaynağından gelen verileri okuyup çığır açan içgörülere dönüştüren etkileşimli bir çalışma alanı sağlamak için Spark kümelerini kullanır.

  • Azure Data Factory'deki Spark Etkinlikleri, isteğe bağlı veya önceden var olan Spark kümelerini kullanarak veri işlem hattınızda Spark analizini kullanmanıza olanak sağlar.

Azure HDInsight'ta Apache Spark ile verilerinizin tümünü Azure'da depolayabilir ve işleyebilirsiniz. HDInsight'taki Spark kümeleri Azure Blob depolama, Azure Data Lake Storage 1. Nesil veya Azure Data Lake Storage 2. Nesil ile uyumludur ve spark işlemeyi mevcut veri depolarınıza uygulamanıza olanak sağlar.

Spark: a unified framework.

Azure HDInsight'ta Apache Spark'ı kullanmaya başlamak için öğreticimizi izleyerek HDInsight Spark kümeleri oluşturun.

Apache Spark ve Azure ile nasıl etkileşime geçtiğini öğrenmek için aşağıdaki makaleyi okumaya devam edin.

Bileşenler ve sürüm oluşturma bilgileri için bkz . Azure HDInsight'ta Apache Hadoop bileşenleri ve sürümleri.

Apache Spark nedir?

Spark, bellek içi küme hesaplama için temel bileşenleri sunar. Bir Spark işi, verileri belleğe yükleyip önbelleğe alarak tekrar tekrar sorgulayabilir. Bellek içi bilgi işlem, Hadoop dağıtılmış dosya sistemi (HDFS) aracılığıyla veri paylaşan Hadoop gibi disk tabanlı uygulamalardan çok daha hızlıdır. Spark ayrıca Scala programlama diliyle tümleştirilerek yerel koleksiyonlar gibi dağıtılmış veri kümelerini işlemenizi sağlar. Her şeyi harita olarak yapılandırmaya gerek olmadığı için işlem sayısı azalmış olur.

Traditional MapReduce vs. Spark.

HDInsight’ta Spark kümeleri, tam olarak yönetilen bir Spark hizmeti sunar. HDInsight'ta bir Spark kümesi oluşturmanın avantajları burada listelenmiştir.

Özellik Açıklama
Kolay oluşturma Azure portalı, Azure PowerShell veya HDInsight .NET SDK kullanarak dakikalar içinde HDInsight’ta yeni bir Spark kümesi oluşturabilirsiniz. Bkz. HDInsight'ta Apache Spark kümesini kullanmaya başlama.
Kullanım kolaylığı HDInsight'taki Spark kümesi Jupyter Notebooks ve Apache Zeppelin Notebooks'u içerir. Etkileşimli veri işleme ve görselleştirme için bu not defterlerini kullanabilirsiniz. Bkz. Apache Spark ile Apache Zeppelin not defterlerini kullanma ve Apache Spark kümesinde veri yükleme ve sorgu çalıştırma.
REST API'leri HDInsight'taki Spark kümeleri, işleri uzaktan göndermek ve izlemek için REST API tabanlı bir Spark iş sunucusu olan Apache Livy'yi içerir. Bkz. HdInsight Spark kümesine uzak işler göndermek için Apache Spark REST API'sini kullanma.
Azure Depolama desteği HDInsight'taki Spark kümeleri Azure Data Lake Storage 1. Nesil/2. Nesil'i hem birincil depolama alanı hem de ek depolama alanı olarak kullanabilir. Data Lake Storage 1. Nesil hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 1. Nesil. Data Lake Storage 2. Nesil hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 2. Nesil.
Azure hizmetleriyle tümleştirme HDInsight’ta Spark kümesi, Azure Event Hubs için bir bağlayıcı ile birlikte sunulur. Event Hubs'ı kullanarak akış uygulamaları oluşturabilirsiniz. Spark'ın bir parçası olarak zaten kullanılabilir olan Apache Kafka'yı da içerir.
Üçüncü taraf IDE’lerle tümleştirme HDInsight, bir HDInsight Spark kümesinde uygulama oluşturup göndermek için faydalı olacak birkaç IDE eklentisi sağlar. Daha fazla bilgi için bkz . IntelliJ IDEA için Azure Toolkit'i kullanma, VSCode için Spark ve Hive Araçları'nı kullanma ve Eclipse için Azure Toolkit'i kullanma.
Eş zamanlı sorgular HDInsight’ta Spark kümeleri, eş zamanlı sorguları destekler. Bu özellik, bir kullanıcıdan veya çeşitli kullanıcılar ve uygulamalardan gelen birden çok sorgunun aynı küme kaynaklarında paylaşılmasını sağlar.
SSD’de önbelleğe alma Bellekte veya küme düğümlerine ekli SSD’lerde verileri önbelleğe almayı için seçebilirsiniz. Bellekte önbelleğe almak en iyi sorgu performansını sağlar ancak pahalı olabilir. SSD’lerde önbelleğe alma, veri kümesinin tamamının belleğe sığması için gerekli olan boyutta bir küme oluşturmak zorunda kalmadan sorgu performansını artırmak için harika bir seçenek sağlar. Bkz . Azure HDInsight GÇ Önbelleği kullanarak Apache Spark iş yüklerinin performansını iyileştirme.
BI araçları ile tümleştirme HDInsight’ta Spark kümeleri, veri analizlerine yönelik olarak BI araçları için Power BI gibi bağlayıcılar sağlar.
Önceden yüklenmiş Anaconda kitaplıkları HDInsight’ta Spark kümeleri önceden yüklenmiş Anaconda kitaplıkları ile gelir. Anaconda makine öğrenmesi, veri analizi, görselleştirme vb. için 200'e yakın kitaplık sağlar.
Adaptasyon HDInsight, Otomatik Ölçeklendirme özelliğiyle küme düğümlerinin sayısını dinamik olarak değiştirmenize olanak tanır. Bkz. Azure HDInsight kümelerini otomatik olarak ölçeklendirme. Ayrıca tüm veriler Azure Blob depolama, Azure Data Lake Storage 1. Nesil veya Azure Data Lake Storage 2. Nesil depolandığından Spark kümeleri veri kaybı olmadan bırakılabilir.
SLA HDInsight’ta Spark kümeleri, 7 gün 24 saat destek ve % 99,9 çalışma süreli SLA ile birlikte sunulur.

HDInsight'taki Apache Spark kümeleri, kümelerde varsayılan olarak kullanılabilen aşağıdaki bileşenleri içerir.

HDInsight Spark, Microsoft Power BI gibi BI araçlarından bağlantı için bir ODBC sürücüsü kümeler.

Spark kümesi mimarisi

The architecture of HDInsight Spark.

Spark'ın HDInsight kümelerinde nasıl çalıştığını anlayarak Spark bileşenlerini anlamak kolaydır.

Spark uygulamaları bir kümede bağımsız işlem kümeleri olarak çalışır. Ana programınızdaki SparkContext nesnesi (sürücü programı olarak adlandırılır) tarafından koordine edilir.

SparkContext, uygulamalar arasında kaynak sağlayan çeşitli küme yöneticisi türlerine bağlanabilir. Bu küme yöneticileri Apache Mesos, Apache Hadoop YARN veya Spark küme yöneticisidir. Spark, HDInsight'ta YARN küme yöneticisini kullanarak çalışır. Bağlantı kurulduktan sonra Spark, kümedeki çalışan düğümleri üzerinde yürütücüler devralır. Bunlar, uygulamalarınız için hesaplamalar yapan ve verileri depolayan işlemlerdir. Ardından, uygulama kodunuzu (SparkContext’e geçirilen JAR veya Python dosyaları ile tanımlanır) yürütücülerinize gönderir. Son olarak SparkContext, yürütücülere çalıştırılacak görevleri gönderir.

SparkContext, kullanıcının ana işlevini çalıştırır ve çalışan düğümlerinde çeşitli paralel işlemleri yürütür. Daha sonra SparkContext, işlemlerin sonuçlarını toplar. Çalışan düğümleri Hadoop dağıtılmış dosya sisteminden veri okur ve yazar. Çalışan düğümleri aynı zamanda dönüştürülmüş verileri Dayanıklı Dağıtılmış Veri Kümesi (RDD) olarak bellek içinde önbelleğe alır.

SparkContext, Spark yöneticisine bağlanır ve bir uygulamayı tek tek görevlerin yönlendirilmiş grafiğine (DAG) dönüştürmekle sorumludur. Çalışan düğümlerinde yürütücü işlemi içinde yürütülen görevler. Her uygulama kendi yürütücü işlemlerini alır. Uygulamanın tamamında çalışır durumda kalır ve görevleri birden çok iş parçacığında çalıştırır.

HDInsight'ta Spark kullanım örnekleri

HDInsight'ta Spark kümeleri, aşağıdaki temel senaryolara olanak tanır:

Etkileşimli veri analizi ve BI

HDInsight'ta Apache Spark verileri Azure Blob Depolama, Azure Data Lake 1. Nesil veya Azure Data Lake Storage 2. Nesil depolar. İş uzmanları ve önemli karar alıcılar bu verileri analiz edebilir ve raporlar oluşturabilir. Ayrıca, analiz edilen verilerden etkileşimli raporlar oluşturmak için Microsoft Power BI'ı kullanın. Analistler küme depolama alanındaki yapılandırılmamış/yarı yapılandırılmış verilerden başlayabilir, not defterlerini kullanarak veriler için bir şema tanımlayabilir ve ardından Microsoft Power BI kullanarak veri modelleri oluşturabilir. HDInsight'taki Spark kümeleri birçok üçüncü taraf BI aracını da destekler. Tableau gibi veri analistleri, iş uzmanları ve önemli karar alıcılar için kolaylık sağlar.

Spark Machine Learning

Apache Spark, MLlib ile birlikte gelir. MLlib, HDInsight'taki bir Spark kümesinden kullanabileceğiniz, Spark üzerinde oluşturulmuş bir makine öğrenmesi kitaplığıdır. HDInsight'taki Spark kümesi, makine öğrenmesi için farklı paket türlerine sahip bir Python dağıtımı olan Anaconda'yı da içerir. Jupyter ve Zeppelin not defterleri için yerleşik destek sayesinde makine öğrenmesi uygulamaları oluşturmaya yönelik bir ortamınız vardır.

Spark akış ve gerçek zamanlı veri çözümleme

HDInsight’ta Spark kümeleri, gerçek zamanlı analiz çözümleri oluşturmak için zengin destek sunar. Spark'ın Kafka, Flume, Twitter, ZeroMQ veya TCP yuvaları gibi birçok kaynaktan veri almak için bağlayıcıları zaten vardır. HDInsight'ta Spark, Azure Event Hubs'dan veri almak için birinci sınıf destek ekler. Event Hubs Azure'da en yaygın şekilde kullanılan sıraya alma hizmetidir. Event Hubs için tam destek olması, HDInsight'taki Spark kümelerini gerçek zamanlı analiz işlem hattı oluşturmak için ideal bir platform haline getirir.

Sonraki Adımlar

Bu genel bakışta, Azure HDInsight'ta Apache Spark hakkında temel bilgilere sahipsiniz. HDInsight'ta Apache Spark hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri kullanabilir ve hdInsight Spark kümesi oluşturup bazı örnek Spark sorguları çalıştırabilirsiniz: