All Products
Search
Document Center

:Kirim log ke MaxCompute (legacy)

Last Updated:Mar 26, 2026

Anda dapat mengkueri log secara real time di Konsol Simple Log Service dan mengirimkannya ke MaxCompute untuk analisis intelijen bisnis (BI) dan penambangan data. Topik ini menjelaskan cara mengirim log dari Simple Log Service ke MaxCompute.

Penting

Fitur ini telah dihentikan. Untuk mengirim log ke MaxCompute, lihat Kirim log ke MaxCompute (baru).

Prasyarat

Aktifkan MaxCompute dan buat tabel. Untuk informasi selengkapnya, lihat Buat tabel.

Batasan

  • Hanya Akun Alibaba Cloud yang dapat membuat pekerjaan pengiriman data. Pengguna RAM tidak dapat melakukan operasi ini.

  • Jangan kirim data dari Logstore yang berbeda ke tabel MaxCompute yang sama. Dalam kasus langka, hal ini dapat menyebabkan partisi data dalam tabel ditimpa.

  • Log yang berusia lebih dari 14 hari tidak dapat dikirim. Usia log ditentukan oleh field tereservasi __time__. Log tersebut akan dibuang secara otomatis selama proses pengiriman.

  • Saat Anda mengirim log dari Simple Log Service ke MaxCompute, tipe data DECIMAL, DATETIME, DATE, dan TIMESTAMP tidak didukung. Untuk informasi selengkapnya, lihat Tipe data (Versi 2.0).

  • Tabel berikut mencantumkan wilayah yang didukung. Jika proyek Simple Log Service Anda berada di wilayah yang tidak tercantum di bawah ini, gunakan DataWorks untuk sinkronisasi data. Untuk informasi selengkapnya, lihat Kirim data dari Simple Log Service menggunakan Data Integration.

    Wilayah proyek Simple Log Service

    Wilayah proyek MaxCompute

    China (Qingdao)

    China (Shanghai)

    China (Beijing)

    China (Beijing), China (Shanghai)

    China (Zhangjiakou)

    China (Shanghai)

    China (Hohhot)

    China (Shanghai)

    China (Hangzhou)

    China (Shanghai)

    China (Shanghai)

    China (Shanghai)

    China (Shenzhen)

    China (Shenzhen), China (Shanghai)

    China (Hong Kong)

    China (Shanghai)

Langkah 1: Buat pekerjaan pengiriman data

  1. Masuk ke Konsol Simple Log Service.

  2. Pada bagian Projects, klik proyek yang diinginkan.

    image

  3. Pada tab Log Storage > Logstores, klik ikon > di samping Logstore yang ingin dikelola, lalu pilih Data Transformation > Export > MaxCompute (Formerly ODPS).

  4. Klik Enable Shipping.

  5. Pada kotak dialog Shipping notes, klik Ship Directly.

  6. Pada halaman Ship data to MaxCompute, konfigurasikan aturan pengiriman lalu klik OK.

    Tabel berikut menjelaskan parameter utama.

    Parameter

    Deskripsi

    Region

    Wilayah tempat Anda dapat membuat proyek MaxCompute bervariasi tergantung pada wilayah proyek Simple Log Service Anda. Untuk informasi selengkapnya, lihat Batasan.

    Job name

    Nama pekerjaan pengiriman data.

    MaxCompute project

    Nama proyek MaxCompute.

    MaxCompute table

    Nama tabel MaxCompute.

    Column mapping

    Pada kotak teks kiri, masukkan nama field log untuk dipetakan ke kolom tabel MaxCompute. Pada kotak teks kanan, masukkan nama kolom tabel MaxCompute yang sesuai. Untuk informasi selengkapnya, lihat Pemetaan model data.

    Penting
    • Simple Log Service mengirim log ke MaxCompute dengan memetakan field log ke kolom tabel MaxCompute secara berurutan. Mengubah nama kolom di tabel MaxCompute tidak memengaruhi pengiriman data. Jika Anda mengubah skema tabel MaxCompute, Anda harus mengonfigurasi ulang pemetaan antara field log dan kolom tabel.

    • Nama field log pada kotak teks kiri tidak boleh mengandung tanda kutip ganda (""), tanda kutip tunggal (''), atau spasi.

    • Jika sebuah log berisi dua field dengan nama yang sama, seperti request_time, Layanan Log menampilkan salah satu field sebagai request_time_0. Kedua field tersebut tetap disimpan sebagai request_time di Layanan Log. Saat mengonfigurasi aturan pengiriman, Anda hanya dapat menggunakan nama field asli request_time.

      Jika sebuah log berisi field dengan nama yang sama, Layanan Log secara acak mengirim nilai salah satu field tersebut. Kami menyarankan agar Anda tidak menyertakan field dengan nama yang sama dalam log Anda.

    Partition key mapping

    Pada kotak teks kiri, masukkan nama field log untuk dipetakan ke kolom kunci partisi MaxCompute. Pada kotak teks kanan, masukkan nama kolom kunci partisi yang sesuai di tabel MaxCompute. Untuk informasi selengkapnya, lihat Pemetaan model data.

    Catatan

    Anda dapat mengonfigurasi hingga tiga kolom kunci partisi. Berhati-hatilah saat menggunakan field kustom untuk kunci partisi. Setiap pekerjaan pengiriman data harus menghasilkan kurang dari 512 partisi. Jika tidak, pekerjaan gagal menulis data ke tabel MaxCompute, dan seluruh batch data tidak dapat dikirim.

    Time partition format

    Format partisi waktu. Untuk contoh konfigurasi dan detail parameter, lihat Contoh dan Java SimpleDateFormat.

    Catatan
    • Format partisi waktu hanya berlaku ketika partition field diatur ke__partition_time__.

    • Jangan gunakan format tanggal dengan presisi tingkat detik, karena hal ini dapat dengan mudah menyebabkan jumlah partisi dalam tabel melebihi batas 60.000.

    • Jumlah partisi data dalam satu pekerjaan pengiriman data harus kurang dari 512.

    Import interval

    Interval, dalam detik, untuk membuat pekerjaan pengiriman data baru. Nilai default adalah 1800.

    Saat interval ini berakhir, pekerjaan pengiriman data baru akan dibuat secara otomatis.

    Setelah pengiriman data diaktifkan, log biasanya diimpor ke MaxCompute dalam waktu satu jam setelah ditulis ke Logstore. Setelah impor berhasil, Anda dapat melihat data log di MaxCompute. Untuk informasi selengkapnya, lihat Bagaimana cara memeriksa integritas data setelah saya mengirim log ke MaxCompute?.

Langkah 2: Lihat data di MaxCompute

Setelah data dikirim, Anda dapat melihatnya di MaxCompute. Output berikut menunjukkan contoh data. Anda dapat menggunakan Data IDE, tool pengembangan data besar yang terintegrasi dengan MaxCompute, untuk mengonsumsi data guna analisis BI dan penambangan data.

| log_source | log_time | log_topic | time | ip | thread | log_extract_others | log_partition_time | status |
+------------+------------+-----------+-----------+-----------+-----------+------------------+--------------------+-----------+
| 10.10.*.* | 1453899013 | | 27/Jan/2016:20:50:13 +0800 | 10.10.*.* | 414579208 | {"url":"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1","user-agent":"aliyun-sdk-java"} | 2016_01_27_20_50 | 200 |
+------------+------------+-----------+-----------+-----------+-----------+------------------+--------------------+-----------+

Berikan izin kepada Simple Log Service

Jika Anda menghapus lalu membuat ulang tabel di DataWorks, otorisasi untuk Simple Log Service dicabut. Anda harus memberikan izin yang diperlukan secara manual lagi.

  1. Masuk ke Konsol DataWorks.

  2. Di pojok kiri atas halaman, pilih wilayah.

  3. Pada panel navigasi sebelah kiri, klik Workspaces.

  4. Pada halaman Workspaces, arahkan kursor ke bagian Shortcuts untuk ruang kerja target, lalu klik Data Development.

  5. Buat alur kerja.

    1. Pada halaman Data Development, pilih Create > Create Workflow.

    2. Pada kotak dialog Create Workflow, konfigurasikan parameter Workflow Name lalu klik Create.

  6. Buat node.

    1. Pada halaman Data Development, pilih Create > Create Node > ODPS SQL.

    2. Pada kotak dialog Create Node, konfigurasikan parameter Name dan Path, lalu klik Commit.

      Atur parameter Path ke alur kerja yang Anda buat pada langkah 5.

  7. Pada editor node, jalankan perintah berikut untuk memberikan izin yang diperlukan.

    授权

    Perintah

    Deskripsi

    ADD USER aliyun$shennong_open@aliyun.com;

    Menambahkan pengguna ke proyek MaxCompute.

    shennong_open@aliyun.com adalah akun tetap untuk Simple Log Service dan tidak dapat diubah.

    GRANT Read, List ON PROJECT {ODPS_PROJECT_NAME} TO USER aliyun$shennong_open@aliyun.com;

    Memberikan izin kepada pengguna untuk membaca dan melihat daftar sumber daya dalam proyek MaxCompute.

    {ODPS_PROJECT_NAME} adalah nama proyek MaxCompute. Ganti placeholder ini dengan nama proyek yang sebenarnya.

    GRANT Describe, Alter, Update ON TABLE {ODPS_TABLE_NAME} TO USER aliyun$shennong_open@aliyun.com;

    Memberikan izin Describe, Alter, dan Update kepada pengguna.

    {ODPS_TABLE_NAME} adalah nama tabel MaxCompute. Ganti placeholder ini dengan nama tabel yang sebenarnya.

    SHOW GRANTS FOR aliyun$shennong_open@aliyun.com;

    Memverifikasi apakah otorisasi berhasil.

    Jika perintah mengembalikan output berikut, otorisasi berhasil.

    A       projects/{ODPS_PROJECT_NAME}: List | Read
    A       projects/{ODPS_PROJECT_NAME}/tables/{ODPS_TABLE_NAME}: Describe | Alter | Update

Operasi terkait

Setelah membuat pekerjaan pengiriman data, Anda dapat membuka halaman MaxCompute (formerly ODPS) shipping management untuk memodifikasi konfigurasi pengiriman, menonaktifkan pekerjaan, melihat status pekerjaan dan pesan error, serta mencoba ulang pekerjaan yang gagal.

  • Modifikasi konfigurasi pengiriman

    Klik Shipping Configuration dan modifikasi konfigurasi pengiriman. Untuk informasi selengkapnya tentang parameter, lihat Langkah 1: Buat pekerjaan pengiriman data. Jika ingin menambahkan kolom baru, Anda dapat memodifikasi informasi kolom tabel tujuan di MaxCompute.

  • Nonaktifkan pekerjaan pengiriman data

    Klik Disable shipping untuk menonaktifkan pekerjaan pengiriman data.

  • Lihat status dan pesan error pekerjaan pengiriman data

    Simple Log Service memungkinkan Anda melihat status semua pekerjaan pengiriman data yang telah dijalankan dalam dua hari terakhir.

    • Status pekerjaan

      Status

      Deskripsi

      Success

      Pekerjaan pengiriman data berhasil diselesaikan.

      Running

      Pekerjaan pengiriman data sedang berlangsung. Periksa statusnya nanti.

      Failed

      Pekerjaan gagal karena error yang mencegah percobaan ulang otomatis, seperti skema tabel MaxCompute yang tidak kompatibel atau izin yang tidak mencukupi.

      Simple Log Service memungkinkan Anda mencoba ulang semua pekerjaan yang gagal dalam dua hari terakhir.

    • Pesan error

      Jika pekerjaan pengiriman data gagal, pesan error yang sesuai akan ditampilkan di konsol.

      Pesan error

      Solusi yang direkomendasikan

      Proyek MaxCompute tidak ada.

      Di konsol MaxCompute, periksa apakah proyek MaxCompute yang dikonfigurasi ada. Jika tidak ada, buatlah. Simple Log Service tidak mencoba ulang otomatis pekerjaan yang gagal karena error ini. Setelah masalah teratasi, Anda harus mencoba ulang pekerjaan secara manual.

      Tabel MaxCompute tidak ada.

      Di konsol MaxCompute, periksa apakah tabel MaxCompute yang dikonfigurasi ada. Jika tidak ada, buatlah. Simple Log Service tidak mencoba ulang otomatis pekerjaan yang gagal karena error ini. Setelah masalah teratasi, Anda harus mencoba ulang pekerjaan secara manual.

      Simple Log Service tidak diotorisasi untuk mengakses proyek atau tabel MaxCompute.

      Di konsol MaxCompute, periksa apakah izin telah diberikan kepada akun Simple Log Service. Jika belum, berikan izin tersebut lagi. Untuk informasi selengkapnya, lihat Berikan izin kepada Simple Log Service. Simple Log Service tidak mencoba ulang otomatis pekerjaan yang gagal karena error ini. Setelah masalah teratasi, Anda harus mencoba ulang pekerjaan secara manual.

      Terjadi error MaxCompute.

      Pesan error menunjukkan bahwa pekerjaan pengiriman data menerima error dari MaxCompute. Untuk informasi selengkapnya, lihat dokumentasi MaxCompute yang relevan atau hubungi tim MaxCompute untuk bantuan. Simple Log Service mencoba ulang otomatis pekerjaan yang gagal dalam dua hari terakhir.

      Konfigurasi field impor di Simple Log Service tidak sesuai dengan kolom tabel MaxCompute.

      Konfigurasi ulang pemetaan antara kolom tabel MaxCompute dan field log Simple Log Service. Anda harus mencoba ulang pekerjaan secara manual setelah masalah teratasi.

    • Coba ulang pekerjaan

      Untuk error internal, Simple Log Service mendukung percobaan ulang otomatis berdasarkan kebijakan yang telah ditentukan. Dalam kasus lain, Anda harus mencoba ulang pekerjaan secara manual. Interval minimum untuk percobaan ulang otomatis adalah 30 menit. Jika pekerjaan gagal, tunggu 30 menit sebelum mencoba ulang. Simple Log Service mendukung percobaan ulang semua pekerjaan yang gagal dalam dua hari terakhir.

      Jika Anda perlu segera mencoba ulang pekerjaan yang gagal, klik Retry all failed tasks. Anda juga dapat mencoba ulang pekerjaan tertentu menggunakan API atau SDK.

Referensi

  • __partition_time__

    Metode umum untuk memfilter data di MaxCompute adalah menggunakan waktu log sebagai field partisi, yang memungkinkan Anda memfilter data berdasarkan waktu.

    • Format

      Nilai field __partition_time__ dihitung berdasarkan nilai field __time__ di Simple Log Service dan dibulatkan ke bawah berdasarkan format waktu partisi. Nilai kolom kunci partisi tanggal disejajarkan berdasarkan interval pengiriman untuk mencegah jumlah partisi dalam satu tabel melebihi batas MaxCompute.

      Sebagai contoh, jika waktu log di Simple Log Service adalah 27/Jan/2016 20:50:13 +0800, Simple Log Service menghitung nilai field tereservasi __time__ sebagai stempel waktu UNIX 1453899013. Tabel berikut menjelaskan nilai kolom kunci partisi waktu untuk konfigurasi yang berbeda.

      Interval pengiriman

      Format waktu partisi

      __partition_time__

      1800

      yyyy_MM_dd_HH_mm_00

      2016_01_27_20_30_00

      1800

      yyyy-MM-dd HH:mm

      2016-01-27 20:30

      1800

      yyyyMMdd

      20160127

      3600

      yyyyMMddHHmm

      201601272000

      3600

      yyyy_MM_dd_HH

      2016_01_27_20

    • Penggunaan

      Anda dapat menggunakan field __partition_time__ untuk memfilter data, yang membantu menghindari pemindaian seluruh tabel. Sebagai contoh, untuk mengkueri data log tanggal 26 Januari 2016, Anda dapat menggunakan pernyataan kueri berikut.

      select * from {ODPS_TABLE_NAME} where log_partition_time >= "2015_01_26" and log_partition_time < "2016_01_27";
  • __extract_others__

    __extract_others__ adalah string JSON. Sebagai contoh, untuk mendapatkan konten user-agent dari field ini, Anda dapat menggunakan pernyataan kueri berikut.

    select get_json_object(sls_extract_others, "$.user-agent") from {ODPS_TABLE_NAME} limit 10;
    Catatan
    • get_json_object adalah UDF standar yang disediakan oleh MaxCompute. Hubungi tim MaxCompute untuk meminta izin menggunakan UDF standar ini. Untuk informasi selengkapnya, lihat UDF standar yang disediakan MaxCompute.

    • Contoh ini hanya untuk referensi. Dokumentasi resmi MaxCompute memiliki prioritas lebih tinggi.

  • Pemetaan model data

    Saat Anda mengirim log dari Simple Log Service ke MaxCompute, terlibat pemetaan model data antara kedua layanan tersebut. Bagian berikut memberikan catatan dan contoh.

    • Tabel MaxCompute harus berisi setidaknya satu kolom data dan satu kolom kunci partisi.

    • Kami menyarankan Anda menggunakan field tereservasi Simple Log Service berikut: __partition_time__, __source__, dan __topic__.

    • Jumlah maksimum partisi dalam tabel MaxCompute adalah 60.000. Jika batas ini terlampaui, tidak ada data tambahan yang dapat ditulis ke tabel tersebut.

    • Pekerjaan pengiriman data dijalankan secara batch. Berhati-hatilah saat menetapkan kolom kunci partisi dan tipe datanya. Pastikan jumlah partisi data yang diproses dalam satu pekerjaan pengiriman data kurang dari 512. Jika tidak, seluruh batch data tidak dapat ditulis ke MaxCompute.

    • Field tereservasi sistem __extract_others__ memiliki nama lama _extract_others_ yang juga didukung.

    • Nilai kolom kunci partisi MaxCompute tidak boleh berupa kata tereservasi atau kata kunci MaxCompute. Untuk informasi selengkapnya, lihat Kata tereservasi dan kata kunci.

    • Nilai kolom kunci partisi MaxCompute tidak boleh kosong. Oleh karena itu, field yang dipetakan ke kolom kunci partisi harus berupa field tereservasi atau field log. Anda harus dapat menggunakan operator CAST untuk mengonversi nilai field bertipe string ke tipe data kolom kunci partisi yang sesuai. Log yang menghasilkan nilai kunci partisi kosong akan dibuang selama pengiriman.

    • Di Simple Log Service, satu field log hanya dapat dipetakan ke satu kolom tabel MaxCompute (kolom data atau kolom kunci partisi). Jika Anda memetakan field log yang sama ke kolom kedua, nilainya di kolom kedua tersebut akan menjadi null. Jika nilai null muncul di kolom kunci partisi, data tidak dapat dikirim.

    Tabel berikut memberikan contoh hubungan pemetaan antara kolom MaxCompute dan field Simple Log Service. Untuk informasi selengkapnya tentang field tereservasi Simple Log Service, lihat Field tereservasi.

    Tipe kolom MaxCompute

    Kolom MaxCompute

    Tipe MaxCompute

    Field SLS

    Tipe field SLS

    Deskripsi

    Kolom data

    log_source

    string

    __source__

    Field tereservasi

    Sumber log.

    log_time

    bigint

    __time__

    Field tereservasi

    Stempel waktu UNIX log, yaitu jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970. Field ini sesuai dengan field Time dalam model data.

    log_topic

    string

    __topic__

    Field tereservasi

    Topik log.

    time

    string

    time

    Field konten log

    Untuk data yang dikumpulkan oleh Logtail, nilai field konten time sering kali identik dengan nilai field tereservasi __time__.

    ip

    string

    ip

    Field konten log

    Field ini diurai dari konten log.

    thread

    string

    thread

    Field konten log

    Field ini diurai dari konten log.

    log_extract_others

    string

    __extract_others__

    Field tereservasi

    Field log lain yang tidak dipetakan dalam konfigurasi diserialisasi menjadi string JSON pasangan kunci-nilai. String JSON ini memiliki struktur tingkat tunggal dan tidak mendukung objek JSON bersarang di dalam field-nya.

    Kolom kunci partisi

    log_partition_time

    string

    __partition_time__

    Field tereservasi

    Field ini dihitung dengan menyelaraskan nilai field__time__ log. Granularitas partisi dapat dikonfigurasi.

    status

    string

    status

    Field konten log

    Field ini diurai dari konten log. Nilai field ini mendukung enumerasi untuk memastikan jumlah partisi tidak melebihi batas atas.