All Products
Search
Document Center

MaxCompute:Mulai

Last Updated:Sep 08, 2026

Anda dapat menjalankan PyODPS sebagai node di platform pengembangan data seperti DataWorks. Platform tersebut mengelola waktu proses dan penjadwalan PyODPS, sehingga Anda tidak perlu membuat objek entri MaxCompute secara manual. API PyODPS DataFrame memungkinkan pemrosesan data bergaya pandas. Topik ini menggunakan DataWorks untuk menunjukkan cara memulai penggunaan PyODPS dalam proyek Anda.

Prasyarat

Prosedur

  1. Create a PyODPS node.

    Topik ini menggunakan node PyODPS DataWorks. Untuk detailnya, lihat Develop a PyODPS 3 task.

    • Topik ini menggunakan node PyODPS 3 sebagai contoh. Versi Python yang mendasari node PyODPS 3 adalah 3.7.

    • Node PyODPS dapat memproses maksimal 50 MB data lokal dan menggunakan hingga 1 GB memori selama waktu proses. Jika suatu task melebihi batas ini, sistem akan menghentikannya. Oleh karena itu, hindari menulis kode Python yang memproses data dalam jumlah besar di dalam task PyODPS.

    • Menulis dan men-debug kode di DataWorks kurang efisien. Untuk meningkatkan efisiensi, kami menyarankan Anda mengembangkan kode secara lokal di IntelliJ IDEA.

    1. Create a workflow.

      Buka halaman Data Studio, klik kanan Business Flow, lalu pilih Create Workflow.

    2. Create a PyODPS node.

      Klik kanan alur kerja baru, pilih Create Node > MaxCompute > PyODPS 3, masukkan nama untuk node tersebut, lalu klik Submit.

  2. Edit the PyODPS node.

    1. Write the code.

      Masukkan kode uji coba di editor node PyODPS. Contoh berikut menunjukkan penggunaan API PyODPS untuk operasi tabel. Untuk informasi lebih lanjut tentang operasi tabel dan operasi SQL, lihat Tables dan SQL.

      from odps import ODPS
      
      # Di node PyODPS DataWorks, variabel global (`o` atau `odps`) tersedia secara default sebagai entri MaxCompute. Anda dapat menggunakannya langsung tanpa perlu mendefinisikannya secara manual.
      table = o.create_table('my_new_table', 'num bigint, id string', if_not_exists=True)
      
      # Masukkan data ke tabel non-partisi my_new_table.
      records = [[111, 'aaa'],
                [222, 'bbb'],
                [333, 'ccc'],
                [444, '中文']]
      o.write_table(table, records)
      
      # Baca data dari tabel non-partisi my_new_table.
      for record in o.read_table(table):
          print(record[0],record[1])
      
      # Baca data dari tabel dengan mengeksekusi pernyataan SQL.
      result = o.execute_sql('select * from my_new_table;',hints={'odps.sql.allow.fullscan': 'true'})
      
      # Baca hasil eksekusi SQL.
      with result.open_reader() as reader:    
          for record in reader:            
              print(record[0],record[1])
      
      # Hapus tabel untuk melepaskan sumber daya.
      table.drop()
    2. Run the code.

      Setelah mengedit kode, klik ikon 运行. Setelah eksekusi selesai, Anda dapat melihat hasilnya di tab Runtime Log. Output log berikut menunjukkan keberhasilan.

      2023-07-21 15:06:41 INFO ========================================================
      Executing user script with PyODPS 0.11.2.3
      Tunnel session created: <TableUploadSession xxx                                          >
      Tunnel session created: <TableDownloadSession xxx                                        >
      111 aaa
      222 bbb
      333 ccc
      444 中文
      Tunnel session created: <InstanceDownloadSession id=xxx          project_name=xxx                              >
      111 aaa
      222 bbb
      333 ccc
      444 中文
      2023-07-21 15:06:49 INFO ========================================================
      2023-07-21 15:06:49 INFO Exit code of the Shell command 0
      2023-07-21 15:06:49 INFO --- Invocation of Shell command completed ---
      2023-07-21 15:06:49 INFO Shell run successfully!
      2023-07-21 15:06:49 INFO Current task status: FINISH
      2023-07-21 15:06:49 INFO Cost time is: 7.507s
      /home/admin/alisatasknode/taskinfo/xxx              xxx        .log-END-EOF