All Products
Search
Document Center

Artificial Intelligence Recommendation:Gunakan FG dalam tugas MaxCompute

Last Updated:Mar 28, 2026

Pekerjaan MaxCompute PyFG menghasilkan fitur kompleks dalam batch offline dan mendukung tipe data ODPS 2.0 yang kompleks, seperti list, map, float, dan integer. Pekerjaan ini menggunakan file konfigurasi dan parameter command-line untuk menentukan apakah akan melakukan binning terhadap fitur yang dihasilkan.

Metode 1: Gunakan image kelompok sumber daya serbaguna

Di Konsol DataWorks, buka bagian Scheduling ConfigurationResource Properties. Pilih kelompok sumber daya serbaguna dan gunakan image dataworks_pairec_task_pod versi terbaru.

Catatan Rilis image dataworks_pairec_task_pod mungkin tertinggal dari pembaruan pyfg, sehingga paket pyfg dalam image tersebut mungkin bukan versi terbaru. Untuk memverifikasi versinya, lihat skrip yang dihasilkan oleh Configure features. Atau, gunakan Metode 3 untuk menyesuaikan image kelompok sumber daya dan menggunakan versi terbaru pyfg.

Metode 2: Instal paket dependensi (untuk versi lama DataWorks)

Login ke Konsol DataWorks, buat grup sumber daya eksklusif untuk penjadwalan, lalu gunakan O&M Assistant untuk menginstal paket pyfg.

Untuk menginstal paket pyfg di grup sumber daya eksklusif untuk penjadwalan, buka DataWorks > Management Center > Resource Group List > <a href="https://dataworks.console.aliyun.com/resource/runcommand" id="963b1e2ebd2ts">O&M Assistant</a> dan jalankan perintah berikut:

/home/tops/bin/pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade --force-reinstall http://tzrec.oss-cn-beijing.aliyuncs.com/third_party/pyfg102-1.0.2-cp37-cp37m-linux_x86_64.whl

Metode 3: Sesuaikan image kelompok sumber daya (untuk versi baru DataWorks)

Untuk informasi selengkapnya, lihat Custom images.

Unggah file sumber daya

Unggah file konfigurasi FG dalam format JSON ke proyek MaxCompute Anda.

Beberapa operator FG memerlukan file sumber daya tambahan, yang harus diunggah secara manual ke proyek MaxCompute Anda.

Feature operator

Description

Resource file parameter

text_normalizer

Normalisasi teks

File stop word stop_char_file

tokenize_feature

Fitur tokenisasi teks

File konfigurasi kosakata vocab_file

bm25_feature

Fitur relevansi teks

File konfigurasi frekuensi term term_doc_freq_file

custom_feature

Operator kustom

File konfigurasi operator operator_lib_file

Buat tabel output

Di DataWorks, buat node PyOdps3 dan jalankan skrip berikut untuk membuat tabel output serta sumber daya lain yang diperlukan berdasarkan isi file fg.json.

from pyfg102 import run_on_odps

fg_task = run_on_odps.FgTask(
    args['input_table'], 
    args['output_table'], 
    args['fg_json_file'], 
    args['partition_value'],
    force_delete_output_table=True,
    force_update_resource=True)
fg_task.create_output_table(o)

Sebelum menjalankan skrip, konfigurasikan parameter berikut di Scheduling Configuration: input_table, output_table, fg_json_file, dan partition_value.

Meskipun metode fg_task.run(o) secara otomatis membuat tabel output jika belum ada, kami menyarankan untuk membuat tabel tersebut terlebih dahulu. Praktik ini membantu mencegah konflik konkurensi yang dapat menyebabkan kegagalan tugas selama pengisian ulang data.

Jalankan tugas offline FG

Di DataWorks, buat node PyOdps3 dan jalankan skrip berikut. Jika tabel output belum ada, skrip ini secara otomatis membuatnya berdasarkan file fg.json.

from pyfg102 import run_on_odps

fg_task = run_on_odps.FgTask(
    args['input_table'], 
    args['output_table'], 
    args['fg_json_file'], 
    args['partition_value'],
    batch_size=128,
    force_delete_output_table=False,
    force_update_resource=False)
fg_task.add_sql_setting('odps.stage.mapper.split.size', 256)
fg_task.run(o)

Sebelum menjalankan skrip, konfigurasikan parameter berikut di Scheduling Configuration: input_table, output_table, fg_json_file, dan partition_value.

Anda juga dapat menginstal pyfg dan mengirimkan tugas dari mesin lokal jika telah menginstal PyODPS.

Parameter

Parameter

Default

Description

input_table

None

Tabel input.

output_table

None

Tabel output. Tugas ini secara otomatis membuat tabel ini jika belum ada.

fg_json_file

None

File konfigurasi FG dalam format JSON.

partition_value

None

Partisi tabel input yang akan diproses. Hasil ditulis ke partisi yang sesuai di tabel output.

schema

None

Menentukan skema MaxCompute. Untuk informasi lebih lanjut, lihat Schema operations.

batch_size

128

Jumlah catatan yang diproses dalam satu batch.

memory

1024

Memori yang dialokasikan ke node tugas, dalam MB.

force_delete_output_table

False

Jika True, menghapus tabel output yang sudah ada sebelum tugas dijalankan.

force_update_resource

False

Jika True, memperbarui sumber daya sebelum tugas dijalankan. Penting: Untuk menghindari konflik konkurensi, jangan biarkan parameter ini diatur ke True.

output_merged_str

False

Jika diatur ke True, menggabungkan string output menjadi satu fitur string tunggal dalam format RTP.

debug

False

Jika True, mengaktifkan mode debug. Mode ini mencetak konten semua sumber daya yang diperbarui ke log.

sql_setting

None

Menentukan parameter SQL MaxCompute dengan menggunakan metode fg_task.add_sql_setting. Anda dapat memanggil metode ini beberapa kali. Untuk daftar parameter, lihat Flag parameters.

fg_setting

None

Parameter key dan value dari metode fg_task.add_fg_setting. Parameter ini menentukan parameter FG. Untuk informasi lebih lanjut, lihat [Global Configuration](summary.md#id9). Anda dapat menambahkan beberapa item konfigurasi. Fitur ini tersedia sejak v0.4.0.

Anda dapat menyesuaikan pengaturan ini dengan mengubah nilai parameter pada contoh kode.

Cara kerja

Anda dapat mengirimkan tugas SQL ke MaxCompute dari mesin gerbang di kelompok sumber daya eksklusif tempat paket pyfg diinstal. Atau, Anda dapat menginstal pyfg di mesin lokal yang telah memiliki PyODPS dan mengirimkan tugas dari sana.

Fungsi user-defined (UDF) kustom dalam tugas SQL memerlukan beberapa sumber daya, seperti library bersama FG, file konfigurasi (misalnya, fg.json), kamus, library operator kustom, dan file kode UDF (.py). Semua sumber daya ini harus diunggah ke kluster MaxCompute, tempat mereka disimpan dalam sistem file terdistribusi MaxCompute. Saat tugas dijalankan, setiap worker mengunduh sumber daya tersebut dari sistem file terdistribusi dan memuatnya ke memori.

Beberapa sumber daya digunakan bersama oleh beberapa tugas, seperti library bersama untuk FG dan file kode UDF. Ketika force_update_resource=True, sumber daya asli dihapus sebelum sumber daya baru diunggah, sehingga menciptakan interval waktu di mana tugas lain yang sedang berjalan dapat terpengaruh.