Topik ini menjelaskan beberapa kesalahan umum yang dilaporkan saat mengkueri dan menganalisis log, serta memberikan solusi untuk mengatasinya.
Logstore * tidak ada
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Logstore yang ingin Anda kueri tidak ada di wilayah dan proyek saat ini.
Logstore telah dihapus.
Logstore tidak ada dan mungkin berada di proyek lain.
Logstore tidak ada dan mungkin berada di wilayah lain.
Solusi
Pastikan logstore yang ingin Anda kueri ada di wilayah dan proyek yang sesuai.
Logstore tanpa konfigurasi indeks
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Anda menggunakan sintaksis SQL, tetapi logstore tidak memiliki indeks yang dikonfigurasi. SQL memerlukan setidaknya satu indeks yang dikonfigurasi.
Logstore yang ingin Anda kueri tidak memiliki indeks yang dikonfigurasi.
Solusi
Periksa logstore yang ingin Anda kueri dan pastikan bahwa konfigurasi indeks diaktifkan untuk setidaknya satu kolom.
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
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.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Nama kolom di logstore persis sama dengan alias kolom.
Solusi
Periksa kolom kunci indeks logstore yang ingin Anda kueri dan pastikan tidak ada konflik penamaan.
Ditolak oleh sts atau ram, aksi:*
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Anda tidak memiliki izin untuk mengakses logstore di bawah identitas Anda saat ini.
Logstore tidak diotorisasi untuk identitas Anda saat ini.
Solusi
Periksa izin RAM dan berikan izin baca pada logstore untuk identitas Anda saat ini. Deskripsi sumber daya otorisasi:
aksi: log:GetLogStoreLogs, sumber daya: acs:log:<region>:<uid>:project/<project>/logstore/<logstore>
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
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Terdapat kesalahan sintaksis dalam pernyataan SQL. Nilai dan item daftar dalam klausa IN harus memiliki tipe data yang sama: varchar.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Saat menggunakan operator IN untuk kueri, nilai yang diberikan dan item daftar memiliki tipe data yang tidak konsisten. Sebagai contoh, nilai bertipe varchar, dan item daftar bertipe integer.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Pastikan nilai dan item daftar dalam operator IN memiliki tipe data yang sama. Anda dapat menggunakan fungsi CAST atau CONVERT untuk mengonversi tipe data, atau mengonversi kedua nilai dan item daftar ke tipe data yang sama sebelum melakukan kueri. Kami merekomendasikan menggunakan tipe data yang sama untuk bidang kolom yang sesuai saat menulis log untuk menghindari kesalahan serupa.
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.
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
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Target operator ulang tidak ditentukan.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Ini mungkin merupakan kesalahan dalam ekspresi reguler, yang menunjukkan bahwa target operator ulang tidak ditentukan. Operator ulang "()" digunakan untuk mencocokkan nol atau lebih kemunculan karakter atau grup sebelumnya, tetapi memerlukan target untuk menerapkan pengulangan. Sebagai contoh, "(a)*" berarti nol atau lebih kemunculan huruf "a". Jika tidak ada target yang ditentukan, seperti dalam "()*", mesin ekspresi reguler tidak akan tahu bagaimana menerapkan operator ulang, sehingga menghasilkan kesalahan ini.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa apakah operator ulang "()" dalam ekspresi reguler memiliki target yang benar dan buat koreksi yang diperlukan.
Nilai NULL tidak diizinkan di sisi probe SemiJoin. Lihat rencana kueri untuk detailnya.
Nilai NULL tidak diizinkan di sisi probe SemiJoin.
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
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Indeks array di luar batas.
Anda mencoba mengakses posisi indeks yang berada di luar jangkauan array. Sebagai contoh, mengakses indeks negatif atau indeks melampaui panjang array. Hal ini mungkin disebabkan oleh logika yang salah dalam SQL atau kesalahan entri data.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Dalam SQL, posisi indeks array dimulai dari 1. Periksa panjang array yang valid dalam SQL, lalu periksa referensi posisi indeks array, dan pastikan indeks array tidak keluar dari jangkauan.
Ekspresi "*" bukan tipe ROW
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Ekspresi "fields" bukan tipe ROW.
Saat menggunakan tipe ROW, ekspresi "fields" tidak memenuhi persyaratan tipe ROW. Hal ini mungkin disebabkan oleh parameter yang tidak memenuhi persyaratan saat menggunakan fungsi ROW.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.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.
Pemisah nilai-kunci harus muncul tepat sekali di setiap entri. Masukan buruk: '*'
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Pemisah nilai-kunci harus muncul tepat sekali di setiap entri.
Pemisah muncul lebih dari sekali atau tidak sama sekali dalam pasangan nilai-kunci dalam input, sehingga sistem tidak dapat mengurai pasangan nilai-kunci tersebut.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa apakah format pasangan nilai-kunci dalam input benar. Pastikan hanya ada satu pemisah dalam setiap pasangan nilai-kunci dan ada kunci dan nilai yang benar di kedua sisinya.
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.
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
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Fungsi ts_compare harus mengelompokkan berdasarkan tipe timestamp.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Saat menggunakan fungsi ts_compare dalam SQL, kolom yang digunakan dalam klausa group by mungkin bertipe bukan timestamp, seperti numerik.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Pastikan tipe kolom yang digunakan dalam klausa group by untuk fungsi ts_compare adalah tipe timestamp yang benar. Anda dapat menggunakan fungsi seperti from_unixtime untuk mengonversi timestamp integer menjadi tipe timestamp.
Waktu # di luar rentang waktu yang ditentukan
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Timestamp berada di luar rentang waktu yang ditentukan.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Pernyataan SQL menggunakan timestamp yang berada di luar rentang waktu yang ditentukan, mungkin karena kesalahan entri data atau ketidakcocokan tipe data.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa apakah timestampnya benar. Jika masalah disebabkan oleh ketidakcocokan tipe data, coba gunakan fungsi konversi tipe data terkait untuk mengonversi timestamp ke tipe data yang benar.
Perbandingan ROW tidak didukung untuk bidang dengan elemen null
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Perbandingan ROW tidak didukung untuk bidang dengan nilai NULL.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Pernyataan SQL menggunakan operasi perbandingan tipe ROW yang berisi elemen bernilai NULL, seperti menggunakan operator
=atau!=untuk perbandingan.Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Sebelum melakukan perbandingan baris, Anda harus menangani ROW yang berisi elemen NULL. Gunakan operator seperti IS NULL atau IS NOT NULL untuk menyaring nilai NULL, atau gunakan fungsi COALESCE untuk menangani nilai NULL. Tangani baris yang berisi elemen NULL selama proses penulisan dan pemrosesan data log untuk menghindari kesalahan di atas.
Kunci yang ditentukan tidak ada.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Ini biasanya terjadi saat Anda melakukan kueri gabungan tabel asing menggunakan OSS dan gagal mengakses Bucket OSS: kunci yang ditentukan tidak ada.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Objek yang ditentukan tidak ada di Bucket OSS yang Anda akses. Mungkin telah dihapus atau tidak pernah ada. Hal ini bisa disebabkan karena Anda menentukan endpoint Bucket OSS yang salah atau kunci objek yang salah.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa Bucket OSS dan nama kunci objek yang akan diakses untuk memastikan bahwa mereka benar.
Pergi ke OSS untuk memastikan apakah kunci objek yang ditentukan ada di Bucket OSS yang ditentukan.
Membaca data dengan paginasi hanya diperbolehkan membaca maksimum
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Jumlah maksimum baris untuk paginasi tidak boleh melebihi 1.000.000.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Layanan Log Sederhana SQL membatasi jumlah baris keluaran maksimum hingga 1.000.000. Permintaan pembacaan paginasi yang Anda buat melebihi batas ini.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Gunakan klausa LIMIT untuk membatasi jumlah baris maksimum untuk paginasi agar tidak lebih dari 1.000.000.
Persempit rentang kueri untuk membatasi jumlah baris maksimum untuk paginasi agar tidak lebih dari 1.000.000.
Gunakan layanan SQL Terjadwal untuk melakukan analisis agregasi SQL secara berkala dalam jendela, lalu lakukan agregasi sekunder pada hasil agregasi.
Tidak dapat memilih operator kandidat terbaik. Penambahan tipe eksplisit harus dilakukan.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Tidak dapat memilih operator kandidat terbaik. Penambahan tipe eksplisit harus dilakukan.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Ini biasanya terjadi karena Anda mencoba melakukan operasi aritmatika atau perbandingan antara variabel dari tipe yang berbeda, dan sistem tidak dapat secara otomatis menentukan tipe operator mana yang harus digunakan.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Tambahkan tipe eksplisit untuk memberi tahu sistem tipe operator mana yang harus digunakan.
Sebagai contoh, jika Anda mencoba menambahkan variabel bertipe string dan variabel bertipe integer, Anda dapat menggunakan fungsi CAST untuk mengonversi variabel bertipe string menjadi integer, lalu melakukan operasi penambahan. Contoh kode:
SELECT CAST('10' AS INTEGER) + 5;Di sini, kami menggunakan fungsi CAST untuk mengonversi variabel bertipe string '10' menjadi integer, lalu menambahkannya ke variabel bertipe integer 5. Ini menghindari kesalahan di atas.
Fungsi * tidak terdaftar
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Fungsi tidak ada.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Fungsi yang Anda tentukan tidak ada dalam sistem SQL Layanan Log Sederhana.
Anda menggunakan fungsi spesifik vendor database yang bukan fungsi SQL standar dan tidak tersedia dalam sistem SQL Layanan Log Sederhana.
Anda salah mengeja nama fungsi.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa nama fungsi dan pastikan itu adalah fungsi valid yang disediakan oleh SQL Layanan Log Sederhana.
Indeks array SQL dimulai dari 1
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Posisi indeks array SQL dimulai dari 1.
Saat menggunakan posisi indeks array dalam SQL, Anda mungkin mulai menghitung dari 0.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Posisi indeks array SQL mulai menghitung dari 1.
Indeks harus lebih besar dari nol
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Posisi indeks dimulai dari 1.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Saat menggunakan posisi indeks array dalam SQL, Anda mungkin telah menentukan nilai negatif atau 0 yang tidak valid.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Posisi indeks array SQL mulai menghitung dari 1.
Semua operand COALESCE harus memiliki tipe yang sama: *
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Semua parameter dalam fungsi COALESCE harus memiliki tipe yang sama.
Dalam fungsi COALESCE, operand harus memiliki tipe data yang sama. Jika tidak, kesalahan tipe data akan terjadi. Dalam kesalahan ini, setidaknya satu operand bertipe Boolean, sedangkan operand lainnya memiliki tipe data yang berbeda, seperti angka atau string.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa setiap operand dalam fungsi COALESCE dan pastikan mereka memiliki tipe data yang sama. Jika berbeda, lakukan konversi tipe data untuk membuat mereka memiliki tipe data yang sama. Anda dapat menggunakan fungsi CAST untuk melakukan konversi tipe data.
Subkueri mengembalikan beberapa kolom belum didukung
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Kueri skalar tidak mendukung pengembalian beberapa kolom.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Beberapa kolom dipilih dalam subkueri.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Pastikan subkueri hanya mengembalikan satu kolom atau satu nilai. Anda dapat memodifikasi subkueri atau kueri utama. Anda juga dapat mencoba menggunakan pernyataan JOIN alih-alih subkueri untuk mengambil data yang diperlukan.
Klausa GROUP BY tidak boleh berisi agregasi atau fungsi jendela: *
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Klausa GROUP BY tidak boleh berisi fungsi agregasi atau fungsi jendela.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Fungsi agregasi atau fungsi jendela termasuk dalam klausa GROUP BY.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Hanya sertakan nama kolom dalam klausa GROUP BY, bukan fungsi agregasi atau fungsi jendela. Fungsi agregasi dan fungsi jendela harus digunakan dalam pernyataan SELECT, bukan dalam klausa GROUP BY. Jika Anda perlu menggunakan fungsi agregasi dalam klausa GROUP BY, gunakan alias kolom atau indeks numerik alih-alih fungsi agregasi. Sebagai contoh, gunakan kueri berikut:
SELECT column1, column2, COUNT(column3) as count_column3 FROM table GROUP BY column1, column2, 3Dalam kueri ini, count_column3 adalah alias dari COUNT(column3), dan 3 adalah posisi COUNT(column3) dalam pernyataan SELECT. Perhatikan bahwa menggunakan indeks numerik dapat membuat kode sulit dipahami, jadi kami sarankan Anda menggunakan alias kolom.
Klausa WHERE tidak boleh berisi agregasi atau fungsi jendela: *
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Klausa WHERE tidak boleh berisi fungsi agregasi atau fungsi jendela.
Fungsi agregasi atau fungsi jendela termasuk dalam klausa WHERE.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Hanya sertakan nama kolom dalam klausa WHERE, bukan fungsi agregasi atau fungsi jendela. Ini harus digunakan dalam pernyataan SELECT, bukan dalam klausa WHERE. Jika Anda perlu menggunakan fungsi agregasi dalam klausa WHERE, Anda dapat menggunakan alias kolom sebagai gantinya.
Sebagai contoh, gunakan kueri berikut:
SELECT column1, column2, COUNT(column3) as count_column3 FROM table WHERE count_column3 > 10count_column3 adalah alias dari COUNT(column3), yang mewakili hasil agregasi hitungan dari column3.
Sisi kiri ekspresi LIKE harus dievaluasi ke varchar (aktual: bigint)
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Sisi kiri ekspresi LIKE harus bertipe varchar (aktual: bigint).
Kesalahan ini biasanya terjadi saat Anda mencoba menggunakan operator LIKE untuk membandingkan bigint dengan varchar. Operator LIKE memerlukan kedua sisi ekspresi memiliki tipe data yang sama.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Anda mungkin perlu menggunakan fungsi CAST untuk mengonversi bigint menjadi varchar.
SELECT * FROM table WHERE CAST(bigint_column AS varchar) LIKE 'pattern'Ini akan mengonversi bigint_column menjadi varchar, sehingga memungkinkan operator LIKE mencocokkannya dengan pola yang ditentukan.
Sisi kiri ekspresi logis harus dievaluasi ke boolean (aktual: varchar)
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Sisi kiri ekspresi logis harus bertipe boolean (aktual: varchar).
Kesalahan ini biasanya terjadi saat Anda mencoba menggunakan ekspresi logis, dan nilai di sisi kanan operator relasional
=atau!=adalah nilai boolean (true atau false), tetapi sisi kiri bukan boolean, seperti varchar.Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa tipe nilai di sisi kiri ekspresi logis dan pastikan itu adalah boolean.
Sisi kanan ekspresi logis harus dievaluasi ke boolean (aktual: bigint)
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Sisi kanan ekspresi logis harus bertipe boolean, yang sebenarnya adalah bigint.
Kesalahan ini biasanya terjadi saat Anda mencoba menggunakan ekspresi logis, dan tipe variabel di sisi kanan ekspresi logis bukan boolean.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Anda perlu memeriksa tipe nilai di sisi kanan ekspresi logis dan memastikan itu adalah boolean.
JSON path tidak valid: ...
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Jalur akses JSON tidak valid.
Saat menggunakan fungsi JSON (seperti json_extract, json_extract_scalar, json_size, dll.) dalam SQL untuk mengakses jalur JSON yang ditentukan, jalur yang tidak valid telah ditentukan.
Tentukan json_path dengan benar, dalam format
$.a.b. Di sini,$mewakili node root dari objek JSON saat ini, dan titik.merujuk pada node yang akan diekstraksi (dapat digunakan secara berantai). Namun, jika ada karakter khusus (seperti., spasi, dan-) dalam bidang objek JSON, sepertihttp.path,http path, danhttp-path, Anda harus menggunakan tanda kurung siku[]alih-alih titik., dan membungkus nama bidang dalam tanda kutip ganda"", contohnya:* | SELECT json_extract_scalar(request, '$["X-Power-Open-App-Id"]')Untuk informasi lebih lanjut, lihat Fungsi JSON dan FAQ tentang kueri dan analisis log JSON.
Jumlah maksimum distinct adalah:10, silakan gunakan approx_distinct
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Kueri tunggal dibatasi hingga menggunakan maksimal 10 DISTINCT.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Penyebab
Anda menggunakan lebih dari 10 perhitungan DISTINCT dalam SQL.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Kurangi jumlah penggunaan DISTINCT dalam SQL menjadi di bawah 10.
Gunakan approx_distinct sebagai pengganti DISTINCT.
Kunci tidak ada dalam peta
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Deskripsi Kesalahan
Kunci yang ditentukan tidak ada dalam peta.
Anda menggunakan tipe peta dalam SQL dan menentukan kunci yang tidak ada.
Silakan berikan teks bahasa Inggris yang perlu diterjemahkan ke dalam bahasa Indonesia.Solusi
Periksa data tipe peta dan pastikan bahwa kunci yang Anda tentukan ada dalam peta.
Jika kunci tidak ada dalam data tipe peta, gunakan fungsi try untuk membungkus akses peta untuk mengabaikan kesalahan, contohnya:
SELECT try(map['name']) -- map adalah kolom bertipe peta. Jika kunci bernama 'name' tidak ada dalam kolom, NULL dikembalikan.
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 statusadalah 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
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.
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
inditentukan.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__".PentingSebelum 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.