Lindorm-cli adalah antarmuka baris perintah ringan yang disediakan oleh Lindorm untuk menghubungkan dan mengelola database Lindorm. Anda dapat menggunakan Lindorm-cli untuk menjalankan operasi SQL dasar seperti membuat tabel, mengkueri data, dan menulis data. Topik ini menjelaskan cara menghubungkan ke dan menggunakan mesin deret waktu Lindorm.
Prasyarat
Tambahkan alamat IP klien Anda ke daftar putih Lindorm. Untuk informasi selengkapnya, lihat Setel daftar putih.
Langkah 1: Instal Lindorm-cli
Unduh paket instalasi Lindorm-cli untuk sistem operasi Anda. Tautan unduhan tercantum dalam tabel berikut.
CatatanChecksum SHA256 dalam tabel memverifikasi integritas dan keaslian paket Lindorm-cli yang diunduh.
Sistem operasi
Tautan unduh
Checksum SHA256
Linux
Perintah unduh langsung:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-latest.tar.gz3a9ee33e24769cf47b3a90c3a1bba29d26f8aede7a64dbc13ea1f4f5426f04e4
Linux-arm64
Perintah unduh langsung:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gzbc723d4a3a14a85c973c7082a56bb4934a40d2b9cccd72b5767352b8c334ce19
Mac (chip Intel)
34efd3f43a700e1fea72ee5e5933b9df3cf624569bcf59a2f8a6752dc7faab6c
Mac (chip Arm)
0be9b346404a37d953714377b59f06b6492ff9c4e46dba4d5bf07c390ee284ad
Windows
54a447f263b93b158533f7ccd542cbf52e42fb66ce287d38065a798b7801fc48
Ekstrak paket instalasi.
Untuk Linux, jalankan perintah berikut untuk mengekstrak paket:
tar zxvf lindorm-cli-linux-latest.tar.gzSetelah diekstrak, folder
lindorm-cli-linux-latestberisi filelindorm-cli.
Langkah 2: Menghubungkan ke mesin deret waktu Lindorm
Client dideploy pada Linux atau Mac
Buka direktori yang berisi file
lindorm-cli.cd <direktori lindorm-cli>Jalankan perintah berikut untuk menghubungkan ke mesin deret waktu:
./lindorm-cli -url <Titik akhir SQL deret waktu Lindorm> -username <username> -password <password> -database <nama database tujuan>Contoh koneksi
./lindorm-cli -url jdbc:lindorm:tsdb:url=http://ld-4xo90g5i370cu****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242 -username user -password test -database defaultDeskripsi parameter
Parameter
Wajib
Deskripsi
Lindorm time series SQL endpoint
Ya
Titik akhir SQL deret waktu dari mesin deret waktu Lindorm. Contoh:
jdbc:lindorm:tsdb:url=http://ld-bp12pc23yfb3*****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242.CatatanMetode koneksi Lindorm-cli juga mendukung titik akhir HTTP deret waktu.
Username
Tidak
Username untuk menghubungkan ke mesin deret waktu Lindorm.
Jika otentikasi pengguna dan verifikasi izin dinonaktifkan untuk mesin deret waktu, Anda tidak perlu menentukan username atau password. Untuk informasi selengkapnya, lihat Pengelolaan pengguna dan izin.
Password
Tidak
Password untuk menghubungkan ke mesin deret waktu Lindorm. Jika Anda lupa password, atur ulang melalui sistem manajemen kluster mesin wide-table Lindorm. Untuk informasi selengkapnya, lihat Mengubah password pengguna.
Nama database tujuan
Tidak
Database yang akan dihubungkan menggunakan Lindorm-cli. Database default adalah default. Selama sesi, beralih ke database lain dengan menjalankan
use <nama database tujuan>.Koneksi yang berhasil mengembalikan output berikut:
lindorm-cli version: 1.0.xxDi sini,
1.0.xxadalah nomor versi Lindorm-cli.
Client dideploy pada Windows
Metode 1
Buka Command Prompt (CMD) dan arahkan ke direktori yang berisi
lindorm-cli.exe.cd <direktori lindorm-cli.exe>Pada CMD, jalankan perintah berikut untuk menghubungkan ke mesin deret waktu:
lindorm-cli -url <Titik akhir SQL deret waktu Lindorm> -username <username> -password <password> -database <nama database tujuan>Koneksi yang berhasil mengembalikan output berikut:
Connected to jdbc:lindorm:tsdb:url=http://****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242 lindorm-cli version: 1.0.xxDi sini,
1.0.xxadalah nomor versi Lindorm-cli.
Metode 2
Klik ganda Lindorm-cli.exe untuk membuka program dan jalankan perintah berikut:
connect <Titik akhir SQL deret waktu Lindorm> <username> <password> -database <nama database tujuan>Koneksi yang berhasil tidak mengembalikan output apa pun.
Langkah 3: Menggunakan mesin deret waktu Lindorm
Membuat tabel
Buat tabel deret waktu.
CREATE TABLE sensor ( device_id VARCHAR NOT NULL, region VARCHAR NOT NULL, time TIMESTAMP NOT NULL, temperature DOUBLE, humidity BIGINT, PRIMARY KEY(device_id, region, time) );CatatanSaat membuat tabel deret waktu, tentukan kunci primer (PRIMARY KEY). Edisi Dasar tidak mendukung PRIMARY KEY. Biasanya, gunakan pengidentifikasi unik dari sumber data Anda sebagai PRIMARY KEY, misalnya ID perangkat dalam skenario Internet of Things, ID kendaraan dalam skenario Internet kendaraan, ID aplikasi dalam skenario pemantauan, atau
ip:port.Nama kolom untuk timestamp harus time, yang merepresentasikan waktu data dalam milidetik (ms).
Verifikasi bahwa tabel sensor berhasil dibuat.
SHOW TABLES;Hasil kueri adalah sebagai berikut:
+-------------------+ | Tables_In_default | +-------------------+ | sensor | +-------------------+Lihat kolom-kolom pada tabel deret waktu.
DESCRIBE TABLE sensor;Hasil kueri adalah sebagai berikut:
+-------------+-----------+------------+------------+--------------+ | columnName | typeName | columnKind | primaryKey | partitionTag | +-------------+-----------+------------+------------+--------------+ | device_id | VARCHAR | TAG | true | true | | region | VARCHAR | TAG | true | true | | time | TIMESTAMP | TIMESTAMP | true | false | | temperature | DOUBLE | FIELD | false | false | | humidity | BIGINT | FIELD | false | false | +-------------+-----------+------------+------------+--------------+
Menulis data
Jika dua titik data memiliki nilai tag dan timestamp yang identik, keduanya dianggap sebagai titik data yang sama. Penulisan yang lebih baru akan menimpa yang sebelumnya.
Menulis data satu baris per satu baris.
INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:00',12.1,45); INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:10',13.2,47); INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:20',10.6,46); INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1261','south-cn','2021-04-22 15:33:00',18.1,44); INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1261','south-cn','2021-04-22 15:33:10',19.7,44);Menulis data secara batch.
INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES ('F07A1260','north-cn','2021-04-22 15:33:00',12.1,45), ('F07A1260','north-cn','2021-04-22 15:33:10',13.2,47), ('F07A1260','north-cn','2021-04-22 15:33:20',10.6,46), ('F07A1261','south-cn','2021-04-22 15:33:00',18.1,44), ('F07A1261','south-cn','2021-04-22 15:33:10',19.7,44);
Kueri data
Kueri bersyarat
Kueri data untuk perangkat F07A1260 antara 2021-04-22 15:33:00 dan 2021-04-22 15:33:20:
SELECT device_id,region,time,temperature,humidity FROM sensor WHERE device_id = 'F07A1260' AND time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20';Hasil kueri adalah sebagai berikut:
+-----------+----------+---------------------------+-------------+----------+
| device_id | region | time | temperature | humidity |
+-----------+----------+---------------------------+-------------+----------+
| F07A1260 | north-cn | 2021-04-22T15:33:00+08:00 | 12.1 | 45 |
| F07A1260 | north-cn | 2021-04-22T15:33:10+08:00 | 13.2 | 47 |
| F07A1260 | north-cn | 2021-04-22T15:33:20+08:00 | 10.6 | 46 |
+-----------+----------+---------------------------+-------------+----------+Kueri downsampling
Kueri downsampling mengurangi laju sampel data deret waktu untuk mengurangi jumlah titik data dalam set hasil.
Contoh berikut mengkueri suhu untuk perangkat F07A1260 antara 2021-04-22 15:33:00 dan 2021-04-22 15:33:20, melakukan downsampling data setiap 20 detik, dan mengembalikan nilai maksimum:
SELECT device_id,region,time,max(temperature) AS max_temperature FROM sensor WHERE device_id = 'F07A1260' AND time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20' SAMPLE BY 20s;Hasil kueri adalah sebagai berikut:
+-----------+----------+---------------------------+-----------------+
| device_id | region | time | max_temperature |
+-----------+----------+---------------------------+-----------------+
| F07A1260 | north-cn | 2021-04-22T15:33:00+08:00 | 13.2 |
| F07A1260 | north-cn | 2021-04-22T15:33:20+08:00 | 10.6 |
+-----------+----------+---------------------------+-----------------+Kueri agregat
Hitung suhu maksimum di seluruh wilayah:
SELECT region,max(temperature) AS max_temperature FROM sensor WHERE time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20' GROUP BY region;Hasil kueri adalah sebagai berikut:
+----------+-----------------+
| region | max_temperature |
+----------+-----------------+
| north-cn | 13.2 |
| south-cn | 19.7 |
+----------+-----------------+Perintah umum Lindorm-cli
help: Lihat bantuan.connect: Hubungkan ke server.precision: Atur format tampilan waktu. Format yang didukung: rfc3339, h, m, s, ms, u, atau ns.exitatauquit: Keluar dari koneksi saat ini ke mesin deret waktu Lindorm.
FAQ
Mengapa hasil kueri kosong setelah penyisipan data berhasil?
Jika kueri tidak mengembalikan data setelah penulisan berhasil, periksa apakah database memiliki pengaturan waktu hidup (TTL) dengan menjalankan DESCRIBE DATABASE <nama database>. Data yang lebih tua dari TTL akan dihapus secara otomatis dan tidak dapat dikueri.
Apakah Lindorm-cli dapat mengimpor atau mengekspor data deret waktu?
Untuk volume data kecil, Anda dapat menggunakan Lindorm-cli untuk mengimpor atau mengekspor file CSV dengan cepat. Hubungi dukungan teknis Lindorm (ID DingTalk: s0s3eg3) jika diperlukan.
Untuk volume data besar, impor data menggunakan DataX. Ekspor data skala besar tidak didukung.