MaxFrame SDK'sini yerel makinenize yükleyerek dağıtılmış veri işleme için MaxCompute ile etkileşim kurabilirsiniz.
Önkoşullar
Başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:
Yerel sisteminizde Python 3.7 veya 3,11 yüklü olmalıdır. Diğer sürümler hata oluşturabilir.
Yerel sisteminizde pip yüklü olmalıdır. Yüklü değilse yükleme talimatları için Python resmi web sitesini ziyaret edin.
Bir MaxCompute projesi oluşturulmuş olmalıdır. Daha fazla bilgi için bkz. MaxCompute projesi oluşturma.
MaxFrame'i Yükleme
-
Bir komut satırı penceresinde (Windows CMD gibi) MaxFrame istemcisini yüklemek için aşağıdaki pip komutunu çalıştırın:
pip install --upgrade maxframe -
Kurulumu doğrulamak için aşağıdaki komutu çalıştırın. Çıktı veya hata oluşmazsa kurulum başarılı olmuştur.
python -c "import maxframe.dataframe as md"Hata oluşursa varsayılan Python sürümünüzü doğrulayın ve Python 3.7 veya 3,11'e geçiş yapın. Örneğin:
# Check the system default version python --version # Switch the system default version to Python 3.7, where $path/python3.7 is the installed Python path $path/python3.7 -m pip install setuptools>=3.0
MaxFrame Kullanma
-
.pyuzantılı yerel bir dosya oluşturun (örneğintest.py). Aşağıdaki örnek kodutest.pydosyasına kopyalayın ve dosyayı kaydedin.import os import maxframe.dataframe as md from odps import ODPS from maxframe import new_session # Create a MaxCompute entry point o = ODPS( # Set the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable to your AccessKey ID, # and ALIBABA_CLOUD_ACCESS_KEY_SECRET to your AccessKey secret. # Do not use AccessKey ID and AccessKey secret strings directly. os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), project='your-default-project', endpoint='your-end-point', ) table = o.create_table("test_source_table", "a string, b bigint", if_not_exists=True) with table.open_writer() as writer: writer.write([ ["value1", 0], ["value2", 1], ]) # Create a MaxFrame session session = new_session(o) df = md.read_odps_table("test_source_table",index_col="b") df["a"] = "prefix_" + df["a"] # Print dataframe data print(df.execute().fetch()) # Write MaxFrame DataFrame data to a MaxCompute table md.to_odps_table(df, "test_prefix_source_table").execute() # Destroy the MaxFrame session session.destroy()Parametre açıklamaları:
ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET: Bu ortam değişkenlerini, hedef MaxCompute projeniz için gerekli izinlere sahip olan AccessKey ID ve AccessKey secret değerlerine ayarlayın. AccessKey ID'nizi AccessKey yönetimi sayfasından edinebilirsiniz.
your-default-project: MaxCompute projenizin adıdır. MaxCompute konsoluna giriş yapın ve sol gezinme bölmesinden Workspace > Projects seçeneklerini seçerek görüntüleyin.
your-end-point: MaxCompute projenizin bulunduğu bölgenin uç noktasıdır. Daha fazla bilgi için bkz. Uç Nokta.
-
test.pydosyasını içeren dizine gidin ve dosyayı çalıştırın. Örneğin:python test.py
Sonuç Doğrulama
Python kodunu çalıştırdıktan sonra alıcı tablo verilerini sorgulayın. Sonuç beklentilerle eşleşiyorsa MaxFrame doğru şekilde kurulmuş ve MaxCompute kümesine bağlanmış demektir.
-
Python kodunun çalıştırılması aşağıdaki sonucu döndürür:
b a 0 prefix_value1 1 prefix_value2 -
Hedef MaxCompute projenizde
test_prefix_source_tabletablosundaki verileri sorgulamak için aşağıdaki SQL'i çalıştırın.SELECT * FROM test_prefix_source_table;Dönen sonuç şöyledir:
+------------+------------+ | b | a | +------------+------------+ | 0 | prefix_value1 | | 1 | prefix_value2 | +------------+------------+