AKS üzerinde HDInsight'ta Apache Spark™ kümesinde işleri gönderme ve yönetme
Not
31 Ocak 2025'te AKS'de Azure HDInsight'ı kullanımdan kaldırmaya devam edeceğiz. 31 Ocak 2025'den önce, iş yüklerinizin aniden sonlandırılmasını önlemek için iş yüklerinizi Microsoft Fabric'e veya eşdeğer bir Azure ürününe geçirmeniz gerekir. Aboneliğinizdeki kalan kümeler durdurulur ve konaktan kaldırılır.
Kullanımdan kaldırma tarihine kadar yalnızca temel destek sağlanacaktır.
Önemli
Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.
Küme oluşturulduktan sonra, kullanıcı işleri göndermek ve yönetmek için çeşitli arabirimleri kullanabilir
- Jupyter kullanma
- Zeppelin kullanma
- ssh kullanma (spark-submit)
Jupyter kullanma
Önkoşullar
AKS üzerinde HDInsight üzerinde apache Spark™ kümesi. Daha fazla bilgi için bkz . Apache Spark kümesi oluşturma.
Jupyter Notebook, çeşitli programlama dillerini destekleyen etkileşimli bir not defteri ortamıdır.
Jupyter Notebook oluşturma
Apache Spark™ kümesi sayfasına gidin ve Genel Bakış sekmesini açın. Jupyter'a tıklayın; jupyter web sayfasının kimliğini doğrulamanızı ve açmanızı ister.
Jupyter web sayfasında Yeni > PySpark'ı seçerek not defteri oluşturun.
adlı
Untitled(Untitled.ipynb)
yeni bir not defteri oluşturulur ve açılır.Not
Not defteri oluşturmak için PySpark veya Python 3 çekirdeğini kullanarak ilk kod hücresini çalıştırdığınızda spark oturumu sizin için otomatik olarak oluşturulur. Belirtik şekilde bir oturum oluşturmanız gerekmez.
Aşağıdaki kodu Jupyter Not Defteri'nin boş bir hücresine yapıştırın ve kodu çalıştırmak için SHIFT + ENTER tuşlarına basın. Jupyter hakkında daha fazla denetim için buraya bakın.
%matplotlib inline import pandas as pd import matplotlib.pyplot as plt data1 = [22,40,10,50,70] s1 = pd.Series(data1) #One-dimensional ndarray with axis labels (including time series). data2 = data1 index = ['John','sam','anna','smith','ben'] s2 = pd.Series(data2,index=index) data3 = {'John':22, 'sam':40, 'anna':10,'smith':50,'ben':70} s3 = pd.Series(data3) s3['jp'] = 32 #insert a new row s3['John'] = 88 names = ['John','sam','anna','smith','ben'] ages = [10,40,50,48,70] name_series = pd.Series(names) age_series = pd.Series(ages) data_dict = {'name':name_series, 'age':age_series} dframe = pd.DataFrame(data_dict) #create a pandas DataFrame from dictionary dframe['age_plus_five'] = dframe['age'] + 5 #create a new column dframe.pop('age_plus_five') #dframe.pop('age') salary = [1000,6000,4000,8000,10000] salary_series = pd.Series(salary) new_data_dict = {'name':name_series, 'age':age_series,'salary':salary_series} new_dframe = pd.DataFrame(new_data_dict) new_dframe['average_salary'] = new_dframe['age']*90 new_dframe.index = new_dframe['name'] print(new_dframe.loc['sam'])
Maaş ve yaş değerlerini X ve Y eksenleri olarak içeren bir grafik çizme
Aynı not defterine aşağıdaki kodu Jupyter Not Defteri'nin boş bir hücresine yapıştırın ve ardından SHIFT + ENTER tuşlarına basarak kodu çalıştırın.
%matplotlib inline import pandas as pd import matplotlib.pyplot as plt plt.plot(age_series,salary_series) plt.show()
Not Defterini Kaydetme
Not defteri menü çubuğundan Dosya > Kaydetme ve Denetim Noktası'na gidin.
Küme kaynaklarını serbest bırakmak için not defterini kapatın: Not defteri menü çubuğundan Dosya > Kapat ve Durdur'a gidin. Ayrıca, örnekler klasörünün altındaki not defterlerinden herhangi birini de çalıştırabilirsiniz.
Apache Zeppelin not defterlerini kullanma
AKS üzerinde HDInsight'taki Apache Spark kümeleri Apache Zeppelin not defterlerini içerir. Apache Spark işlerini çalıştırmak için not defterlerini kullanın. Bu makalede, AKS kümesinde HDInsight üzerinde Zeppelin not defterini kullanmayı öğreneceksiniz.
Önkoşullar
AKS üzerinde HDInsight üzerinde apache Spark kümesi. Yönergeler için bkz . Apache Spark kümesi oluşturma.
Apache Zeppelin not defterini başlatma
Apache Spark kümesine Genel Bakış sayfasına gidin ve Küme panolarından Zeppelin not defteri'ni seçin. Kimlik doğrulaması yapmak ve Zeppelin sayfasını açmak ister.
Yeni bir not defteri oluşturun. Üst bilgi bölmesinde Not Defteri > Yeni not oluştur'a gidin. Not defteri üst bilgisinin bağlı bir durum gösterdiğinden emin olun. Sağ üst köşedeki yeşil noktayı belirtir.
Zeppelin Not Defteri'nde aşağıdaki kodu çalıştırın:
%livy.pyspark import pandas as pd import matplotlib.pyplot as plt data1 = [22,40,10,50,70] s1 = pd.Series(data1) #One-dimensional ndarray with axis labels (including time series). data2 = data1 index = ['John','sam','anna','smith','ben'] s2 = pd.Series(data2,index=index) data3 = {'John':22, 'sam':40, 'anna':10,'smith':50,'ben':70} s3 = pd.Series(data3) s3['jp'] = 32 #insert a new row s3['John'] = 88 names = ['John','sam','anna','smith','ben'] ages = [10,40,50,48,70] name_series = pd.Series(names) age_series = pd.Series(ages) data_dict = {'name':name_series, 'age':age_series} dframe = pd.DataFrame(data_dict) #create a pandas DataFrame from dictionary dframe['age_plus_five'] = dframe['age'] + 5 #create a new column dframe.pop('age_plus_five') #dframe.pop('age') salary = [1000,6000,4000,8000,10000] salary_series = pd.Series(salary) new_data_dict = {'name':name_series, 'age':age_series,'salary':salary_series} new_dframe = pd.DataFrame(new_data_dict) new_dframe['average_salary'] = new_dframe['age']*90 new_dframe.index = new_dframe['name'] print(new_dframe.loc['sam'])
Kod parçacığını çalıştırmak için paragrafın Yürüt düğmesini seçin. Paragrafın sağ köşesindeki durum HAZIR, BEKLENİYOR, ÇALıŞTıRILIYOR durumundan TAMAMLANDı durumuna ilerlemelidir. Çıkış, aynı paragrafın en altında gösterilir. Ekran görüntüsü aşağıdaki görüntüye benzer:
Çıktı:
Spark gönderme işlerini kullanma
Aşağıdaki '#vim samplefile.py' komutunu kullanarak bir dosya oluşturun
Bu komut vim dosyasını açar
Aşağıdaki kodu vim dosyasına yapıştırın
import pandas as pd import matplotlib.pyplot as plt From pyspark.sql import SparkSession Spark = SparkSession.builder.master('yarn').appName('SparkSampleCode').getOrCreate() # Initialize spark context data1 = [22,40,10,50,70] s1 = pd.Series(data1) #One-dimensional ndarray with axis labels (including time series). data2 = data1 index = ['John','sam','anna','smith','ben'] s2 = pd.Series(data2,index=index) data3 = {'John':22, 'sam':40, 'anna':10,'smith':50,'ben':70} s3 = pd.Series(data3) s3['jp'] = 32 #insert a new row s3['John'] = 88 names = ['John','sam','anna','smith','ben'] ages = [10,40,50,48,70] name_series = pd.Series(names) age_series = pd.Series(ages) data_dict = {'name':name_series, 'age':age_series} dframe = pd.DataFrame(data_dict) #create a pandas DataFrame from dictionary dframe['age_plus_five'] = dframe['age'] + 5 #create a new column dframe.pop('age_plus_five') #dframe.pop('age') salary = [1000,6000,4000,8000,10000] salary_series = pd.Series(salary) new_data_dict = {'name':name_series, 'age':age_series,'salary':salary_series} new_dframe = pd.DataFrame(new_data_dict) new_dframe['average_salary'] = new_dframe['age']*90 new_dframe.index = new_dframe['name'] print(new_dframe.loc['sam'])
Dosyayı aşağıdaki yöntemle kaydedin.
- Kaçış düğmesine basma
- Komutu girin
:wq
İşi çalıştırmak için aşağıdaki komutu çalıştırın.
/spark-submit --master yarn --deploy-mode cluster <filepath>/samplefile.py
AKS üzerinde HDInsight'ta Apache Spark kümesindeki sorguları izleme
Spark Geçmişi kullanıcı arabirimi
Genel bakış sekmesinden Spark Geçmişi Sunucusu kullanıcı arabirimine tıklayın.
Aynı uygulama kimliğini kullanarak kullanıcı arabiriminden son çalıştırmayı seçin.
Spark Geçmişi sunucusu kullanıcı arabiriminde Yönlendirilmiş Döngüsel Graf döngülerini ve işin aşamalarını görüntüleyin.
Livy oturum kullanıcı arabirimi
Livy oturum kullanıcı arabirimini açmak için tarayıcınıza aşağıdaki komutu yazın
https://<CLUSTERNAME>.<CLUSTERPOOLNAME>.<REGION>.projecthilo.net/p/livy/ui
Günlükler altındaki sürücü seçeneğine tıklayarak sürücü günlüklerini görüntüleyin.
Yarn Kullanıcı Arabirimi
Genel Bakış Sekmesinde Yarn'a tıklayın ve Yarn kullanıcı arabirimini açın.
Yakın zamanda çalıştırdığınız işi aynı uygulama kimliğiyle izleyebilirsiniz.
İşin ayrıntılı günlüklerini görüntülemek için Yarn'da Uygulama Kimliği'ne tıklayın.