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 veya Azure Data Lake Storage 2. Nesil ile uyumludur ve mevcut veri depolarınıza Spark işleme uygulamanıza olanak sağlar.

Spark: Birleşik bir çerçeve.

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.

Geleneksel MapReduce ve Spark karşılaştırması.

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 hem birincil depolama alanı hem de ek depolama alanı olarak Azure Data Lake Storage 2. Nesil kullanabilir. 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 kullanma, VS Code için Spark ve Hive Araçları'nı kullanma ve Eclipse için Azure Toolkit'i kullanma.

| Eşzamanlı Sorgular |HDInsight'taki 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'lerde önbelleğe alma |Verileri bellekte veya küme düğümlerine bağlı SSD'lerde önbelleğe almayı 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'taki Spark kümeleri, veri analizi için Power BI gibi BI araçları için bağlayıcılar sağlar. | | Önceden yüklenmiş Anaconda kitaplıkları |HDInsight'taki Spark kümeleri, Anaconda kitaplıkları önceden yüklenmiş olarak gelir. Anaconda makine öğrenmesi, veri analizi, görselleştirme vb. için 200'e yakın kitaplık sağlar. | | Uyarlanabilirlik | 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 alanında depolandığından veya Azure Data Lake Storage 2. Nesil Spark kümeleri veri kaybı olmadan bırakılabilir. | | SLA |HDInsight'taki Spark kümeleri 7/24 destek ve %99,9 çalışma süresi SLA'sı ile gelir. |

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

HDInsight Spark mimarisi.

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, uygulamanın tamamı boyunca ayakta kalan ve görevleri birden çok iş parçacığında çalıştıran kendi yürütücü işlemlerini alı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 ve 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: