Kueri data deret waktu yang memenuhi kondisi tertentu dari tabel deret waktu menggunakan Tablestore SDK untuk Java.
Prasyarat
Data deret waktu telah ditulis ke tabel deret waktu. Untuk informasi selengkapnya, lihat Tulis data deret waktu.
Instans TimeseriesClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi client Tablestore.
Parameter
|
Parameter |
Wajib |
Deskripsi |
|
timeseriesKey |
Ya |
Pengenal deret waktu yang akan dikueri. Gunakan sub-parameter berikut untuk menentukan pengenal:
Penting
Jika Anda tidak mengetahui pengenal deret waktu, seperti nama metrik atau sumber data, panggil operasi QueryTimeseriesMeta untuk mengambil deret waktu berdasarkan kondisi filter. Untuk informasi selengkapnya, lihat Ambil deret waktu. |
|
timeRange |
Ya |
Rentang waktu untuk kueri. Rentang ini merupakan interval tertutup di kiri dan terbuka di kanan. Gunakan sub-parameter berikut:
|
|
backward |
Tidak |
Menentukan apakah hasil dikembalikan dalam urutan kronologis terbalik. Gunakan ini untuk mengambil titik data terbaru terlebih dahulu. Nilai yang valid:
|
|
fieldsToGet |
Tidak |
Kolom data yang akan dikembalikan. Jika tidak ditentukan, semua kolom akan dikembalikan. Penting
Saat menentukan fieldsToGet, Anda harus menyediakan nama dan tipe data setiap kolom. Jika tipe data tidak sesuai dengan nama kolom, kolom tersebut tidak akan dikembalikan. |
|
limit |
Tidak |
Jumlah maksimum baris yang dikembalikan per pemanggilan. Catatan
Jika set hasil melebihi batas limit, atau jika jumlah baris yang dikembalikan lebih sedikit karena batasan volume data yang dipindai, gunakan parameter nextToken untuk mengambil sisa baris. |
|
nextToken |
Tidak |
Token paginasi untuk mengambil hasil tambahan. Jika kueri hanya mengembalikan sebagian set hasil, tanggapan akan menyertakan nextToken. Teruskan token ini dalam permintaan berikutnya untuk mendapatkan sisa baris. Penting
Untuk menyimpan atau mentransfer nextToken ke halaman antarmuka depan, encode menggunakan Base64. Jangan gunakan |
Contoh
Contoh berikut mengkueri data dalam deret waktu dengan menentukan timeseriesKey:
func GetTimeseriesDataSample(client *tablestore.TimeseriesClient , timeseriesTableName string) {
fmt.Println("[Info]: Begin to get timeseries data !")
// Buat timeseriesKey untuk deret waktu tempat Anda ingin mengkueri data.
timeseriesKey := tablestore.NewTimeseriesKey()
timeseriesKey.SetMeasurementName("NETWORK")
timeseriesKey.SetDataSource("127.0.0.1")
timeseriesKey.AddTag("City" , "Hangzhou")
timeseriesKey.AddTag("Region" , "Xihu")
// Buat permintaan kueri.
getTimeseriesDataRequest := tablestore.NewGetTimeseriesDataRequest(timeseriesTableName)
getTimeseriesDataRequest.SetTimeseriesKey(timeseriesKey)
getTimeseriesDataRequest.SetTimeRange(0 , time.Now().UnixNano() / 1000) // Tentukan rentang waktu untuk kueri.
getTimeseriesDataRequest.SetLimit(-1)
// Panggil operasi API terkait client deret waktu untuk mengkueri data dalam deret waktu.
getTimeseriesResp , err := client.GetTimeseriesData(getTimeseriesDataRequest)
if err != nil {
fmt.Println("[Error]: Get timeseries data Failed with error: " , err)
return
}
fmt.Println("[Info]: Get timeseries data succeed ! TimeseriesRows: ")
for i := 0; i < len(getTimeseriesResp.GetRows()); i++ {
fmt.Println("[Info]: Row" , i , ": [" , getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetMeasurementName(),
getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetDataSource(),
getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetTags(), "]",
getTimeseriesResp.GetRows()[i].GetTimeInus())
rows := getTimeseriesResp.GetRows()[i].GetFieldsMap()
for key, value := range rows {
fmt.Println(key, value.Value)
}
}
fmt.Println("[Info]: GetTimeseriesDataSample finished! RequestId: " , getTimeseriesResp.RequestId)
}
FAQ
Referensi
Untuk informasi selengkapnya tentang operasi API, lihat GetTimeseriesData.
-
Anda juga dapat mengeksekusi Pernyataan SQL untuk mengkueri data deret waktu. Untuk informasi selengkapnya, lihat Gunakan SQL untuk mengkueri data deret waktu.
-
Untuk memvisualisasikan data deret waktu, Anda dapat menghubungkan Tablestore ke Grafana. Untuk informasi selengkapnya, lihat Hubungkan ke Grafana.