Lindorm-cli est une interface en ligne de commande légère fournie par Lindorm pour se connecter aux bases de données Lindorm et les gérer. Vous pouvez utiliser Lindorm-cli pour effectuer des opérations SQL de base, telles que la création de tables, l'interrogation de données et l'écriture de données. Cette rubrique explique comment se connecter au moteur de séries temporelles Lindorm et l'utiliser.
Prérequis
Ajoutez l'adresse IP de votre client à la liste d'autorisation de Lindorm. Pour plus d'informations, consultez la section Définir une liste d'autorisation.
Étape 1 : Installer Lindorm-cli
-
Téléchargez le package d'installation de Lindorm-cli correspondant à votre système d'exploitation. Les liens de téléchargement figurent dans le tableau suivant.
RemarqueLes sommes de contrôle SHA256 du tableau vérifient l'intégrité et l'authenticité des packages Lindorm-cli téléchargés.
Système d'exploitation
Lien de téléchargement
Somme de contrôle SHA256
Linux
Commande de téléchargement direct :
wget https://hbaseuepublic.oss-cn-beijing.aliyuncs.com/lindorm-cli-linux-latest.tar.gzfdd0cdece2a3d29124dd9538edefdd66532b950653f049d6b4fd6a21cb2cd6fc
Linux-arm64
Commande de téléchargement direct :
wget https://hbaseuepublic.oss-cn-beijing.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gzbd602405a2e988cf77d6b3afa2aac35ce72b437038119f4b3a9d926d3ffb5be1
Mac (puce Intel)
cfff2a661fe6d48e0d55dbfca149847a3b8c0ef391d59e4694a425a22a44f5be
Mac (puce Arm)
1aae53cf83ad40a7386ea5711684d733e9728566c3f7463d00070a56201b79dc
Windows
cf2330fac41cc3d731282cd8dddfd5656ad05c1f8e1113607cf427d0614b23b6
-
Extrayez le package d'installation.
Sous Linux, exécutez la commande suivante pour extraire le package :
tar zxvf lindorm-cli-linux-latest.tar.gzAprès extraction, le dossier
lindorm-cli-linux-latestcontient le fichierlindorm-cli.
Étape 2 : Se connecter au moteur de séries temporelles Lindorm
Client déployé sur Linux ou Mac
-
Accédez au répertoire contenant le fichier
lindorm-cli.cd <lindorm-cli directory> -
Exécutez la commande suivante pour vous connecter au moteur de séries temporelles :
./lindorm-cli -url <Lindorm time series SQL endpoint> -username <username> -password <password> -database <target database name>Exemple de connexion
./lindorm-cli -url jdbc:lindorm:tsdb:url=http://ld-4xo90g5i370cu****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242 -username user -password test -database defaultDescription des paramètres
Paramètre
Obligatoire
Description
Point de terminaison SQL de séries temporelles Lindorm
Oui
Le point de terminaison SQL de séries temporelles du moteur de séries temporelles Lindorm. Exemple :
jdbc:lindorm:tsdb:url=http://ld-bp12pc23yfb3*-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242.RemarqueLa méthode de connexion Lindorm-cli prend également en charge le point de terminaison HTTP de séries temporelles.
Nom d'utilisateur
Non
Le nom d'utilisateur permettant de se connecter au moteur de séries temporelles Lindorm.
Si l'authentification des utilisateurs et la vérification des autorisations sont désactivées pour le moteur de séries temporelles, il n'est pas nécessaire de spécifier un nom d'utilisateur ou un mot de passe. Pour plus d'informations, consultez la section Gestion des utilisateurs et des autorisations.
Mot de passe
Non
Le mot de passe permettant de se connecter au moteur de séries temporelles Lindorm. Si vous avez oublié votre mot de passe, réinitialisez-le dans le système de gestion du cluster du moteur de tables larges Lindorm. Pour plus d'informations, consultez la section Modifier les mots de passe des utilisateurs.
Nom de la base de données cible
Non
La base de données à laquelle se connecter à l'aide de Lindorm-cli. La base de données par défaut est default. Au cours de la session, basculez vers une autre base de données en exécutant
use <nom de la base de données cible>.Une connexion réussie renvoie la sortie suivante :
lindorm-cli version: 1.0.xxIci,
1.0.xxcorrespond au numéro de version de Lindorm-cli.
Client déployé sur Windows
Méthode 1
-
Ouvrez l'invite de commandes (CMD) et accédez au répertoire contenant
lindorm-cli.exe.cd <lindorm-cli.exe directory> -
Dans l'invite de commandes, exécutez la commande suivante pour vous connecter au moteur de séries temporelles :
lindorm-cli -url <Lindorm time series SQL endpoint> -username <username> -password <password> -database <target database name>Une connexion réussie renvoie la sortie suivante :
Connected to jdbc:lindorm:tsdb:url=http://****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242 lindorm-cli version: 1.0.xxIci,
1.0.xxcorrespond au numéro de version de Lindorm-cli.
Méthode 2
Double-cliquez sur Lindorm-cli.exe pour ouvrir le programme et exécutez la commande suivante :
connect <Lindorm time series SQL endpoint> <username> <password> -database <target database name>
Une connexion réussie ne renvoie aucune sortie.
Étape 3 : Utiliser le moteur de séries temporelles Lindorm
Créer une table
-
Créez une table de séries temporelles.
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) );RemarqueLors de la création d'une table de séries temporelles, spécifiez une clé primaire (PRIMARY KEY). L'édition Basic ne prend pas en charge PRIMARY KEY. En règle générale, utilisez un identifiant unique de votre source de données comme PRIMARY KEY. Parmi les exemples figurent l'ID de périphérique dans les scénarios IoT, l'ID de véhicule dans les scénarios IoV, l'ID d'application dans les scénarios de surveillance, ou
ip:port.Le nom de colonne pour l'horodatage doit être time, qui représente l'horodatage des données en millisecondes (ms).
-
Vérifiez que la table sensor a bien été créée.
SHOW TABLES;Le résultat de la requête est le suivant :
+-------------------+ | Tables_In_default | +-------------------+ | sensor | +-------------------+ -
Affichez les colonnes de la table de séries temporelles.
DESCRIBE TABLE sensor;Le résultat de la requête est le suivant :
+-------------+-----------+------------+------------+--------------+ | 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 | +-------------+-----------+------------+------------+--------------+
Écrire des données
Si deux points de données ont des valeurs de tag et des horodatages identiques, ils sont considérés comme le même point de données. L'écriture la plus récente écrase la précédente.
-
Écrivez les données ligne par ligne.
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); -
Écrivez les données par lots.
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);
Interroger des données
Requête conditionnelle
Interrogez les données du périphérique F07A1260 entre 2021-04-22 15:33:00 et 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';
Le résultat de la requête est le suivant :
+-----------+----------+---------------------------+-------------+----------+
| 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 |
+-----------+----------+---------------------------+-------------+----------+
Requête de sous-échantillonnage
Une requête de sous-échantillonnage réduit le taux d'échantillonnage des données de séries temporelles afin de diminuer le nombre de points de données dans l'ensemble de résultats.
L'exemple suivant interroge la température du périphérique F07A1260 entre 2021-04-22 15:33:00 et 2021-04-22 15:33:20, sous-échantillonne les données toutes les 20 secondes et renvoie la valeur maximale :
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;
Le résultat de la requête est le suivant :
+-----------+----------+---------------------------+-----------------+
| 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 |
+-----------+----------+---------------------------+-----------------+
Requête d'agrégation
Calculez la température maximale dans toutes les régions :
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;
Le résultat de la requête est le suivant :
+----------+-----------------+
| region | max_temperature |
+----------+-----------------+
| north-cn | 13.2 |
| south-cn | 19.7 |
+----------+-----------------+
Commandes courantes de Lindorm-cli
help: Affiche l'aide.connect: Se connecte à un serveur.precision: Définit le format d'affichage de l'heure. Formats pris en charge : rfc3339, h, m, s, ms, u ou ns.exitouquit: Quitte la connexion actuelle au moteur de séries temporelles Lindorm.
FAQ
Pourquoi le résultat de la requête est-il vide après une insertion de données réussie ?
Si une requête ne renvoie aucune donnée après une écriture réussie, vérifiez si la base de données possède un paramètre TTL (Time-To-Live) en exécutant DESCRIBE DATABASE <nom de la base de données>. Les données antérieures au TTL sont automatiquement supprimées et ne peuvent pas être interrogées.
Lindorm-cli peut-il importer ou exporter des données de séries temporelles ?
Pour de petits volumes de données, vous pouvez utiliser Lindorm-cli pour importer ou exporter rapidement des fichiers CSV. Contactez le support technique Lindorm (ID DingTalk : s0s3eg3) si nécessaire.
Pour de grands volumes de données, importez les données à l'aide de DataX. L'exportation de données à grande échelle n'est pas prise en charge.