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.
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.
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’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 alanında depolandığından veya Azure Data Lake Storage 2. Nesil 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.
- Spark Core. Spark Core, Spark SQL, Spark akış API’leri, GraphX ve MLlib’i içerir.
- Anaconda
- Apache Livy
- Jupyter Notebook
- Apache Zeppelin not defteri
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
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.
- Öğretici: HVAC verilerini kullanarak bina sıcaklıklarını tahmin edin
- Öğretici: Gıda denetleme sonuçlarını tahmin edin
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, X, 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:
- Hızlı Başlangıç: HDInsight'ta Apache Spark kümesi oluşturma ve Jupyter kullanarak etkileşimli sorgu çalıştırma
- Öğretici: Jupyter kullanarak Apache Spark işinde veri yükleme ve sorgu çalıştırma
- Öğretici: Power BI kullanarak Spark verilerini görselleştirme
- Öğretici: HVAC verilerini kullanarak bina sıcaklıklarını tahmin edin
- Spark işlerini performans için iyileştirme