全部产品
Search
文档中心

Platform For AI:Kelola fitur dalam sistem rekomendasi menggunakan FeatureStore

更新时间:Jan 17, 2026

Topik ini menggunakan tabel fitur FeatureStore sebagai contoh untuk menjelaskan seluruh proses membangun dan meluncurkan sistem rekomendasi lengkap, mulai dari membuat dan mendaftarkan tabel fitur hingga menerbitkannya secara online.

Informasi latar belakang

Sistem rekomendasi menyarankan konten atau produk yang dipersonalisasi kepada pengguna berdasarkan minat dan preferensi mereka. Mengekstraksi dan mengonfigurasi informasi fitur untuk pengguna dan item merupakan bagian kritis dalam sistem rekomendasi apa pun. Solusi ini menunjukkan cara membangun sistem rekomendasi menggunakan FeatureStore serta bagaimana FeatureStore berinteraksi dengan produk sistem rekomendasi lainnya melalui berbagai software development kit (SDK). Prosesnya mencakup pembuatan proyek di FeatureStore, pendaftaran tabel fitur, pembuatan fitur model, ekspor tabel sampel pelatihan, sinkronisasi fitur dari offline store ke online store, pelatihan model dengan tabel sampel, penerapan layanan model Elastic Algorithm Service (EAS), serta penggunaan konfigurasi FeatureStore di PAI-REC.

Jika Anda terbiasa dengan kode, Anda dapat menjalankan Notebook Python untuk melihat proses konfigurasinya. Untuk informasi lebih lanjut, lihat DSW Gallery.

Untuk informasi lebih lanjut tentang FeatureStore, lihat Ikhtisar FeatureStore.

Jika Anda memiliki pertanyaan selama konfigurasi atau penggunaan, Anda dapat bergabung dengan grup DingTalk kami (ID: 34415007523) untuk berkonsultasi dengan staf teknis kami.

Prasyarat

Lakukan persiapan berikut sebelum memulai.

Produk yang diperlukan

Tindakan

Platform for AI (PAI)

Aktifkan PAI dan buat ruang kerja PAI. Untuk informasi lebih lanjut, lihat Aktifkan PAI dan buat ruang kerja default.

MaxCompute

FeatureDB

DataWorks

Object Storage Service (OSS)

Aktifkan OSS. Untuk informasi lebih lanjut, lihat Mulai Cepat di konsol.

Langkah 1: Siapkan data

Sinkronisasi tabel data

Untuk skenario rekomendasi khas, Anda perlu menyiapkan tiga tabel data: tabel fitur pengguna, tabel fitur item, dan tabel label.

Agar lebih mudah mengikuti topik ini, kami telah menyiapkan tabel simulasi pengguna, item, dan label di proyek pai_online_project di MaxCompute. Tabel pengguna dan item masing-masing memiliki sekitar 100.000 entri data per partisi dan menempati sekitar 70 MB di MaxCompute. Tabel label memiliki sekitar 450.000 entri data per partisi dan menempati sekitar 5 MB di MaxCompute.

Jalankan perintah SQL di DataWorks untuk menyinkronkan tabel pengguna, item, dan label dari proyek pai_online_project ke proyek MaxCompute Anda sendiri. Prosedurnya sebagai berikut:

  1. Masuk ke Konsol DataWorks.

  2. Di panel navigasi sebelah kiri, klik Data Development and O&M > Data Development.

  3. Pilih ruang kerja DataWorks yang telah Anda buat dan klik Masuk ke Data Studio.

  4. Arahkan kursor ke Create, lalu pilih Create Node > MaxCompute > ODPS SQL. Pada halaman yang muncul, konfigurasikan parameter node.

    Parameter

    Nilai yang disarankan

    Engine Instance

    Pilih mesin MaxCompute yang telah Anda buat.

    Node Type

    ODPS SQL

    Path

    Business Flow/Workflow/MaxCompute

    Name

    Anda dapat menentukan nama kustom.

  5. Klik Confirm.

  6. Di editor node, jalankan perintah SQL berikut untuk menyinkronkan tabel pengguna, item, dan label dari proyek pai_online_project ke proyek MaxCompute Anda. Untuk Resource Group, pilih grup sumber daya eksklusif untuk penjadwalan yang telah Anda buat.

    Sinkronisasi tabel pengguna: rec_sln_demo_user_table_preprocess_all_feature_v1 (Klik untuk melihat detail)

    CREATE TABLE IF NOT EXISTS rec_sln_demo_user_table_preprocess_all_feature_v1
    like pai_online_project.rec_sln_demo_user_table_preprocess_all_feature_v1
    STORED AS ALIORC  
    LIFECYCLE 90;
    
    INSERT OVERWRITE TABLE rec_sln_demo_user_table_preprocess_all_feature_v1
    PARTITION(ds='${bdp.system.bizdate}')
    SELECT * except(ds)
    FROM pai_online_project.rec_sln_demo_user_table_preprocess_all_feature_v1
    WHERE ds = '${bdp.system.bizdate}';

    Dalam kode tersebut, ${bdp.system.bizdate} adalah parameter. Ganti dengan 20231022, 20231023, dan 20231024, lalu lakukan pengisian ulang data untuk mendapatkan data dari ketiga partisi tersebut. Prosedur pengisian ulang data dijelaskan nanti.

    ds=20231022

    ds=20231023

    ds=20231024

    Sinkronisasi tabel item: rec_sln_demo_item_table_preprocess_all_feature_v1 (Klik untuk melihat detail)

    CREATE TABLE IF NOT EXISTS rec_sln_demo_item_table_preprocess_all_feature_v1
    like pai_online_project.rec_sln_demo_item_table_preprocess_all_feature_v1
    STORED AS ALIORC  
    LIFECYCLE 90;
    
    INSERT OVERWRITE TABLE rec_sln_demo_item_table_preprocess_all_feature_v1
    PARTITION(ds='${bdp.system.bizdate}')
    SELECT * except(ds)
    FROM pai_online_project.rec_sln_demo_item_table_preprocess_all_feature_v1
    WHERE ds = '${bdp.system.bizdate}';

    Dalam kode tersebut, ${bdp.system.bizdate} adalah parameter. Ganti dengan 20231022, 20231023, dan 20231024, lalu lakukan pengisian ulang data untuk mendapatkan data dari ketiga partisi tersebut. Prosedur pengisian ulang data dijelaskan nanti.

    ds=20231022

    ds=20231023

    ds=20231024

    Sinkronisasi tabel label: rec_sln_demo_label_table (Klik untuk melihat detail)

    CREATE TABLE IF NOT EXISTS rec_sln_demo_label_table
    like pai_online_project.rec_sln_demo_label_table
    STORED AS ALIORC  
    LIFECYCLE 90;
    
    INSERT OVERWRITE TABLE rec_sln_demo_label_table
    PARTITION(ds='${bdp.system.bizdate}')
    SELECT * except(ds)
    FROM pai_online_project.rec_sln_demo_label_table
    WHERE ds = '${bdp.system.bizdate}';

    Dalam kode tersebut, ${bdp.system.bizdate} adalah parameter. Ganti dengan 20231022, 20231023, dan 20231024, lalu lakukan pengisian ulang data untuk mendapatkan data dari ketiga partisi tersebut. Prosedur pengisian ulang data dijelaskan nanti.

    ds=20231022

    ds=20231023

    ds=20231024

  7. Lakukan pengisian ulang data untuk tabel yang telah disinkronkan.

    1. Di Konsol DataWorks atau , pada panel navigasi di sebelah kiri, klik Data Development & O&M > Operation Center. Pilih ruang kerja yang sesuai dari daftar drop-down, lalu klik Enter Operation Center.

    2. Di panel navigasi sebelah kiri, klik Auto Triggered Task O&M > Auto Triggered Task untuk membuka halaman Auto Triggered Task.

    3. Dalam daftar tugas yang dipicu otomatis, klik tugas target untuk membuka grafik asiklik terarahnya (DAG).

    4. Klik kanan node target dan pilih Data Backfill > Current Node. Pilih mode pengisian ulang data.

    5. Atur Data Timestamp ke rentang dari 2023-10-22 hingga 2023-10-24 dan klik Submit.

Setelah menyelesaikan langkah-langkah ini, Anda dapat melihat tabel pengguna rec_sln_demo_user_table_preprocess_all_feature_v1, tabel item rec_sln_demo_item_table_preprocess_all_feature_v1, dan tabel label rec_sln_demo_label_table di ruang kerja Anda. Operasi berikutnya menggunakan ketiga tabel ini sebagai contoh.

Konfigurasi sumber data

FeatureStore biasanya memerlukan dua sumber data: offline store (MaxCompute) dan online store (FeatureDB, Hologres, atau TableStore). Topik ini menggunakan MaxCompute dan FeatureDB sebagai contoh.

  1. Masuk ke Konsol PAI. Di panel navigasi sebelah kiri, klik Data Preparation > FeatureStore.

  2. Pilih ruang kerja dan klik Enter FeatureStore.

  3. Konfigurasikan sumber data MaxCompute.

    1. Di tab Data Source, klik Create Store. Pada halaman yang muncul, konfigurasikan parameter sumber data MaxCompute.

      Parameter

      Nilai yang disarankan

      Type

      MaxCompute

      Name

      Anda dapat menentukan nama kustom.

      MaxCompute Project Name

      Pilih proyek MaxCompute yang telah Anda buat.

  4. Konfigurasikan sumber data FeatureDB.

    1. Jika Anda telah membuat sumber data FeatureDB, Anda dapat melewati langkah ini.

    2. Di tab Store, klik Create Store. Pada halaman yang muncul, konfigurasikan parameter sumber data FeatureDB.

      Parameter

      Nilai yang disarankan

      Type

      FeatureDB (Jika ini pertama kalinya Anda menggunakannya, ikuti petunjuk di layar untuk mengaktifkan FeatureDB)

      Name

      Anda tidak dapat menyesuaikan nama. Nilai default-nya adalah feature_db.

      Username

      Tentukan username.

      Password

      Tentukan password.

      VPC high-speed connection (Optional)

      Setelah konfigurasi berhasil, gunakan FeatureStore SDK di VPC untuk langsung mengakses FeatureDB melalui koneksi PrivateLink. Ini meningkatkan performa baca-tulis data dan mengurangi latensi akses.

      VPC

      Pilih VPC tempat layanan online FeatureStore Anda berada.

      Zone and vSwitch

      Pilih zona dan vSwitch. Pastikan Anda memilih vSwitch untuk zona tempat mesin layanan online Anda berada. Kami merekomendasikan memilih vSwitch di minimal dua zona untuk memastikan ketersediaan tinggi dan stabilitas bisnis Anda.

    3. Klik Submit.

Instal FeatureStore Python SDK

  1. Masuk ke Konsol DataWorks.

  2. Di panel navigasi sebelah kiri, klik Resource Group.

  3. Di tab Exclusive Resource Groups, temukan grup sumber daya dengan Purpose yang diatur ke Data Scheduling. Klik ikon image yang sesuai dengan grup sumber daya jadwal tersebut dan pilih O&M Assistant.

  4. Klik Create Command. Pada halaman yang muncul, konfigurasikan parameter perintah.

    Parameter

    Nilai yang disarankan

    Command Name

    Masukkan nama kustom. Topik ini menggunakan install sebagai contoh.

    Command Type

    Manual Input (pip Command Cannot Be Used To Install Third-party Packages)

    Command Content

    /home/tops/bin/pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple https://feature-store-py.oss-cn-beijing.aliyuncs.com/package/feature_store_py-2.0.2-py3-none-any.whl

    Timeout

    Anda dapat mengatur waktu kustom.

  5. Klik OK untuk membuat perintah.

  6. Klik Command. Pada halaman yang muncul, klik Running.

  7. Klik tombol image untuk melihat status eksekusi terbaru. Ketika status berubah menjadi Successful, instalasi selesai.

Langkah 2: Buat dan daftarkan proyek FeatureStore

Anda dapat membuat dan mendaftarkan proyek FeatureStore menggunakan konsol atau SDK. Karena Anda memerlukan SDK untuk mengekspor set pelatihan dan menyinkronkan data nanti, Anda harus menginstal FeatureStore Python SDK meskipun melakukan konfigurasi awal di konsol.

Metode 1: Gunakan konsol

  1. Buat proyek FeatureStore

    1. Masuk ke Konsol PAI. Di panel navigasi sebelah kiri, klik Data Preparation > FeatureStore.

    2. Pilih ruang kerja dan klik Enter FeatureStore.

    3. Di tab Project, klik Create Project. Pada halaman yang muncul, konfigurasikan parameter proyek.

      Parameter

      Nilai yang disarankan

      Name

      Masukkan nama kustom. Topik ini menggunakan fs_demo sebagai contoh.

      Description

      Anda dapat memasukkan deskripsi kustom.

      Offline Store

      Pilih sumber data MaxCompute yang telah Anda buat.

      Online Store

      Pilih sumber data FeatureDB yang telah Anda buat.

    4. Klik Submit untuk membuat proyek FeatureStore.

  2. Buat entitas fitur

    1. Di halaman Projects FeatureStore, klik nama proyek untuk membuka halaman detailnya.

    2. Di tab Feature Entity, klik Create Feature Entity. Dalam kotak dialog yang muncul, konfigurasikan parameter untuk entitas fitur pengguna.

      Parameter

      Nilai yang disarankan

      Feature Entity Name

      Masukkan nama kustom. Topik ini menggunakan user sebagai contoh.

      Join Id

      user_id

    3. Klik Submit.

    4. Klik Create Feature Entity. Dalam kotak dialog yang muncul, konfigurasikan parameter untuk entitas fitur item.

      Parameter

      Nilai yang disarankan

      Feature Entity Name

      Masukkan nama kustom. Topik ini menggunakan item sebagai contoh.

      Join Id

      item_id

    5. Klik Submit untuk membuat entitas fitur.

  3. Buat tampilan fitur

    1. Di halaman detail proyek, di tab Feature View, klik Create Feature View. Dalam kotak dialog yang muncul, konfigurasikan parameter untuk tampilan fitur pengguna.

      Parameter

      Nilai yang disarankan

      View Name

      Masukkan nama kustom. Topik ini menggunakan user_table_preprocess_all_feature_v1 sebagai contoh.

      Type

      Offline

      Write Mode

      Use Offline Table

      Store

      Pilih sumber data MaxCompute yang telah Anda buat.

      Feature Table

      Pilih tabel pengguna yang telah Anda siapkan, rec_sln_demo_user_table_preprocess_all_feature_v1.

      Feature Field

      Pilih kunci utama user_id.

      Synchronize Online Feature Table

      Yes

      Feature Entity

      user

      Feature Lifecycle

      Pertahankan nilai default.

    2. Klik Submit.

    3. Klik Create Feature View. Dalam kotak dialog yang muncul, konfigurasikan parameter untuk tampilan fitur item.

      Parameter

      Nilai yang disarankan

      View Name

      Masukkan nama kustom. Topik ini menggunakan item_table_preprocess_all_feature_v1 sebagai contoh.

      Type

      Offline

      Write Mode

      Use Offline Table

      Store

      Pilih sumber data MaxCompute yang telah Anda buat.

      Feature Table

      Pilih tabel item yang telah Anda siapkan, rec_sln_demo_item_table_preprocess_all_feature_v1.

      Feature Field

      Pilih kunci utama item_id.

      Synchronize Online Feature Table

      Yes

      Feature Entity

      item

      Feature Lifecycle

      Pertahankan nilai default.

    4. Klik Submit untuk membuat tampilan fitur.

  4. Buat tabel label

    1. Di halaman detail proyek, di tab Label Tables, klik Create Label Table. Pada halaman yang muncul, konfigurasikan informasi tabel label.

      Parameter

      Nilai yang disarankan

      Store

      Pilih sumber data MaxCompute yang telah Anda buat.

      Table Name

      Pilih tabel label yang telah Anda siapkan, rec_sln_demo_label_table.

    2. Klik Submit.

  5. Buat fitur model

    1. Di halaman detail proyek, di tab Model Features, klik Create Model Feature. Pada halaman yang muncul, konfigurasikan parameter fitur model.

      Parameter

      Nilai yang disarankan

      Model Feature Name

      Kustom: Topik ini menggunakan fs_rank_v1 sebagai contoh.

      Select Feature

      Pilih tampilan fitur pengguna dan tampilan fitur item yang telah Anda buat.

      Label Table Name

      Pilih tabel label yang telah Anda buat, rec_sln_demo_label_table.

    2. Klik Submit untuk membuat fitur model.

    3. Di daftar fitur model, klik Details pada baris model yang telah Anda buat.

    4. Di tab Basic Information pada halaman Model Feature Details yang muncul, lihat Export Table Name. Namanya adalah fs_demo_fs_rank_v1_trainning_set. Tabel ini digunakan untuk generasi fitur dan pelatihan model selanjutnya.

  6. Instal FeatureStore Python SDK. Untuk informasi lebih lanjut, lihat Metode 2: Gunakan FeatureStore Python SDK.

Metode 2: Gunakan FeatureStore Python SDK

Untuk langkah-langkah spesifik menggunakan SDK, lihat DSW Gallery.

Langkah 3: Ekspor set pelatihan dan latih model

  1. Ekspor set pelatihan.

    1. Masuk ke Konsol DataWorks.

    2. Di panel navigasi sebelah kiri, klik Data Development & O&M > Data Development.

    3. Pilih ruang kerja DataWorks yang telah Anda buat dan klik Masuk ke Data Studio.

    4. Arahkan kursor ke Create, lalu pilih Create Node > MaxCompute > PyODPS 3. Pada halaman yang muncul, konfigurasikan parameter node.

      Parameter

      Nilai yang disarankan

      Engine Instance

      Pilih mesin MaxCompute yang telah Anda buat.

      Node Type

      PyODPS 3

      Path

      Business Flow/Workflow/MaxCompute

      Name

      Anda dapat menentukan nama kustom.

    5. Klik Confirm.

    6. Salin konten berikut ke skrip.

      from feature_store_py.fs_client import FeatureStoreClient
      from feature_store_py.fs_project import FeatureStoreProject
      from feature_store_py.fs_datasource import LabelInput, MaxComputeDataSource, TrainingSetOutput
      from feature_store_py.fs_features import FeatureSelector
      from feature_store_py.fs_config import LabelInputConfig, PartitionConfig, FeatureViewConfig
      from feature_store_py.fs_config import TrainSetOutputConfig, EASDeployConfig
      import datetime
      import sys
      from odps.accounts import StsAccount
      
      cur_day = args['dt']
      print('cur_day = ', cur_day)
      offset = datetime.timedelta(days=-1)
      pre_day = (datetime.datetime.strptime(cur_day, "%Y%m%d") + offset).strftime('%Y%m%d')
      print('pre_day = ', pre_day)
      
      
      access_key_id = o.account.access_id
      access_key_secret = o.account.secret_access_key
      sts_token = None
      endpoint = 'paifeaturestore-vpc.cn-beijing.aliyuncs.com'
      if isinstance(o.account, StsAccount):
          sts_token = o.account.sts_token
      fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=sts_token, endpoint=endpoint)
      cur_project_name = 'fs_demo'
      project = fs.get_project(cur_project_name)
      
      
      label_partitions = PartitionConfig(name = 'ds', value = cur_day)
      label_input_config = LabelInputConfig(partition_config=label_partitions)
      
      user_partitions = PartitionConfig(name = 'ds', value = pre_day)
      feature_view_user_config = FeatureViewConfig(name = 'user_table_preprocess_all_feature_v1',
      partition_config=user_partitions)
      
      item_partitions = PartitionConfig(name = 'ds', value = pre_day)
      feature_view_item_config = FeatureViewConfig(name = 'item_table_preprocess_all_feature_v1',
      partition_config=item_partitions)
      feature_view_config_list = [feature_view_user_config, feature_view_item_config]
      train_set_partitions = PartitionConfig(name = 'ds', value = cur_day)
      train_set_output_config = TrainSetOutputConfig(partition_config=train_set_partitions)
      
      
      model_name = 'fs_rank_v1'
      cur_model = project.get_model(model_name)
      task = cur_model.export_train_set(label_input_config, feature_view_config_list, train_set_output_config)
      task.wait()
      print("task_summary = ", task.task_summary)
    7. Di panel kanan, klik Scheduling Configuration. Pada halaman yang muncul, konfigurasikan parameter penjadwalan.

      Parameter

      Nilai yang disarankan

      Scheduling Parameters

      Parameter Name

      dt

      Parameter Value

      $[yyyymmdd-1]

      Resource Properties

      Scheduling Resource Group

      Pilih grup sumber daya eksklusif untuk penjadwalan yang telah Anda buat.

      Scheduling Dependencies

      Pilih tabel pengguna dan tabel item yang telah Anda buat.

    8. Setelah mengonfigurasi dan menguji node, simpan dan kirimkan konfigurasi node tersebut.

    9. Lakukan pengisian ulang data. Untuk informasi lebih lanjut, lihat Sinkronisasi tabel data.

  2. (Opsional) Lihat tugas ekspor.

    1. Pada halaman FeatureStore Projects, klik nama proyek untuk membuka halaman detailnya.

    2. Di tab Feature Entity, klik Jobs.

    3. Klik Details pada baris tugas target untuk melihat informasi dasar, konfigurasi eksekusi, dan log tugas.

  3. Latih model

    EasyRec adalah framework sistem rekomendasi open source yang terintegrasi secara mulus dengan FeatureStore untuk melatih, mengekspor, dan menerbitkan model. Gunakan tabel fs_demo_fs_rank_v1_trainning_set sebagai input untuk melatih model dengan EasyRec.

Untuk pertanyaan lebih lanjut tentang EasyRec, Anda dapat menghubungi kami dengan bergabung ke grup konsultasi Alibaba Cloud Platform for AI (PAI) di DingTalk (ID: 32260796).

Langkah 4: Terbitkan model

Setelah melatih dan mengekspor model, Anda perlu menerapkan dan menerbitkannya. FeatureStore menyediakan SDK Python, Go, C++, dan Java untuk terhubung dengan berbagai sistem, termasuk sistem rekomendasi yang dibangun sendiri. Untuk solusi spesifik, Anda dapat menghubungi kami melalui grup DingTalk kami (ID: 32260796). Jika Anda menggunakan produk Alibaba Cloud, produk tersebut terintegrasi secara mulus dengan FeatureStore untuk membantu Anda membangun dan meluncurkan sistem rekomendasi dengan cepat.

Topik ini menggunakan produk Alibaba Cloud sebagai contoh untuk menjelaskan cara menerbitkan model.

Langkah 1: Secara rutin Sinkronisasi Node Data

Sebelum menerbitkan model, Anda harus menjadwalkan node sinkronisasi data. Ini memastikan data secara rutin disinkronkan dari offline store ke online store untuk pembacaan real-time. Dalam contoh ini, Anda akan menjadwalkan sinkronisasi untuk tabel fitur pengguna dan tabel fitur item. Prosedurnya sebagai berikut.

  1. Masuk ke Konsol DataWorks.

  2. Di panel navigasi sebelah kiri, klik Data Development & O&M > Data Development.

  3. Pilih ruang kerja DataWorks yang telah Anda buat dan klik Masuk ke Data Studio.

  4. Jadwalkan sinkronisasi untuk tabel pengguna.

    1. Arahkan kursor ke Create, lalu pilih Create Node > MaxCompute > PyODPS 3.

    2. Salin konten berikut ke skrip untuk menjadwalkan sinkronisasi user_table_preprocess_all_feature_v1.

      Jadwalkan sinkronisasi untuk user_table_preprocess_all_feature_v1 (Klik untuk melihat detail)

      from feature_store_py.fs_client import FeatureStoreClient
      import datetime
      from feature_store_py.fs_datasource import MaxComputeDataSource
      import sys
      
      cur_day = args['dt']
      print('cur_day = ', cur_day)
      
      access_key_id = o.account.access_id
      access_key_secret = o.account.secret_access_key
      fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, region='cn-beijing')
      cur_project_name = 'fs_demo'
      project = fs.get_project(cur_project_name)
      
      feature_view_name = 'user_table_preprocess_all_feature_v1'
      batch_feature_view = project.get_feature_view(feature_view_name)
      task = batch_feature_view.publish_table(partitions={'ds':cur_day}, mode='Overwrite')
      task.wait()
      task.print_summary()
    3. Di panel kanan, klik Scheduling Configuration. Pada halaman yang muncul, konfigurasikan parameter penjadwalan.

      Parameter

      Nilai yang disarankan

      Scheduling Parameters

      Parameter Name

      dt

      Parameter Value

      $[yyyymmdd-1]

      Resource Properties

      Scheduling Resource Group

      Pilih grup sumber daya eksklusif untuk penjadwalan yang telah Anda buat.

      Scheduling Dependencies

      Pilih tabel pengguna yang telah Anda buat.

    4. Setelah mengonfigurasi dan menguji node, simpan dan kirimkan konfigurasi node tersebut.

    5. Lakukan pengisian ulang data. Untuk informasi lebih lanjut, lihat Sinkronisasi tabel data.

  5. Jadwalkan sinkronisasi untuk tabel item.

    1. Arahkan kursor ke Create, lalu pilih Create Node > MaxCompute > PyODPS 3. Pada halaman yang muncul, konfigurasikan parameter node.

    2. Klik Confirm.

    3. Salin konten berikut ke skrip.

      Jadwalkan sinkronisasi untuk item_table_preprocess_all_feature_v1 (Klik untuk melihat detail)

      from feature_store_py.fs_client import FeatureStoreClient
      import datetime
      from feature_store_py.fs_datasource import MaxComputeDataSource
      import sys
      
      cur_day = args['dt']
      print('cur_day = ', cur_day)
      
      access_key_id = o.account.access_id
      access_key_secret = o.account.secret_access_key
      fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, region='cn-beijing')
      cur_project_name = 'fs_demo'
      project = fs.get_project(cur_project_name)
      
      feature_view_name = 'item_table_preprocess_all_feature_v1'
      batch_feature_view = project.get_feature_view(feature_view_name)
      task = batch_feature_view.publish_table(partitions={'ds':cur_day}, mode='Overwrite')
      task.wait()
      task.print_summary()
    4. Di panel kanan, klik Scheduling Configuration. Pada halaman yang muncul, konfigurasikan parameter penjadwalan.

      Parameter

      Nilai yang disarankan

      Scheduling Parameters

      Parameter Name

      dt

      Parameter Value

      $[yyyymmdd-1]

      Resource Properties

      Scheduling Resource Group

      Pilih grup sumber daya eksklusif untuk penjadwalan yang telah Anda buat.

      Scheduling Dependencies

      Pilih tabel item yang telah Anda buat.

    5. Setelah mengonfigurasi dan menguji node, simpan dan kirimkan konfigurasi node tersebut.

    6. Lakukan pengisian ulang data. Untuk informasi lebih lanjut, lihat Sinkronisasi tabel data.

  6. Setelah sinkronisasi selesai, Anda dapat melihat fitur terbaru yang disinkronkan di Hologres.

Langkah 2: Buat dan terapkan layanan model EAS

Layanan model menerima permintaan dari mesin rekomendasi, memberi skor item yang sesuai berdasarkan permintaan tersebut, dan mengembalikan skornya. Prosesor EasyRec mencakup FeatureStore Cpp SDK untuk pengambilan fitur berlatensi rendah dan berkinerja tinggi. Prosesor mengambil fitur, mengirimkannya ke model untuk inferensi, lalu mengembalikan skor hasilnya ke mesin rekomendasi.

Prosedur penerapan layanan model sebagai berikut.

  1. Masuk ke Konsol DataWorks.

  2. Di panel navigasi sebelah kiri, klik Data Development & O&M > Data Development.

  3. Pilih ruang kerja DataWorks yang telah Anda buat dan klik Masuk ke Data Studio.

  4. Arahkan kursor ke Create, lalu pilih Create Node > MaxCompute > PyODPS 3.

  5. Salin konten berikut ke skrip.

    import os
    import json
    config = {
      "name": "fs_demo_v1",
      "metadata": {
        "cpu": 4,
        "rpc.max_queue_size": 256,
        "rpc.enable_jemalloc": 1,
        "gateway": "default",
        "memory": 16000
      },
      "model_path": f"oss://beijing0009/EasyRec/deploy/rec_sln_demo_dbmtl_v1/{args['ymd']}/export/final_with_fg",  # Path of the trained model. You can customize the path.
      "model_config": {
        "access_key_id": f'{o.account.access_id}',
        "access_key_secret": f'{o.account.secret_access_key}',
        "region": "cn-beijing",  # Replace this with the region where PAI is deployed. This topic uses cn-beijing as an example.
        "fs_project": "fs_demo",  # Replace this with the name of your FeatureStore project. This topic uses fs_demo as an example.
        "fs_model": "fs_rank_v1",  # Replace this with the name of your FeatureStore model feature. This topic uses fs_rank_v1 as an example.
        "fs_entity": "item",
        "load_feature_from_offlinestore": True,
        "steady_mode": True,
        "period": 2880,
        "outputs": "probs_is_click,y_ln_playtime,probs_is_praise",
        "fg_mode": "tf"
      },
      "processor": "easyrec-1.9",
      "processor_type": "cpp"
    }
    
    with open("echo.json", "w") as output_file:
        json.dump(config, output_file)
    
    # Run the following line for the first deployment
    os.system(f"/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-beijing.aliyuncs.com create echo.json")
    
    # Run the following line for scheduled updates
    # os.system(f"/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-beijing.aliyuncs.com modify fs_demo_v1 -s echo.json")
  6. Di panel kanan, klik Scheduling Configuration. Pada halaman yang muncul, konfigurasikan parameter penjadwalan.

    Parameter

    Nilai yang disarankan

    Scheduling Parameters

    Parameter Name

    dt

    Parameter Value

    $[yyyymmdd-1]

    Resource Properties

    Scheduling Resource Group

    Pilih grup sumber daya eksklusif untuk penjadwalan yang telah Anda buat.

    Scheduling Dependencies

    Pilih tugas pelatihan yang sesuai dan item_table_preprocess_all_feature_v1.

  7. Setelah mengonfigurasi dan menguji node, jalankannya dan periksa status penerapannya.

  8. Setelah penerapan selesai, beri komentar pada baris 34, hapus komentar pada baris 37, lalu kirimkan tugas untuk eksekusi terjadwal.

  9. (Opsional) Di tab Inference Service pada halaman Elastic Algorithm Service (EAS), Anda dapat melihat layanan yang telah diterapkan. Untuk informasi lebih lanjut, lihat Penerapan kustom.

  10. (Opsional) Jika Anda menggunakan sumber data yang hanya dapat diakses melalui VPC tertentu, seperti Hologres, Anda harus menghubungkan jaringan EAS ke VPC sumber data tersebut. Misalnya, saat menggunakan Hologres, Anda dapat menemukan VPC ID dan vSwitch ID di halaman Network Information instans Hologres. Di halaman layanan EAS, klik Configure High-Speed Connection di pojok kanan atas dan masukkan VPC ID dan vSwitch ID. Anda juga perlu menyediakan Security Group Name dengan memilih grup keamanan yang ada atau membuat yang baru. Pastikan grup keamanan mengizinkan trafik pada port yang diperlukan oleh Hologres. Karena koneksi Hologres biasanya menggunakan port 80, grup keamanan yang dipilih harus mengizinkan trafik pada port 80. Setelah memasukkan semua informasi, klik OK. Anda dapat menggunakan layanan setelah diperbarui.

Langkah 3: Konfigurasi PAI-REC

PAI-REC adalah layanan mesin rekomendasi yang mengintegrasikan FeatureStore Go SDK dan dapat terhubung secara mulus dengan FeatureStore dan EAS.

Prosedur konfigurasinya sebagai berikut.

  1. Konfigurasikan FeatureStoreConfs.

    • RegionId: Wilayah tempat produk Anda berada. Topik ini menggunakan cn-beijing sebagai contoh.

    • ProjectName: Nama proyek FeatureStore yang telah Anda buat, yaitu fs_demo.

        "FeatureStoreConfs": {
            "pairec-fs": {
                "RegionId": "cn-beijing",
                "AccessId": "${AccessKey}",
                "AccessKey": "${AccessSecret}",
                "ProjectName": "fs_demo"
            }
        },
  2. Konfigurasikan FeatureConfs.

    • FeatureStoreName: Harus sama dengan pengaturan pairec-fs di FeatureStoreConfs pada langkah sebelumnya.

    • FeatureStoreModelName: Nama fitur model yang telah Anda buat, yaitu fs_rank_v1.

    • FeatureStoreEntityName: Nama entitas fitur yang telah Anda buat, yaitu user. Ini menginstruksikan FeatureStore Go SDK di PAI-REC untuk mengambil fitur dari entitas pengguna dalam model fs_rank_v1.

        "FeatureConfs": {
            "recreation_rec": {
                "AsynLoadFeature": true,
                "FeatureLoadConfs": [
                    {
                        "FeatureDaoConf": {
                            "AdapterType": "featurestore",
                            "FeatureStoreName": "pairec-fs",
                            "FeatureKey": "user:uid",
                            "FeatureStoreModelName": "fs_rank_v1",
                            "FeatureStoreEntityName": "user",
                            "FeatureStore": "user"
                        }
                    }
                ]
            }
        },
  3. Konfigurasikan AlgoConfs.

    Konfigurasi ini memberi tahu PAI-REC layanan penskoran model EAS mana yang harus dihubungkan.

    • Name: Harus sama dengan nama layanan EAS yang telah diterapkan.

    • Url dan Auth: URL dan token yang disediakan oleh layanan EAS. Untuk mendapatkan informasi ini, klik nama layanan di halaman layanan model EAS. Kemudian, di tab Overview, di bagian Basic Information, klik View Endpoint Information. Untuk informasi konfigurasi lebih rinci, lihat FAQ EAS.

        "AlgoConfs": [
            {
                "Name": "fs_demo_v1",
                "Type": "EAS",
                "EasConf": {
                    "Processor": "EasyRec",
                    "Timeout": 300,
                    "ResponseFuncName": "easyrecMutValResponseFunc",
                    "Url": "eas_url_xxx",
                    "EndpointType": "DIRECT",
                    "Auth": "eas_token"
                }
            }
        ],