全部产品
Search
文档中心

Artificial Intelligence Recommendation:Gunakan FG dalam tugas MaxCompute

更新时间:Jan 17, 2026

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

Metode 1: Gunakan image resource group tujuan umum

Di DataWorks, pada bagian Scheduling ConfigurationResource Properties, pilih grup sumber daya umum dan image dataworks_pairec_task_pod versi terbaru.

Catatan: Image dataworks_pairec_task_pod mungkin tidak menyertakan versi terbaru paket pyfg karena siklus rilisnya dapat tertinggal dari pembaruan pyfg. Untuk memeriksa versi spesifik, lihat skrip yang dihasilkan oleh Kustomisasi solusi yang direkomendasikan – Konfigurasi fitur. Untuk menggunakan versi pyfg terbaru, buat image grup sumber daya kustom seperti yang dijelaskan dalam Metode 3.

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

Login ke Konsol DataWorks, buat exclusive resource group for scheduling, lalu gunakan O&M Assistant untuk menginstal paket pyfg.

Untuk menginstal paket pyfg di grup sumber daya eksklusif DataWorks, navigasikan ke DataWorks > Management Center > Resource Group List > <a href="https://dataworks.console.aliyun.com/resource/runcommand" id="963b1e2ebd2ts">O&M Assistant</a>. Berikut contohnya:

/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/pyfg101-1.0.1-cp37-cp37m-linux_x86_64.whl

Metode 3: Gunakan image custom resource group (untuk versi baru DataWorks)

Untuk informasi selengkapnya, lihat Custom images.

Unggah file resource

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

Beberapa operator FG memerlukan file resource tambahan. Anda harus mengunggah file-file tersebut secara manual ke proyek MaxCompute Anda.

Feature operator

Description

Resource file configuration item

text_normalizer

Normalisasi teks

File stop word stop_char_file

tokenize_feature

Fitur tokenisasi teks

File konfigurasi vocabulary vocab_file

bm25_feature

Fitur relevansi teks

File konfigurasi term frequency 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 resource lain yang diperlukan berdasarkan isi file fg.json.

from pyfg101 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 bagian Scheduling Configuration: input_table, output_table, fg_json_file, dan partition_value.

Metode fg_task.run(o) secara otomatis membuat tabel output jika belum ada. Namun, sebaiknya Anda membuat tabel tersebut terlebih dahulu untuk mencegah konflik yang dapat menyebabkan kegagalan tugas selama pengisian ulang data secara konkuren.

Jalankan tugas offline FG

Buat node PyOdps3 di DataWorks dan jalankan skrip berikut. Skrip ini secara otomatis membuat tabel output berdasarkan isi file fg.json.

from pyfg101 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, atur parameter berikut di bagian Scheduling Configuration: input_table, output_table, fg_json_file, dan partition_value.

Jika PyODPS telah diinstal di mesin lokal Anda, Anda juga dapat menginstal pyfg secara lokal untuk mengirimkan tugas.

Parameter

Parameter

Nilai default

Deskripsi

input_table

None

Tabel input.

output_table

None

Tabel output. Dibuat secara otomatis.

fg_json_file

None

File konfigurasi FG dalam format JSON.

partition_value

None

Menentukan partisi dari tabel input yang digunakan sebagai input untuk FG. Hasilnya disimpan ke partisi yang sesuai pada tabel output.

schema

None

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

batch_size

128

Jumlah record yang diproses dalam satu batch.

memory

1024

Jumlah memori yang digunakan oleh node tugas, dalam MB.

force_delete_output_table

False

Menentukan apakah tabel output akan dihapus. Jika diatur ke True, tabel output dihapus sebelum tugas dijalankan.

force_update_resource

False

Menentukan apakah resource akan diperbarui. Jika diatur ke True, resource diperbarui sebelum tugas dijalankan. Jangan selalu mengatur nilai ini ke True. Hal ini dapat menyebabkan konflik konkurensi.

output_merged_str

False

Menentukan apakah string akan digabung. Jika diatur ke True, string secara otomatis digabung untuk menghasilkan fitur string besar dalam format RTP.

debug

False

Menentukan apakah akan dijalankan dalam mode debug. Jika diatur ke True, konten semua resource yang diperbarui akan dicetak.

sql_setting

None

Parameter kunci dan nilai untuk metode fg_task.add_sql_setting. Menentukan parameter SQL MaxCompute. Untuk informasi lebih lanjut, lihat Daftar parameter flag. Tambahkan beberapa flag sesuai kebutuhan.

fg_setting

None

Parameter kunci dan nilai untuk metode fg_task.add_fg_setting. Menentukan parameter FG. Untuk informasi lebih lanjut, lihat [Konfigurasi global](summary.md#id9). Tambahkan beberapa item konfigurasi sesuai kebutuhan. Parameter ini tersedia mulai v0.4.0.

Ubah nilai parameter default dalam kode seperti yang ditunjukkan pada contoh.

Informasi tambahan

Paket pyfg diinstal pada mesin gerbang di grup sumber daya eksklusif. Mesin ini dapat mengirimkan tugas SQL ke MaxCompute. Alternatifnya, Anda dapat menginstal paket pyfg pada mesin apa pun yang memiliki tool pyodps untuk mengirimkan tugas ke kluster MaxCompute.

User-Defined Functions (UDF) kustom dalam tugas SQL memerlukan beberapa resource, seperti library bersama FG, file konfigurasi seperti fg.json, kamus, library operator kustom, dan file kode UDF (.py). Anda harus mengunggah semua resource tersebut ke kluster MaxCompute, tempat resource tersebut disimpan dalam sistem file terdistribusi. Saat tugas dijalankan, setiap worker mengunduh resource ini dari sistem file terdistribusi dan memuatnya ke memori.

Beberapa resource, seperti library bersama FG dan file kode UDF, digunakan bersama oleh beberapa tugas. Saat Anda mengatur force_update_resource=True, resource asli dihapus sebelum yang baru diunggah. Proses ini menciptakan jeda waktu yang dapat memengaruhi tugas lain yang sedang berjalan.