All Products
Search
Document Center

:Kirim log ke MaxCompute (legacy)

Last Updated:Jun 22, 2026

Anda dapat mengkueri log yang telah dikumpulkan 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

Pengiriman log ke MaxCompute (legacy) 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 membuat pekerjaan Pengiriman data.

  • Jangan mengirim data dari Logstore yang berbeda ke tabel MaxCompute yang sama. Dalam kasus langka, hal ini dapat menimpa partisi data di tabel MaxCompute.

  • Data dengan waktu log (sesuai dengan field terpesan time) yang lebih dari 14 hari tidak didukung untuk pengiriman dan akan dibuang secara otomatis selama proses.

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

  • Fitur ini hanya didukung di beberapa Wilayah. Di wilayah lain, gunakan DataWorks untuk menyinkronkan data. Untuk informasi selengkapnya, lihat Kirim data dari Simple Log Service menggunakan tampilan data.

    Wilayah proyek SLS

    Wilayah proyek MaxCompute

    China (Qingdao)

    China (Shanghai)

    China (Beijing)

    China (Beijing) dan China (Shanghai)

    China (Zhangjiakou)

    China (Shanghai)

    China (Hohhot)

    China (Shanghai)

    China (Hangzhou)

    China (Shanghai)

    China (Shanghai)

    China (Shanghai)

    China (Shenzhen)

    China (Shenzhen) dan China (Shanghai)

    China (Hong Kong)

    China (Shanghai)

Langkah 1: Buat pekerjaan Pengiriman data

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Proyek, klik proyek yang diinginkan.

    image

  3. Di tab Log Storage > Logstore, temukan Logstore target, klik ikon >, lalu pilih Data Processing > Export > MaxCompute.

  4. Klik Enable.

  5. Di kotak dialog Shipping Note, klik Ship.

  6. Di halaman Data Shipping to MaxCompute, konfigurasikan parameter untuk pekerjaan Pengiriman data, lalu klik OK.

    Tabel berikut menjelaskan parameter utama.

    Parameter

    Deskripsi

    Select Region

    Wilayah MaxCompute yang didukung bervariasi tergantung pada wilayah proyek Simple Log Service Anda. Untuk informasi selengkapnya, lihat Batasan.

    Shipping Job Name

    Nama pekerjaan Pengiriman data.

    MaxCompute Project Name

    Nama proyek MaxCompute.

    Table Name

    Nama tabel MaxCompute.

    MaxCompute Common Column

    Di kotak teks kiri, masukkan nama field log yang ingin Anda petakan ke kolom di tabel MaxCompute. Nama kolom tabel MaxCompute yang sesuai akan ditampilkan di sebelah kanan. Untuk informasi selengkapnya, lihat Pemetaan model data.

    Penting
    • Simple Log Service mengirimkan log ke MaxCompute dengan memetakan field ke kolom berdasarkan urutannya. Mengubah nama kolom MaxCompute tidak memengaruhi pengiriman data. Jika Anda mengubah skema tabel MaxCompute, Anda harus mengonfigurasi ulang pemetaan tersebut.

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

    • Jika log Anda berisi nama field duplikat (misalnya, dua field bernama request_time), Layanan Log mungkin menampilkan salah satunya sebagai request_time_0 di konsol. Nama asli yang disimpan tetap request_time. Gunakan nama field asli request_time saat mengonfigurasi aturan pengiriman.

      Dengan nama field duplikat, sistem hanya mengirimkan satu nilai secara acak. Hindari nama field duplikat agar hasilnya dapat diprediksi.

    MaxCompute Partition Key Column

    Di kotak teks kiri, masukkan nama field log yang ingin Anda petakan ke kolom partisi di tabel MaxCompute. Nama kolom partisi MaxCompute yang sesuai akan ditampilkan di sebelah kanan. Untuk informasi selengkapnya, lihat Pemetaan model data.

    Catatan

    Anda dapat mengonfigurasi maksimal tiga kolom partisi. Pilih field kustom untuk kolom partisi dengan hati-hati. Pastikan setiap pekerjaan Pengiriman data menghasilkan kurang dari 512 partisi. Jika tidak, pekerjaan Pengiriman data gagal menulis data ke tabel MaxCompute, dan sistem tidak dapat mengirimkan seluruh batch data tersebut.

    Partition Format

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

    Catatan
    • Format partisi waktu hanya berlaku jika Partition Field diatur ke __partition_time__.

    • Jangan gunakan format tanggal yang akurat hingga detik. Jika tidak, jumlah partisi dalam satu tabel dapat melebihi batas atas (60.000).

    • Jumlah partisi data dalam satu pekerjaan Pengiriman data tidak boleh melebihi 512.

    Shipping Interval

    Durasi pekerjaan Pengiriman data. Nilai default adalah 1800. Satuan: detik.

    Saat durasi pekerjaan Pengiriman data mencapai nilai yang ditentukan, sistem secara otomatis membuat pekerjaan Pengiriman data baru.

    Setelah Anda mengaktifkan Pengiriman data, data log biasanya tiba di MaxCompute dalam waktu satu jam setelah ditulis ke Logstore. Setelah data dikirim, Anda dapat melihatnya di MaxCompute. Untuk informasi selengkapnya, lihat Bagaimana cara memeriksa kelengkapan data yang dikirimkan dari Simple Log Service ke MaxCompute?.

Langkah 2: Lihat data di MaxCompute

Setelah data dikirim ke MaxCompute, Anda dapat melihatnya di MaxCompute. Kode berikut memberikan contoh. Anda dapat menggunakan Data IDE, alat pengembangan terintegrasi MaxCompute, untuk mengonsumsi data guna analisis BI visual 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 Pengiriman data

Jika Anda menghapus lalu membuat ulang tabel di DataWorks, otorisasi default menjadi tidak valid. Anda harus memberikan kembali izin Pengiriman ke Simple Log Service secara manual.

  1. Masuk ke Konsol DataWorks.

  2. Di pojok kiri atas halaman, pilih wilayah.

  3. Di panel navigasi kiri, klik Workspaces.

  4. Di halaman Workspaces, temukan ruang kerja target, arahkan kursor ke Shortcuts, lalu klik Data Development.

  5. Buat alur kerja.

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

    2. Di kotak dialog Create Workflow, konfigurasikan Service Name, lalu klik Create.

  6. Buat node.

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

    2. Di kotak dialog Create Node, konfigurasikan Name dan Path, lalu klik Submit.

      Atur Path ke alur kerja yang Anda buat di langkah 5.

  7. Di editor node yang telah dibuat, 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 Simple Log Service (nilai tetap yang tidak dapat diubah).

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

    Memberikan izin read dan list kepada pengguna pada proyek MaxCompute.

    Pada parameter ini, {ODPS_PROJECT_NAME} adalah nama proyek MaxCompute dan harus diganti dengan nilai aktual.

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

    Memberikan izin Describe, Alter, dan Update kepada pengguna.

    Di mana {ODPS_TABLE_NAME} adalah nama tabel MaxCompute. Ganti placeholder dengan nilai aktual.

    SHOW GRANTS FOR aliyun$shennong_open@aliyun.com;

    Memverifikasi apakah izin telah diberikan.

    Jika perintah mengembalikan output seperti berikut, izin telah diberikan.

    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 Shipping Management untuk mengubah pengaturan pekerjaan, menonaktifkan pekerjaan, melihat status dan pesan error pekerjaan, serta mencoba ulang pekerjaan yang gagal.

  • Ubah konfigurasi Pengiriman

    Klik Shipping Configuration untuk mengubah pengaturan pekerjaan. Untuk informasi selengkapnya tentang parameter, lihat Langkah 1: Buat pekerjaan Pengiriman data dalam topik ini. Untuk menambahkan kolom, ubah skema tabel tujuan di MaxCompute.

  • Nonaktifkan pekerjaan Pengiriman data

    Klik Disable untuk menonaktifkan pekerjaan Pengiriman data.

  • Lihat status dan pesan error pekerjaan Pengiriman data

    Anda dapat melihat semua pekerjaan Pengiriman data dalam dua hari terakhir beserta statusnya.

    • Status pekerjaan

      Status

      Deskripsi

      Success

      Pekerjaan Pengiriman data berjalan sesuai harapan.

      Running

      Pekerjaan Pengiriman data sedang berlangsung. Periksa kembali nanti untuk melihat hasilnya.

      Failed

      Pekerjaan Pengiriman data gagal karena error eksternal yang tidak dapat dicoba ulang. Pecahkan masalah berdasarkan pesan error dan coba ulang pekerjaan tersebut. Contoh: Skema tabel MaxCompute tidak sesuai dengan spesifikasi Simple Log Service, atau izin tidak mencukupi.

      Anda dapat mencoba ulang semua pekerjaan yang gagal dalam dua hari terakhir.

    • Pesan error

      Jika terjadi error dalam pekerjaan Pengiriman data, konsol akan menampilkan pesan error yang relevan.

      Pesan error

      Solusi

      The MaxCompute project does not exist

      Di konsol MaxCompute, periksa apakah proyek MaxCompute yang ditentukan ada. Jika proyek tidak ada, buatlah. Simple Log Service tidak mencoba ulang error ini secara otomatis. Setelah Anda menyelesaikan masalah, coba ulang pekerjaan secara manual.

      The MaxCompute table does not exist

      Di konsol MaxCompute, periksa apakah tabel MaxCompute yang ditentukan ada. Jika tabel tidak ada, buatlah. Simple Log Service tidak mencoba ulang error ini secara otomatis. Setelah Anda menyelesaikan masalah, coba ulang pekerjaan secara manual.

      Simple Log Service is not authorized to access the MaxCompute project or table

      Di konsol MaxCompute, periksa apakah Anda telah memberikan izin yang diperlukan kepada akun Simple Log Service. Jika belum, berikan izin tersebut lagi. Untuk informasi selengkapnya, lihat Berikan izin Pengiriman data. Simple Log Service tidak mencoba ulang error ini secara otomatis. Setelah Anda menyelesaikan masalah, coba ulang pekerjaan secara manual.

      MaxCompute error

      MaxCompute melaporkan error untuk pekerjaan Pengiriman data. Untuk informasi selengkapnya, lihat dokumentasi MaxCompute atau hubungi tim MaxCompute. Simple Log Service secara otomatis mencoba ulang pekerjaan yang gagal dalam dua hari terakhir.

      The shipped field configuration in Simple Log Service does not match the columns in the MaxCompute table

      Konfigurasi ulang pemetaan antara kolom tabel MaxCompute dan field log di Simple Log Service. Simple Log Service tidak mencoba ulang error ini secara otomatis. Setelah Anda menyelesaikan masalah, coba ulang pekerjaan secara manual.

    • Coba ulang pekerjaan

      Simple Log Service secara otomatis mencoba ulang pekerjaan yang gagal karena error internal. Untuk semua error lainnya, Anda harus mencoba ulang pekerjaan secara manual. Interval minimum percobaan ulang otomatis adalah 30 menit. Jika pekerjaan gagal, tunggu minimal 30 menit sebelum mencoba ulang.

      Jika Anda ingin segera mencoba ulang pekerjaan yang gagal, klik Retry All Failed Tasks atau coba ulang pekerjaan tertentu menggunakan API atau SDK.

Referensi

  • __partition_time__

    Menggunakan waktu log sebagai field partisi untuk memfilter data merupakan praktik umum di MaxCompute.

    • Format

      partition_time dihitung berdasarkan nilai field time di Simple Log Service dan dibulatkan ke bawah berdasarkan format waktu partisi. Untuk menghindari melebihi jumlah maksimum partisi yang diizinkan untuk satu tabel MaxCompute, nilai kolom partisi tanggal disejajarkan berdasarkan interval pengiriman.

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

      Interval pengiriman

      Format partisi waktu

      __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 partition_time untuk memfilter data dan menghindari pemindaian tabel penuh. Sebagai contoh, untuk mengkueri data log tanggal 26 Januari 2016, pernyataan kuerinya adalah sebagai berikut.

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

    Field __extract_others__ berisi string JSON. Sebagai contoh, untuk mendapatkan nilai user-agent, jalankan 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 mendapatkan izin menggunakan UDF standar ini. Untuk informasi selengkapnya, lihat UDF standar yang disediakan oleh MaxCompute.

    • Contoh ini hanya untuk referensi. Ikuti rekomendasi dari MaxCompute.

  • Pemetaan model data

    Saat mengirim log dari Simple Log Service ke MaxCompute, pemetaan model data terlibat. Bagian berikut menjelaskan batasan dan contoh terkait.

    • Tabel MaxCompute harus berisi minimal satu kolom data dan satu kolom partisi.

    • Field terpesan yang direkomendasikan untuk Simple Log Service adalah partition_time, source, dan topic.

    • Jumlah maksimum partisi dalam tabel MaxCompute adalah 60.000. Jika jumlah partisi melebihi batas ini, Anda tidak dapat lagi menulis data ke tabel tersebut.

    • Pekerjaan Pengiriman data dijalankan secara batch. Konfigurasikan kolom partisi dan tipenya dengan hati-hati untuk memastikan satu pekerjaan Pengiriman data memproses kurang dari 512 partisi data. Jika tidak, sistem tidak dapat menulis seluruh batch data ke MaxCompute.

    • Field terpesan sistem extract_others memiliki nama lama, extract_others, dan keduanya dapat digunakan secara bergantian.

    • Jangan mengatur nilai kolom partisi MaxCompute ke kata terpesan atau kata kunci MaxCompute. Untuk informasi selengkapnya, lihat Kata terpesan dan kata kunci.

    • Nilai kolom partisi MaxCompute tidak boleh kosong. Oleh karena itu, field yang dipetakan ke kolom partisi harus berupa field terpesan atau field log yang nilainya dapat dikonversi dari string ke tipe kolom partisi menggunakan operator cast. Proses pengiriman akan membuang log yang memiliki nilai kolom partisi kosong.

    • Di Simple Log Service, satu field log hanya dapat dipetakan ke satu kolom (kolom data atau kolom partisi) di tabel MaxCompute. Simple Log Service tidak mendukung redundansi field. Jika Anda menggunakan nama field yang sama untuk kedua kalinya, nilai yang dikirimkan adalah null. Jika nilai null muncul di kolom partisi, sistem tidak dapat mengirimkan data tersebut.

    Tabel berikut memberikan contoh pemetaan antara kolom data dan kolom partisi tabel MaxCompute dengan field Simple Log Service. Untuk informasi selengkapnya tentang field terpesan Simple Log Service, lihat Field terpesan.

    Kategori kolom

    Nama kolom MaxCompute

    Tipe (MaxCompute)

    Nama field SLS

    Tipe (SLS)

    Deskripsi

    Kolom data

    log_source

    string

    __source__

    Field terpesan

    Sumber log.

    log_time

    bigint

    __time__

    Field terpesan

    Stempel waktu UNIX log, yang menunjukkan jumlah detik sejak 00:00:00 pada 1 Januari 1970. Field ini sesuai dengan domain Time dalam model data.

    log_topic

    string

    __topic__

    Field terpesan

    Topik log.

    time

    string

    time

    Field konten log

    Field ini diurai dari log dan sesuai dengan pasangan kunci-nilai dalam model data. Dalam banyak kasus, nilai __time__ untuk data yang dikumpulkan oleh Logtail sama dengan nilai time.

    ip

    string

    ip

    Field konten log

    Field ini diurai dari log.

    thread

    string

    thread

    Field konten log

    Field ini diurai dari log.

    log_extract_others

    string

    __extract_others__

    Bidang yang dicadangkan

    Sistem melakukan serialisasi field log lain yang tidak dipetakan ke dalam satu string JSON tingkat tunggal berdasarkan pasangan kunci-nilai. JSON bersarang tidak didukung.

    Kolom partisi

    log_partition_time

    string

    __partition_time__

    Field terpesan

    Sistem menghitung dan menyejajarkan field ini berdasarkan field __time__ log. Granularitas partisi dapat dikonfigurasi.

    status

    string

    status

    Field konten log

    Nilai field ini harus dapat dienumerasi untuk memastikan jumlah partisi tidak melebihi batas atas.