全部产品
Search
文档中心

Simple Log Service:Kesalahan umum saat mengkueri dan menganalisis log

更新时间:Jul 06, 2025

Topik ini menjelaskan beberapa kesalahan umum yang dilaporkan saat mengkueri dan menganalisis log, serta memberikan solusi untuk mengatasinya.

Logstore * tidak ada

Logstore tanpa konfigurasi indeks

Terlalu banyak kueri dalam antrian

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan

    Terdapat konflik antara alias dari bidang indeks di logstore yang ingin Anda kueri. SQL tidak dapat menentukan kolom spesifik yang ingin Anda analisis.

  • Penjelasan

    Kuota konkurensi SQL Layanan Log Sederhana diisolasi pada tingkat proyek pengguna. Beberapa permintaan SQL dalam proyek yang sama dikirim ke server Layanan Log Sederhana. Saat sebuah SQL sedang dieksekusi, ia mengambil kuota konkurensi SQL. Setelah eksekusi SQL selesai, kuota konkurensi SQL yang dialokasikan dikembalikan. Kuota konkurensi SQL proyek pengguna adalah 15 untuk mode SQL normal dan 150 untuk mode SQL ditingkatkan.

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab

    • Jumlah permintaan konkuren terlalu tinggi.

    • Latensi permintaan SQL tunggal tinggi.

    • Logika ulang coba permintaan SQL dalam kode bisnis Anda menyebabkan banyak ulang coba loop.

  • Solusi

    • Kurangi jumlah permintaan.

    • Optimalkan SQL untuk mengurangi latensi eksekusi SQL tunggal.

    • Tambahkan waktu tunggu acak ke logika ulang coba untuk menghindari ulang coba loop berulang yang tidak valid, yang meningkatkan tekanan permintaan konkuren tambahan.

Konflik kolom duplikat

Ditolak oleh sts atau ram, aksi:*

Anda menggunakan sql bersarang, harap tentukan FROM LOGSTORE dalam sql paling dalam

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan

    Anda menggunakan subkueri bersarang dalam SQL. Harap tentukan nama tabel dalam subkueri paling dalam.

  • Penjelasan

    Untuk menyederhanakan kueri pengguna, Layanan Log Sederhana menentukan logstore saat ini sebagai tabel FROM secara default saat melakukan kueri tabel tunggal. Misalkan nama logstore Anda saat ini adalah test, maka tiga pernyataan kueri berikut ini sinonim:

    • Pernyataan 1: Anda dapat menghilangkan klausa FROM.

    • Pernyataan 2: Anda dapat menggunakan FROM log, yang menentukan logstore saat ini.

    • Pernyataan 3: Anda dapat secara eksplisit menentukan tabel yang ingin Anda kueri sebagai logstore test.

    Namun, saat Anda melakukan kueri kompleks yang mencakup subkueri, Layanan Log Sederhana tidak dapat menyimpulkan tabel target untuk setiap subkueri. Oleh karena itu, Anda harus secara manual menentukan klausa FROM dalam subkueri.

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi

    • Jika Anda ingin mengkueri logstore saat ini, Anda dapat langsung menggunakan string konstan "FROM log" untuk menentukan tabel FROM sebagai logstore saat ini.

    • Sebagai alternatif, Anda dapat secara eksplisit menentukan nama logstore target yang ingin Anda kueri.

Nilai IN dan item daftar harus memiliki tipe yang sama: varchar

Parameter tak terduga (bigint) untuk fungsi url_decode. Diharapkan: url_decode(varchar(x))

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan

    Terdapat kesalahan sintaksis dalam pernyataan SQL. Tipe parameter input salah saat menggunakan fungsi SQL.

  • Kemungkinan Penyebab

    • Fungsi memerlukan parameter bertipe string, tetapi tipe parameter input adalah bigint.

    • Jenis kesalahan ini dapat terjadi pada fungsi yang berbeda, tidak hanya url_decode, tetapi juga regexp_like. Penyebab kesalahan sama: tipe parameter input salah saat menggunakan fungsi SQL.

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi

    Konversikan parameter input menjadi tipe string sebelum melewatkan ke fungsi url_decode. Anda dapat menggunakan fungsi CAST atau CONVERT untuk mengonversi parameter bertipe bigint menjadi parameter bertipe string, atau langsung membungkus parameter dalam tanda kutip saat memanggil fungsi untuk mengonversinya menjadi tipe string. Contohnya:

    SELECT url_decode(CAST(bigint_param AS varchar(20))) -- Gunakan fungsi CAST untuk mengonversi parameter bertipe bigint menjadi tipe string
    SELECT url_decode('123456789') -- Jika parameter adalah literal, Anda dapat langsung membungkus parameter untuk mengonversinya menjadi

Target operator ulang tidak ditentukan

Nilai NULL tidak diizinkan di sisi probe SemiJoin. Lihat rencana kueri untuk detailnya.

  • Deskripsi Kesalahan

    Nilai NULL tidak diizinkan di sisi probe SemiJoin.

  • Kemungkinan Penyebab

    Dalam SemiJoin, nilai non-NULL tidak boleh muncul di sisi probe. Jika tidak, SemiJoin tidak dapat dieksekusi dengan benar. Hal ini mungkin disebabkan oleh baris rekaman dalam tabel probe atau subkueri yang mengembalikan nilai NULL selama runtime kueri.

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi

    Periksa rencana kueri untuk menentukan tabel mana yang mengembalikan nilai NULL. Jika subkueri terlibat, pastikan set hasil yang dikembalikan oleh subkueri tidak mengandung nilai NULL. Jika masalah disebabkan oleh nilai NULL dalam tabel eksternal, pertimbangkan menggunakan INNER JOIN alih-alih SemiJoin, atau gunakan fungsi COALESCE atau ISNULL untuk menangani nilai NULL.

Indeks array di luar batas

Ekspresi "*" bukan tipe ROW

Pemisah nilai-kunci harus muncul tepat sekali di setiap entri. Masukan buruk: '*'

Pola memiliki # grup. tidak dapat mengakses grup

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi kesalahan

    Ekspresi reguler tidak dapat mengakses grup yang ditentukan.

  • Kemungkinan Penyebab

    Ekspresi reguler cocok dengan 0 grup, sehingga membuat grup pertama tidak dapat diakses. Hal ini dapat terjadi jika sintaksis pengelompokan digunakan dalam ekspresi reguler tetapi tidak ada grup yang didefinisikan. Dalam hal ini, grup tidak dapat diakses karena tidak ada.

  • Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi

    Periksa sintaksis pengelompokan dalam ekspresi reguler dan pastikan setidaknya satu grup didefinisikan dalam pola. Anda dapat menggunakan tanda kurung () untuk mendefinisikan grup. Sebagai contoh, untuk mencocokkan alamat email dalam string dan memisahkan nama pengguna dan nama domain ke dalam grup, gunakan ekspresi reguler berikut: (w+)@(w+.w+). Dalam contoh ini, ada dua grup, sehingga Anda dapat menggunakan group(1) dan group(2) untuk mengakses nilainya. Jika pengelompokan tidak diperlukan, gunakan grup non-penangkap, seperti (?:w+)@(?:w+.w+). Jika masalah tetap ada, gunakan pemeriksa regex online untuk debugging dan verifikasi pola sebelum menggunakannya dalam SQL.

Ts_compare harus mengelompokkan berdasarkan timestamp, pengelompokan Anda berdasarkan tipe adalah :bigint

Waktu # di luar rentang waktu yang ditentukan

Perbandingan ROW tidak didukung untuk bidang dengan elemen null

Kunci yang ditentukan tidak ada.

Membaca data dengan paginasi hanya diperbolehkan membaca maksimum

Tidak dapat memilih operator kandidat terbaik. Penambahan tipe eksplisit harus dilakukan.

Fungsi * tidak terdaftar

Indeks array SQL dimulai dari 1

Indeks harus lebih besar dari nol

Semua operand COALESCE harus memiliki tipe yang sama: *

Subkueri mengembalikan beberapa kolom belum didukung

Klausa GROUP BY tidak boleh berisi agregasi atau fungsi jendela: *

Klausa WHERE tidak boleh berisi agregasi atau fungsi jendela: *

Sisi kiri ekspresi LIKE harus dievaluasi ke varchar (aktual: bigint)

Sisi kiri ekspresi logis harus dievaluasi ke boolean (aktual: varchar)

Sisi kanan ekspresi logis harus dievaluasi ke boolean (aktual: bigint)

JSON path tidak valid: ...

Jumlah maksimum distinct adalah:10, silakan gunakan approx_distinct

Kunci tidak ada dalam peta

Baris 1:44: kolom 'XXX' tidak dapat diselesaikan; harap tambahkan kolom dalam atribut indeks

  • Penyebab

    Tidak ada indeks yang dikonfigurasi untuk bidang XXX.

  • Solusi

    Konfigurasikan indeks untuk bidang target dan aktifkan fitur analisis log. Untuk informasi lebih lanjut, lihat Buat Indeks.

ErrorType:QueryParseError.ErrorMessage:kesalahan sintaks posisi kesalahan dari kolom:10 ke kolom:11, kesalahan dekat < : >

  • Penyebab

    Sintaksis pernyataan kueri tidak valid. Posisi sintaksis yang tidak valid berada di dekat titik dua :.

  • Solusi

    Modifikasi pernyataan kueri dan jalankan ulang.

Kolom 'XXX' tidak ada dalam klausa GROUP BY; harap tambahkan kolom dalam atribut indeks

  • Penyebab

    Dalam pernyataan SQL, jika Anda menggunakan klausa GROUP BY, sistem hanya dapat mengkueri kolom yang termasuk dalam klausa GROUP BY atau melakukan agregasi pada kolom apa pun saat sistem menjalankan pernyataan SELECT. Anda tidak dapat mengkueri kolom yang tidak termasuk dalam klausa GROUP BY. Sebagai contoh, * | SELECT status, request_time, COUNT(*) AS PV GROUP BY status adalah pernyataan analisis yang tidak valid karena request_time bukan kolom yang termasuk dalam klausa GROUP BY.

  • Solusi

    Ubah pernyataan kueri dan jalankan pernyataan kueri baru. Sebagai contoh, pernyataan yang benar untuk contoh di atas adalah * | SELECT status, arbitrary(request_time), count(*) AS PV GROUP BY status. Untuk informasi lebih lanjut, lihat Klausa GROUP BY.

Kueri SQL harus mengikuti kueri pencarian, silakan baca dokumen sintaksis

  • Penyebab

    Hanya pernyataan analisis yang ditentukan. Dalam Layanan Log Sederhana, pernyataan analisis harus digunakan bersama dengan pernyataan kueri. Formatnya adalah pernyataan kueri | pernyataan analisis.

  • Solusi

    Tambahkan pernyataan kueri sebelum pernyataan analisis. Sebagai contoh, * | SELECT status, count(*) AS PV GROUP BY status. Untuk informasi lebih lanjut, lihat Sintaksis.

Baris 1:10: pengenal tidak boleh dimulai dengan digit; kelilingi pengenal dengan tanda kutip ganda

  • Penyebab

    Sintaksis pernyataan analisis tidak valid karena nama kolom atau variabel yang ditentukan dalam pernyataan tersebut dimulai dengan digit. Menurut standar SQL, nama kolom dapat berisi huruf, angka, dan garis bawah _, serta harus dimulai dengan huruf.

  • Solusi

    Ubah alias yang digunakan. Untuk informasi lebih lanjut, lihat Alias Kolom.

Baris 1:9: input ekstra ‘’ yang diharapkan

  • Penyebab:

    Tanda kutip Cina tambahan terdapat dalam pernyataan kueri dan analisis.

  • Solusi:

    Perbaiki pernyataan kueri dan jalankan ulang.

kunci (XXX) tidak dikonfigurasi sebagai konfigurasi nilai-kunci, jika simbol : ada dalam log Anda, harap bungkus : dengan tanda kutip "

  • Penyebab

    Tidak ada indeks bidang yang dikonfigurasi untuk bidang XXX, atau bidang yang ditentukan mengandung karakter khusus seperti spasi dan tidak dibungkus dalam tanda kutip ganda "".

  • Solusi

    1. Periksa apakah indeks bidang telah dikonfigurasi dan fitur analisis log diaktifkan untuk bidang tersebut.

      • Jika ya, lanjutkan ke langkah berikutnya.

      • Jika tidak, konfigurasikan indeks bidang dan aktifkan fitur analisis log. Untuk informasi lebih lanjut, lihat Buat indeks.

        Jika masalah terselesaikan, lewati langkah berikutnya.

    2. Bungkus bidang dalam tanda kutip ganda "".

Kueri melebihi ukuran memori maksimum 3GB

  • Penyebab

    Penggunaan memori untuk pernyataan kueri melebihi batas 3 GB. Kesalahan ini terjadi karena banyak nilai yang dikembalikan dalam hasil kueri dan analisis setelah menggunakan klausa GROUP BY untuk menghapus duplikat.

  • Solusi

    Optimalkan penggunaan klausa GROUP BY dengan mengurangi jumlah bidang yang ditentukan di dalamnya.

ErrorType:ColumnNotExists.ErrorPosition,line:0,column:1.ErrorMessage:baris 1:123: Kolom 'XXX' tidak dapat diselesaikan; sepertinya XXX dibungkus oleh "; jika XXX adalah string, bukan bidang kunci, harap gunakan 'XXX'

  • Penyebab

    XXX bukan bidang yang diindeks dan tidak dapat dibungkus dalam tanda kutip ganda "". Untuk menggunakan string dalam pernyataan analisis, bungkus string tersebut dalam tanda kutip tunggal ''. String yang tidak dibungkus atau dibungkus dalam tanda kutip ganda "" akan dianggap sebagai nama bidang atau nama kolom.

  • Solusi

    • Jika XXX merupakan bidang yang ingin Anda analisis, pastikan untuk mengonfigurasi indeks dan mengaktifkan fitur analisis log untuk bidang tersebut. Untuk informasi lebih lanjut, lihat Buat indeks.

    • Jika XXX adalah string, bungkus string tersebut dalam tanda kutip tunggal ''.

Pengguna hanya dapat menjalankan 15 kueri secara bersamaan

  • Penyebab

    Lebih dari 15 operasi analisis dijalankan secara bersamaan. Setiap proyek mendukung maksimal 15 operasi analisis bersamaan.

  • Solusi

    Kurangi jumlah operasi analisis bersamaan sesuai dengan kebutuhan bisnis Anda.

Tanda kutip string tidak tertutup

  • Penyebab

    Tanda kutip ganda " dalam pernyataan kueri dan analisis tidak cocok.

  • Solusi

    Modifikasi pernyataan kueri dan jalankan ulang.

ErrorType:QueryParseError.ErrorMessage:kesalahan sintaksis posisi kesalahan dari kolom:10 ke kolom:11, kesalahan dekat < : >

  • Penyebab

    Kata kunci tidak valid in ditentukan.

  • Solusi

    Modifikasi pernyataan kueri dan jalankan ulang.

Kunci duplikat (XXX) tidak diperbolehkan

  • Penyebab

    Indeks duplikat dikonfigurasi untuk bidang.

  • Solusi

    Periksa konfigurasi indeks. Untuk informasi lebih lanjut, lihat Buat Indeks.

Hanya mendukung * atau ? di tengah atau akhir kueri

  • Penyebab

    Karakter wildcard tidak digunakan pada posisi yang diharapkan saat Anda melakukan pencarian fuzzy.

  • Solusi

    Ubah karakter wildcard dalam pernyataan kueri. Aturan berikut berlaku:

    • Anda dapat menambahkan asterisk * atau tanda tanya ? sebagai karakter wildcard di tengah atau di akhir kata kunci untuk melakukan pencarian fuzzy.

    • Anda tidak dapat menambahkan asterisk * atau tanda tanya ? di awal kata.

    • Tipe data long dan double tidak mendukung asterisk * atau tanda tanya ? dalam pencarian fuzzy.

Logstore (xxx) tidak ditemukan

  • Penyebab

    Logstore XXX tidak ada atau tidak memiliki indeks yang dikonfigurasi.

  • Solusi

    Periksa apakah logstore ada. Jika ada, Anda harus mengonfigurasi indeks untuk setidaknya satu bidang dan mengaktifkan fitur analisis log untuknya.

Nomor kondisi 43 lebih dari 30

  • Penyebab

    Jumlah bidang yang ditentukan dalam pernyataan pencarian adalah 43. Maksimal 30 bidang dapat ditentukan dalam pernyataan pencarian.

  • Solusi

    Ubah pernyataan pencarian dan pastikan jumlah bidang kurang dari atau sama dengan 30.

ErrorType:SyntaxError.ErrorPosition,line:1,column:19.ErrorMessage:baris 1:19: Ekspresi "data" bukan tipe ROW

  • Penyebab

    Tipe data bidang yang ditentukan dalam pernyataan kueri tidak valid.

  • Solusi

    Periksa apakah parameter fungsi ROW benar dan apakah semua bidang dalam parameter ada dan memenuhi persyaratan. Jika parameter benar tetapi hasilnya masih bukan tipe ROW, Anda dapat mencoba menggunakan fungsi CAST untuk mengonversinya ke tipe ROW.

ErrorType:SyntaxError.ErrorPosition,line:1,column:9.ErrorMessage:baris 1:9: pengenal tidak boleh mengandung ':'

  • Penyebab

    Bidang yang ingin Anda analisis mengandung tanda titik dua :.

  • Solusi

    Bungkus bidang dalam tanda kutip ganda "". Sebagai contoh, jika Anda ingin menganalisis bidang __tag__:__receive_time__, gunakan pernyataan *| select "__tag__:__receive_time__".

    Penting

    Sebelum Anda dapat menganalisis bidang, Anda harus membuat indeks untuk bidang tersebut. Untuk informasi lebih lanjut, lihat Buat Indeks.

Tidak ada node tersedia untuk menjalankan kueri

  • Penyebab

    Kesalahan sistem internal.

  • Solusi

    Segarkan halaman dan jalankan ulang pernyataan kueri dan analisis.