全部产品
Search
文档中心

Platform For AI:Gunakan PyODPS untuk membaca data dari dan menulis data ke tabel MaxCompute

更新时间:Jul 06, 2025

Di Data Science Workshop (DSW) pada Platform for AI (PAI), Anda dapat menggunakan PyODPS untuk membaca data dari tabel MaxCompute.

Prasyarat

Sebelum melanjutkan dengan operasi yang dijelaskan dalam topik ini, pastikan persyaratan berikut telah dipenuhi:

  • MaxCompute telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan MaxCompute dan DataWorks.

  • Akun yang digunakan memiliki izin pada proyek MaxCompute. Jika Anda menggunakan akun Alibaba Cloud, otorisasi tidak diperlukan. Namun, jika Anda menggunakan pengguna RAM, ikuti langkah-langkah berikut untuk memberikan otorisasi:

    Langkah-langkah

    1. Masuk ke Konsol MaxCompute menggunakan akun Alibaba Cloud. Pilih wilayah yang diinginkan di pojok kiri atas.

    2. Di panel navigasi sebelah kiri, pilih Workspace > Projects.

    3. Pada halaman Projects, klik Manage di kolom Actions.

    4. Pada tab Role Permissions, temukan role_project_dev. Klik Manage Members dan tambahkan pengguna RAM Anda.

    Untuk informasi lebih lanjut tentang manajemen izin untuk MaxCompute, lihat Kelola Izin Pengguna di Konsol MaxCompute.

  • Versi Python memenuhi persyaratan. Disarankan menggunakan Python 3.6 atau yang lebih baru. Untuk informasi lebih lanjut, lihat Instal Python.

Prosedur

Anda dapat menggunakan PyODPS untuk membaca data dari MaxCompute atau Machine Learning Designer. Untuk informasi lebih lanjut, lihat Dokumentasi PyODPS.

  1. Instal PyODPS.

    Di terminal DSW, jalankan perintah berikut:

    pip install pyodps
  2. Jalankan perintah berikut untuk memeriksa apakah instalasi berhasil. Jika tidak ada hasil yang dikembalikan dan tidak ada kesalahan yang dilaporkan, instalasi berhasil.

    python -c "from odps import ODPS"
  3. Jika versi Python yang ingin digunakan bukan versi default sistem, jalankan perintah berikut untuk menggunakan versi yang diperlukan:

    /home/tops/bin/python3.7 -m pip install setuptools>=3.0
    #/home/tops/bin/python3.7 adalah path dari Python yang terinstal.
  4. Eksekusi pernyataan SQL untuk membaca data dari tabel MaxCompute.

    import numpy as np
    import pandas as pd
    import os
    
    from odps import ODPS
    from odps.df import DataFrame
    # Membuat koneksi. 
    o = ODPS(
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
        project='your-default-project',
        endpoint='your-end-point',
    )
    
    # Baca data dari tabel MaxCompute. 
    sql = '''
    SELECT  
        *
    FROM
        your-default-project.<table>
    LIMIT 100
    ;
    '''
    query_job = o.execute_sql(sql)
    result = query_job.open_reader(tunnel=True)
    df = result.to_pandas(n_process=1) # Anda dapat mengonfigurasi parameter n_process berdasarkan konfigurasi server. Jika Anda mengatur parameter n_process ke nilai lebih besar dari 1, beberapa thread digunakan untuk mempercepat pembacaan data.

    Parameter dalam kode sebelumnya:

    • ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET: ID AccessKey dan AccessKey Secret dari akun Alibaba Cloud Anda. Disarankan mengaturnya sebagai variabel lingkungan untuk mencegah kebocoran.

    Untuk informasi tentang cara menggunakan PyODPS untuk melakukan operasi lainnya, seperti menulis data ke tabel MaxCompute, lihat Tabel.

Referensi

DSW menyediakan fitur File SQL untuk membantu Anda dengan cepat menanyakan data dari sumber data MaxCompute menggunakan pernyataan SQL. Untuk informasi lebih lanjut, lihat Gunakan File SQL untuk Menanyakan Tabel MaxCompute.