Aracılığıyla paylaş


Hızlı Başlangıç: Web araçlarını kullanarak Azure Synapse Analytics'te sunucusuz Apache Spark havuzu oluşturma

Bu hızlı başlangıçta, web araçlarını kullanarak Azure Synapse'de sunucusuz Apache Spark havuzu oluşturmayı öğreneceksiniz. Ardından Apache Spark havuzuna bağlanmayı ve dosya ve tablolarda Spark SQL sorguları çalıştırmayı öğrenirsiniz. Apache Spark, bellek içi işleme kullanarak hızlı veri analizi ve küme hesaplama sağlar. Azure Synapse Spark hakkında bilgi için bkz. Genel Bakış: Azure Synapse üzerinde Apache Spark.

Önemli

Kullansanız da kullanmasanız da Spark örneklerinin faturalaması dakika başına eşit olarak eşit olarak dağıtılır. Spark örneğinizi kullanmayı bitirdikten sonra kapatmayı veya kısa bir zaman aşımı ayarlamayı unutmayın. Daha fazla bilgi için bu makalenin Kaynakları temizleme bölümüne bakın.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Azure portalında oturum açın

Azure Portal’ında oturum açın.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun .

Not defteri oluşturma

Not defteri, çeşitli programlama dillerini destekleyen etkileşimli bir ortamdır. Not defteri verilerinizle etkileşim kurmanızı, kodu markdown, metinle birleştirmenizi ve basit görselleştirmeler gerçekleştirmenizi sağlar.

  1. Kullanmak istediğiniz Azure Synapse çalışma alanının Azure portal görünümünden Synapse Studio Başlat'ı seçin.

  2. Synapse Studio başlatıldıktan sonra Geliştir'i seçin. Ardından yeni bir kaynak eklemek için "+" simgesini seçin.

  3. Buradan Not Defteri'ni seçin. Otomatik olarak oluşturulan bir adla yeni bir not defteri oluşturulur ve açılır.

    Yeni not defteri

  4. Özellikler penceresinde, not defteri için bir ad girin.

  5. Araç çubuğunda Yayımla'ya tıklayın.

  6. Çalışma alanınızda yalnızca bir Apache Spark havuzu varsa, bu havuz varsayılan olarak seçilidir. Hiçbiri seçilmediyse doğru Apache Spark havuzunu seçmek için açılan listeyi kullanın.

  7. Kod ekle'ye tıklayın. Varsayılan dil şeklindedir Pyspark. Pyspark ve Spark SQL'in bir karışımını kullanacaksınız, bu nedenle varsayılan seçenek sorunsuzdur. Desteklenen diğer diller Scala ve Spark için .NET'tir.

  8. Ardından işlemek için basit bir Spark DataFrame nesnesi oluşturacaksınız. Bu durumda koddan oluşturursunuz. Üç satır ve üç sütun vardır:

    new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)]
    demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary'])
    demo_df.show()
    
  9. Şimdi aşağıdaki yöntemlerden birini kullanarak hücreyi çalıştırın:

    • SHIFT + ENTER tuşlarına basın.

    • Hücrenin solundaki mavi oynatma simgesini seçin.

    • Araç çubuğunda Tümünü çalıştır düğmesini seçin.

      Veri çerçevesi nesnesi oluşturma

  10. Apache Spark havuz örneği henüz çalışmıyorsa otomatik olarak başlatılır. Apache Spark havuzu örneğinin durumunu çalıştırdığınız hücrenin altında ve not defterinin altındaki durum panelinde görebilirsiniz. Havuzun boyutuna bağlı olarak, başlangıç 2-5 dakika sürmelidir. Kodun çalışması tamamlandıktan sonra, hücrenin altındaki bilgiler çalıştırmanın ve yürütülmesinin ne kadar sürdüğünü gösterir. Çıkış hücresinde çıkışı görürsünüz.

    Hücre yürütme çıkışı

  11. Veriler artık bir DataFrame'de yer alır ve bu verileri birçok farklı şekilde kullanabilirsiniz. Bu hızlı başlangıcın geri kalanında farklı biçimlerde ihtiyacınız olacak.

  12. Aşağıdaki kodu başka bir hücreye girin ve çalıştırın; bu işlem bir Spark tablosu, CSV ve verilerin kopyalarını içeren bir Parquet dosyası oluşturur:

     demo_df.createOrReplaceTempView('demo_df')
     demo_df.write.csv('demo_df', mode='overwrite')
     demo_df.write.parquet('abfss://<<TheNameOfAStorageAccountFileSystem>>@<<TheNameOfAStorageAccount>>.dfs.core.windows.net/demodata/demo_df', mode='overwrite')
    

    Depolama gezginini kullanıyorsanız, yukarıda kullanılan bir dosyayı yazmanın iki farklı yolunun etkisini görebilirsiniz. Hiçbir dosya sistemi belirtilmediğinde varsayılan kullanılır( bu durumda default>user>trusted-service-user>demo_df). Veriler belirtilen dosya sisteminin konumuna kaydedilir.

    Hem "csv" hem de "parquet" biçimlerinde, birçok bölümlenmiş dosyayla bir dizin oluşturulduğuna dikkat edin.

    Çıktının Depolama gezgini görünümü Çıktının

    Varsayılan > demodata > demo_df yolunu vurgulayan ekran görüntüsü.

Spark SQL deyimleri çalıştırma

Yapılandırılmış Sorgu Dili (SQL), verileri sorgulamak ve tanımlamak için en yaygın kullanılan dildir. Bilinen SQL söz dizimini kullanan Spark SQL, yapısal verileri işleyen bir Apache Spark uzantısı olarak çalışır.

  1. Aşağıdaki kodu boş bir hücreye yapıştırın ve kodu çalıştırın. komutu havuzdaki tabloları listeler.

    %%sql
    SHOW TABLES
    

    Azure Synapse Apache Spark havuzunuzla bir Not Defteri kullandığınızda, Spark SQL kullanarak sorgu çalıştırmak için kullanabileceğiniz bir ön ayar sqlContext elde edersiniz. %%sql not defterine sorguyu çalıştırmak için ön ayarı sqlContext kullanmasını söyler. Sorgu, varsayılan olarak tüm Azure Synapse Apache Spark havuzlarıyla birlikte gelen bir sistem tablosundan ilk 10 satırı alır.

  2. demo_df komutundaki verileri görmek için başka bir sorgu çalıştırın.

    %%sql
    SELECT * FROM demo_df
    

    Kod, biri veri sonuçlarını, diğeri ise iş görünümünü gösteren iki çıkış hücresi oluşturur.

    Varsayılan olarak sonuçlar görünümü bir kılavuz gösterir. Ancak kılavuzun altında, görünümün kılavuz ve grafik görünümleri arasında geçiş yapmasını sağlayan bir görünüm değiştirici vardır.

    Azure Synapse Spark'ta Azure Synapse

  3. Görünüm değiştiricide Grafik'i seçin.

  4. En sağ taraftaki Görünüm seçenekleri simgesini seçin.

  5. Grafik türü alanında "çubuk grafik" öğesini seçin.

  6. X ekseni sütun alanında "state" öğesini seçin.

  7. Y ekseni sütun alanında "maaş" öğesini seçin.

  8. Toplama alanında "ORT" seçeneğini belirleyin.

  9. Uygula’yı seçin.

    Azure Synapse Spark'ta Azure Synapse Spark

  10. AYNı SQL çalıştırma deneyimini diller arasında geçiş yapmak zorunda kalmadan elde etmek mümkündür. Yukarıdaki SQL hücresini bu PySpark hücresiyle değiştirerek bunu yapabilirsiniz, görüntüleme komutu kullanıldığından çıkış deneyimi aynıdır:

    display(spark.sql('SELECT * FROM demo_df'))
    
  11. Daha önce yürütülen hücrelerin her biri Geçmiş Sunucusu ve İzleme'ye gitme seçeneğine sahipti. Bağlantılara tıkladığınızda Kullanıcı Deneyimi'nin farklı bölümlerine yönlendirebilirsiniz.

Not

Apache Spark resmi belgelerinden bazıları Synapse Spark'ta bulunmayan Spark konsolunu kullanmaya dayanır. Bunun yerine not defterini veya IntelliJ deneyimlerini kullanın.

Kaynakları temizleme

Azure Synapse verilerinizi Azure Data Lake Storage kaydeder. Spark örneği kullanımda olmadığında güvenli bir şekilde kapanmasına izin vekleyebilirsiniz. Sunucusuz Apache Spark havuzu kullanımda olmasa bile çalıştığı sürece ücretlendirilirsiniz.

Havuz ücretleri depolama ücretlerinden çok daha fazla olduğundan Spark örneklerinin kullanımda olmadığında kapanmasına izin vermek ekonomik bir anlam ifade eder.

Spark örneğinin kapatılmış olduğundan emin olmak için bağlı oturumları (not defterlerini) sonlandırın. Apache Spark havuzunda belirtilen boşta kalma süresine ulaşıldığında havuz kapatılır. Ayrıca, not defterinin altındaki durum çubuğundan oturumu sonlandır'ı da seçebilirsiniz.

Sonraki adımlar

Bu hızlı başlangıçta sunucusuz bir Apache Spark havuzu oluşturmayı ve temel bir Spark SQL sorgusu çalıştırmayı öğrendiniz.