全部产品
Search
文档中心

MaxCompute:SDK untuk Java

更新时间:Jul 06, 2025

Java SDK adalah serangkaian antarmuka pemrograman Java yang disediakan oleh MaxCompute. Melalui antarmuka ini, Anda dapat menggunakan kode Java untuk mengoperasikan dan mengelola layanan MaxCompute seperti mengakses proyek, memanipulasi tabel data, transfer data, serta manajemen fungsi. Topik ini menjelaskan paket-paket yang disediakan oleh MaxCompute SDK untuk Java dan kelas inti dari SDK tersebut, termasuk instance, resource, tabel, dan fungsi.

Catatan

Jika Anda menggunakan MaxCompute SDK untuk Java untuk mengakses layanan komputasi dan penyimpanan yang disediakan oleh MaxCompute, biaya akan dikenakan dengan cara yang sama seperti ketika Anda mengakses layanan tersebut melalui metode lain. Untuk informasi lebih lanjut, lihat .

Penetapan harga penyimpanan (bayar sesuai penggunaan), Penetapan harga komputasi (bayar sesuai penggunaan), dan Penetapan harga unduhan (bayar sesuai penggunaan).

Informasi latar belakang

Topik ini menjelaskan kelas inti dari MaxCompute SDK untuk Java. Untuk informasi lebih lanjut tentang SDK, lihat ODPS SDK Core 0.45.1-API publik.

Anda dapat menggunakan Maven untuk mengonfigurasi versi SDK yang ingin digunakan. Sebagai contoh, untuk menentukan versi odps-sdk-core, tambahkan dependensi Maven berikut:

<dependency>
  <groupId>com.aliyun.odps</groupId>
  <artifactId>odps-sdk-core</artifactId>
  <version>X.X.X-public</version>
</dependency>
Catatan
  • Hanya SDK versi 0.27.2-public atau yang lebih baru yang mendukung tipe data baru yang diperkenalkan dalam edisi tipe data MaxCompute V2.0.

  • Anda dapat memperoleh versi terbaru SDK dengan mencari odps-sdk-core di search.maven.org.

Tabel berikut menjelaskan paket-paket yang disediakan oleh MaxCompute SDK untuk Java.

Nama Paket

Deskripsi

odps-sdk-core

Menyediakan fitur dasar MaxCompute, seperti fitur yang memungkinkan Anda mengelola tabel dan proyek. Anda juga dapat menggunakan paket ini untuk mengakses layanan Tunnel.

odps-sdk-commons

Menyediakan utilitas umum.

odps-sdk-udf

Menyediakan fitur fungsi yang ditentukan pengguna (UDF).

odps-sdk-mapred

Menyediakan fitur MapReduce.

odps-sdk-graph

Menyediakan Graph SDK untuk Java. Anda dapat memperoleh SDK ini dengan mencari odps-sdk-graph.

AliyunAccount

Anda dapat memanggil API ini untuk mendapatkan akun Alibaba Cloud Anda. Konstruktor kelas AliyunAccount menggunakan ID AccessKey dan Rahasia AccessKey sebagai parameter input. ID AccessKey dan Rahasia AccessKey membentuk pasangan AccessKey yang digunakan untuk mengotentikasi pengguna Alibaba Cloud. API ini juga digunakan untuk menginisialisasi MaxCompute.

ODPS

Kelas Odps adalah titik masuk MaxCompute SDK untuk Java. Kelas Odps memungkinkan Anda mengakses semua jenis objek di MaxCompute, termasuk proyek, tabel, resource, fungsi, dan instance.

Anda dapat melewatkan objek AliyunAccount ke konstruktor kelas Odps untuk membuat objek Odps. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol Resource Access Management (RAM).
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");
for (Table t : odps.tables()) {
    ....
}              

MaxCompute Tunnel

MaxCompute Tunnel dibangun di atas Tunnel SDK. Ini memungkinkan Anda mengunggah data ke atau mengunduh data dari tabel MaxCompute (tidak termasuk tampilan) melalui Tunnel.

MapReduce

Untuk informasi lebih lanjut tentang SDK yang didukung oleh MapReduce, lihat Ikhtisar.

Projects

Kelas Projects mendefinisikan kumpulan semua proyek di MaxCompute. Setiap proyek MaxCompute adalah elemen dalam kumpulan tersebut. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
Project p = odps.projects().get("my_exists");
p.reload();
...

Project

Kelas Project mendefinisikan detail proyek. Anda dapat memperoleh proyek tertentu dengan memanggil metode get dari kelas Projects.

SQLTask

Kelas SQLTask memungkinkan Anda menjalankan dan memproses pernyataan SQL di MaxCompute. Anda dapat mengeksekusi pernyataan SQL dengan memanggil metode run dari kelas SQLTask.

Metode run mengembalikan objek Instance. Anda dapat memperoleh status dan hasil eksekusi pernyataan SQL dari objek Instance. Kode berikut menunjukkan contohnya:

import java.util.List;
import com.aliyun.odps.Instance;
import com.aliyun.odps.Odps;
import com.aliyun.odps.OdpsException;
import com.aliyun.odps.account.Account;
import com.aliyun.odps.account.AliyunAccount;
import com.aliyun.odps.data.Record;
import com.aliyun.odps.task.SQLTask;
public class TestSql {
        // Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
				// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
				// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
				private static String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
				private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");     
        private static final String endPoint = "http://service.odps.aliyun.com/api";
        private static final String project = "";
        private static final String sql = "select category from iris;";
    public static void
        main(String[] args) {
        Account account = new AliyunAccount(accessId, accessKey);
        Odps odps = new Odps(account);
        odps.setEndpoint(endPoint);
        odps.setDefaultProject(project);
        Instance i;
        try {
            i = SQLTask.run(odps, sql);
            i.waitForSuccess();
            List<Record> records = SQLTask.getResult(i);
            for(Record r:records){
                System.out.println(r.get(0).toString());
            }
        } catch (OdpsException e) {
            e.printStackTrace();
        }
    }
}
Catatan
  • Anda hanya dapat mengirimkan dan mengeksekusi satu pernyataan SQL pada satu waktu.

  • Untuk membuat tabel menggunakan MaxCompute SDK untuk Java, Anda harus menggunakan kelas SQLTask alih-alih kelas Table. Anda perlu meneruskan pernyataan CREATE TABLE ke SQLTask sebelum menggunakan objek SQLTask untuk mengeksekusi pernyataan CREATE TABLE. Untuk informasi lebih lanjut tentang pernyataan CREATE TABLE, lihat Operasi tabel.

Instances

Kelas Instances mendefinisikan kumpulan semua instance di MaxCompute. Setiap instance adalah elemen dalam kumpulan tersebut. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");
for (Instance i : odps.instances()) {
    ....
}

Instance

Kelas Instance mendefinisikan detail instance. Anda dapat memperoleh instance tertentu dengan memanggil metode get dari kelas Instances. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
Instance instance= odps.instances().get("instance id");
Date startTime = instance.getStartTime();
Date endTime = instance.getEndTime();
...
    Status instanceStatus = instance.getStatus();
String instanceStatusStr = null;
if (instanceStatus == Status.TERMINATED) {
    instanceStatusStr = TaskStatus.Status.SUCCESS.toString();
    Map<String, TaskStatus> taskStatus = instance.getTaskStatus();
    for (Entry<String, TaskStatus> status : taskStatus.entrySet()) {
        if (status.getValue().getStatus() != TaskStatus.Status.SUCCESS) {
            instanceStatusStr = status.getValue().getStatus().toString();
            break;
        }
    }
} else {
    instanceStatusStr = instanceStatus.toString();
}
...
    TaskSummary summary = instance.getTaskSummary("task name");
String s = summary.getSummaryText();

Tables

Kelas Tables mendefinisikan kumpulan semua tabel di MaxCompute. Setiap tabel adalah elemen dalam kumpulan tersebut. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");
for (Table t : odps.tables()) {
    ....
}

Table

Kelas Table mendefinisikan detail tabel. Anda dapat memperoleh tabel tertentu dengan memanggil metode get dari kelas Tables. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");

Table table = odps.tables().get("tablename");
for(Column c : table.getSchema().getColumns()) 
{
String name = c.getName();
TypeInfo type = c.getTypeInfo();
 }

Kode berikut menunjukkan cara memperoleh data dalam partisi tabel:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
Table t = odps.tables().get("table name");
t.reload();
Partition part = t.getPartition(new PartitionSpec("partition_col=partition_col_value"));
part.reload();
...

Resources

Kelas Resources mendefinisikan kumpulan semua resource di MaxCompute. Setiap resource adalah elemen dalam kumpulan tersebut. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");
for (Resource r : odps.resources()) {
    ....
}

Resource

Kelas Resource mendefinisikan detail setiap resource. Anda dapat memperoleh resource tertentu dengan memanggil metode get dari kelas Resources. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
Resource r = odps.resources().get("resource name");
r.reload();
if (r.getType() == Resource.Type.TABLE) {
    TableResource tr = new TableResource(r);
    String tableSource = tr.getSourceTable().getProject() + "."
        + tr.getSourceTable().getName();
    if (tr.getSourceTablePartition() != null) {
        tableSource += " partition(" + tr.getSourceTablePartition().toString()
            + ")";
    }
    ....
}

Kode berikut menunjukkan cara membuat resource file:

String projectName = "my_porject";
String source = "my_local_file.txt";
File file = new File(source);
InputStream is = new FileInputStream(file);
FileResource resource = new FileResource();
String name = file.getName();
resource.setName(name);
odps.resources().create(projectName, resource, is);

Kode berikut menunjukkan cara membuat resource tabel:

TableResource resource = new TableResource(tableName, tablePrj, partitionSpec);
//resource.setName(INVALID_USER_TABLE);
resource.setName("table_resource_name");
odps.resources().update(projectName, resource);

Functions

Kelas Functions mendefinisikan kumpulan semua fungsi di MaxCompute. Setiap fungsi adalah elemen dalam kumpulan tersebut. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
odps.setDefaultProject("my_project");
for (Function f : odps.functions()) {
    ....
}                

Function

Kelas Function mendefinisikan detail fungsi. Anda dapat memperoleh fungsi tertentu dengan memanggil metode get dari kelas Functions. Kode berikut menunjukkan contohnya:

// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Jika Anda menggunakan pasangan AccessKey untuk memanggil operasi API, risiko mungkin terjadi. Kami merekomendasikan agar Anda membuat dan menggunakan pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol RAM.
// Dalam contoh ini, ID AccessKey dan Rahasia AccessKey dikonfigurasi sebagai variabel lingkungan. Anda juga dapat menyimpan pasangan AccessKey Anda di file konfigurasi berdasarkan kebutuhan bisnis Anda.
// Kami merekomendasikan agar Anda tidak secara langsung menentukan ID AccessKey dan Rahasia AccessKey dalam kode untuk mencegah kebocoran pasangan AccessKey.
Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
Odps odps = new Odps(account);
String odpsUrl = "<your odps endpoint>";
odps.setEndpoint(odpsUrl);
Function f = odps.functions().get("function name");
List<Resource> resources = f.getResources();               

Kode berikut menunjukkan cara membuat fungsi:

String resources = "xxx:xxx";
String classType = "com.aliyun.odps.mapred.open.example.WordCount";
ArrayList<String> resourceList = new ArrayList<String>();
for (String r : resources.split(":")) {
    resourceList.add(r);
}
Function func = new Function();
func.setName(name);
func.setClassType(classType);
func.setResources(resourceList);
odps.functions().create(projectName, func);              

Referensi

Jika Anda ingin menggunakan Python untuk berinteraksi dengan dan memproses data di MaxCompute, lihat Ikhtisar.