MaxCompute Studio ile Python kullanıcı tanımlı işlevleri (UDF) geliştirebilir, test edebilir ve yayınlayabilirsiniz.
Ön Koşullar
Başlamadan önce aşağıdaki adımları tamamlayın:
Python UDF Geliştirme
Project bölmesinde, MaxCompute Studio dizini altında scripts öğesine sağ tıklayın ve seçeneklerini seçin.
Create new MaxCompute python class iletişim kutusunda, Name alanına bir sınıf adı girin, Kind değerini Python UDF olarak ayarlayın ve OK düğmesine tıklayın.
-
Düzenleyicide UDF kodunu yazın.
from odps.udf import annotate @annotate("bigint,bigint->bigint") class Hello(object): def evaluate(self, arg0, arg1): if None in (arg0,arg1): return None return arg0+arg1
UDF'yi Test Etme
MaxCompute Studio yerel testleri destekler. Bir tablodan örnek verileri indirerek UDF'yi yerel ortamda çalıştırabilir ve hata ayıklayabilirsiniz.
Python UDF betiğine sağ tıklayın ve RUN seçeneğini belirleyin.
-
Edit configuration sayfasında gerekli parametreleri yapılandırın ve OK düğmesine tıklayın.
MaxCompute project: UDF'nin çalıştığı MaxCompute projesi. Proje bağlantılarını yönetin bölümünde bir proje bağlantısı yapılandırdıysanız bu alan varsayılan olarak ilgili projeyi gösterir. İstediğiniz diğer projeleri de ekleyebilirsiniz.
MaxCompute table: UDF çalıştırması için kaynak tablo. Seçilen MaxCompute projesindeki açılır listeden bir tablo seçin.
Table columns: UDF'nin kullandığı sütunlar.
Download Record limit: İndirilecek maksimum kayıt sayısı. Varsayılan değer: 100.
NotVeriler zaten indirilmişse MaxCompute Studio bunları yeniden indirmez. Verileri tekrar indirmek için MaxCompute istemcisinde Tunnel komutunu çalıştırın.
Varsayılan olarak 100 kayıt indirilir. Daha fazla veriyle test yapmak için MaxCompute istemcisindeki Tunnel komutunu veya MaxCompute Studio'daki tablo indirme özelliğini kullanarak verileri indirin.
İndirme işlemi tamamlandığında örnek veriler, warehouse dizini altındaki data dosyasında kullanılabilir hale gelir.
-
Yerel çalıştırma çerçevesi, data dosyasındaki belirtilen sütunlardan verileri alır ve UDF'yi yerel olarak çalıştırır.
NotYerel çalıştırmalar PyODPS'teki
pyou
betiğini kullanır. Komut
pyou hello.Hello<data
şeklindedir. PyODPS'i yükledikten sonra betiğin varlığını aşağıdaki komutu çalıştırarak doğrulayın:
Windows'ta
${python}/../Scripts/pyoukomutunu çalıştırın.macOS'ta
${python}/../pyoukomutunu çalıştırın.
-
Aşağıdaki örnekte bir Python UDF'sinin kaynak kodu gösterilmektedir. Kodu çalıştırdıktan sonra çıktıyı konsolda görüntüleyebilirsiniz.
from odps.udf import annotate @annotate("bigint,bigint->bigint") class Plus(object): def evaluate(self, arg0, arg1): if None in (arg0, arg1): return None return arg0 + arg1
Python UDF Yayınlama
Python UDF testi başarıyla geçtikten sonra üretim ortamına yayınlayın. Daha fazla bilgi için bkz. İşlev yükleme ve kaydetme.