ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Je vous suggère de lire la transcription du rapport 2017 d'Igor Stryhar « ClickHouse - analyse de données visuellement rapide et claire dans Tabix ».

Interface Web pour ClickHouse dans le projet Tabix.
Principales caractéristiques:

  • Fonctionne avec ClickHouse directement depuis le navigateur, sans avoir besoin d'installer de logiciel supplémentaire ;
  • Éditeur de requêtes avec coloration syntaxique ;
  • Auto-complétion des commandes ;
  • Outils d'analyse graphique de l'exécution des requêtes ;
  • Schémas de couleurs au choix.
    ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar


ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Je suis le directeur technique de SMI2. Nous sommes un agrégateur d'informations d'échange de nouvelles. Nous stockons de nombreuses données que nous recevons de nos partenaires et les enregistrons dans ClickHouse - environ 30 000 requêtes par seconde.

Il s'agit de données telles que :

  • Clics sur les actualités.
  • Les actualités s'affichent dans l'agrégateur.
  • Affichage de bannières sur notre réseau.
  • Et nous enregistrons les événements à partir de notre propre compteur, similaire à Yandex.Metrica. Il s’agit de notre propre micro-analyse.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Nous avions une vie très mouvementée avant ClickHouse. Nous avons beaucoup souffert en essayant de stocker ces données quelque part et de les analyser d'une manière ou d'une autre.

La vie avant ClickHouse – infiniDB

La première chose que nous avons eue était infiniDB. Elle a vécu avec nous pendant 4 ans. Nous l'avons lancé avec difficulté.

  • Il ne prend pas en charge le clustering ou le partitionnement. Aucune chose aussi intelligente n’est sortie de la boîte par défaut.
  • Elle a des difficultés à charger les données. Uniquement un utilitaire de console spécifique qui ne pouvait charger que des fichiers CSV et uniquement d'une manière très peu claire.
  • La base de données est monothread. Vous pouvez soit écrire, soit lire. Mais cela a permis de traiter une grande quantité de données.
  • Et elle avait aussi une béquille intéressante. Chaque nuit, le serveur devait être redémarré, sinon il ne fonctionnerait pas.

Elle a travaillé pour nous jusqu'à fin 2016, date à laquelle nous sommes complètement passés à ClickHouse.

La vie avant ClickHouse – Cassandra

Comme infiniDB était monothread, nous avons décidé que nous avions besoin d'une sorte de base de données multithread dans laquelle nous pourrions écrire plusieurs threads en même temps.

Nous avons essayé beaucoup de choses intéressantes. Ensuite, nous avons décidé d'essayer Cassandra. Tout était super avec Cassandra. 10 000 requêtes par seconde par offre. 2 000 demandes de lecture quelque part.

Mais elle avait aussi ses propres intérêts. Une fois par mois ou une fois tous les deux mois, elle a subi une désynchronisation de la base de données. Et j'ai dû me réveiller et courir pour réparer Cassandra. Les serveurs ont été redémarrés un à un. Et tout est devenu fluide et beau.

La vie avant ClickHouse – Druide

Ensuite, nous avons réalisé que nous devions écrire encore plus de données. En 2016, nous avons commencé à regarder Druid.

Druid est un logiciel open source écrit en Java. Très spécifique. Et cela convenait au clickstream, lorsque nous devons stocker une sorte de flux d'événements, puis effectuer une agrégation sur ceux-ci ou créer des rapports analytiques.

Druid avait la version 0.9.X.

La base de données elle-même est très difficile à déployer. C'est la complexité de l'infrastructure. Pour le déployer, il a fallu installer beaucoup, beaucoup de fer. Et chaque élément matériel était responsable de son propre rôle distinct.

Pour y charger des données, il fallait recourir à une sorte de chamanisme. Il existe un projet OpenSource - Tranquility, qui perdait des données de notre part dans un flux. Lorsque nous y avons chargé des données, il les a perdues.

Mais d’une manière ou d’une autre, nous avons commencé à le mettre en œuvre. Nous, comme les hérissons qui se droguaient mais continuaient à manger du cactus, avons commencé à l'introduire. Il nous a fallu environ un mois pour préparer toute l'infrastructure. Autrement dit, commandez des serveurs, configurez des rôles et automatisez entièrement le déploiement. Autrement dit, en cas de panne du cluster, le deuxième cluster sera automatiquement déployé.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Mais ensuite un miracle s'est produit. J'étais en vacances et mes collègues m'ont envoyé un lien vers habr, qui dit que Yandex a décidé d'ouvrir ClickHouse. Je dis, essayons.

Et littéralement en 2 jours, nous avons déployé un cluster de test ClickHouse. Nous avons commencé à y charger des données. Comparé à infiniDB, c'est élémentaire ; comparé à Druid, c'est élémentaire. Comparé à Cassandra, c’est aussi élémentaire. Parce que si vous chargez des données de PHP dans Cassandra, ce n'est pas élémentaire.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Qu'avons-nous obtenu ? Performance en vitesse. Performances en matière de stockage de données. Autrement dit, beaucoup moins d’espace disque est utilisé. ClickHouse est rapide, il est très rapide par rapport aux autres produits.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Au moment du lancement, lorsque Yandex a publié ClickHouse en OpenSource, il n'existait qu'un client console. Dans notre société SMI2, nous avons décidé d'essayer de créer un client natif pour le Web, afin de pouvoir ouvrir une page à partir d'un navigateur, rédiger une requête et obtenir le résultat, car nous avons commencé à écrire beaucoup de requêtes. Écrire dans la console est difficile. Et nous avons réalisé notre première version.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Et quelque part plus près de l'hiver de l'année dernière, des outils tiers permettant de travailler avec ClickHouse ont commencé à apparaître. Il s'agit d'outils tels que :

Je vais examiner certains de ces outils, c'est-à-dire ceux avec lesquels j'ai travaillé.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Un bon outil, mais pour Druid. Lors de la mise en œuvre de Druid, je testais SuperSet. Je l'aimais. Pour Druid, c'est très rapide.

Il ne convient pas à ClickHouse. Autrement dit, il s'adapte, il démarre, mais est prêt à traiter uniquement des requêtes élémentaires telles que : événement SELECT, événement GROUP BY. Il ne prend pas en charge la syntaxe ClickHouse plus complexe.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Le prochain outil est Apache Zeppelin. C'est une bonne et intéressante chose. Travaux. Il prend en charge les blocs-notes, les tableaux de bord et les variables. Je sais que quelqu'un de la communauté ClickHouse l'utilise.

Mais la syntaxe ClickHouse n'est pas prise en charge, c'est-à-dire que vous devrez écrire des requêtes soit dans la console, soit ailleurs. Ensuite, vérifiez que tout fonctionne. C'est juste gênant. Mais il dispose d’un bon support de tableau de bord.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Le prochain outil est Redash.IO. Redash est hébergé sur Internet. Autrement dit, contrairement aux outils précédents, il n’est pas nécessaire de l’installer. Et il s'agit d'un tableau de bord avec la possibilité de consolider les données de différentes sources de données. Autrement dit, vous pouvez télécharger depuis ClickHouse, depuis MySQL, depuis PostgreSQL et depuis d'autres bases de données.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Il y a à peine un mois (mars 2017), un support est apparu dans Grafana. Lorsque vous créez des rapports dans Grafana, par exemple, sur l'état de votre matériel ou sur certaines métriques, vous pouvez désormais créer directement le même graphique ou une sorte de panneau à partir des données de ClickHouse. C'est très pratique et nous l'utilisons nous-mêmes. Cela vous permet de trouver des anomalies. Autrement dit, si quelque chose se produit et qu'un matériel tombe en panne ou devient tendu, vous pouvez alors en rechercher la raison si ces données ont réussi à pénétrer dans ClickHouse.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

J'ai trouvé très gênant d'écrire dans ces outils ou dans la console. Et j'ai décidé d'améliorer notre première interface. Et j'ai eu l'idée d'EventSQL, SeperSet, Zeppelin.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Qu'est-ce que tu voulais? Je voulais obtenir des graphiques, un éditeur amélioré et implémenter la prise en charge des dictionnaires d'indices. Parce que ClickHouse a une fonctionnalité intéressante : les dictionnaires. Mais il est difficile de travailler avec des dictionnaires, car il faut se souvenir du format des valeurs stockées, c'est-à-dire s'il s'agit d'un nombre ou d'une chaîne, etc. Et comme nous utilisons souvent des dictionnaires dans leurs différentes variantes, il était assez difficile d'écrire des requêtes.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

3 mois se sont écoulés depuis la sortie de notre première version. J'ai effectué environ 330 commits sur une branche privée et il s'est avéré que c'était Tabix.

Contrairement à la version précédente, qui s'appelait ClickHouse-Frontend, j'ai décidé de la renommer en un nom simple. Et il s’est avéré que c’était Tabix.

Qu'est-ce qui est apparu ?

Dessine des graphiques. Prend en charge la syntaxe ClickHouse SQL. Donne des conseils sur les fonctions et peut faire beaucoup de choses intéressantes.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Voici à quoi ressemble le schéma général Tabix. A gauche, un arbre. Au centre se trouve l'éditeur de requêtes. Et ci-dessous le résultat de cette demande.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Ensuite, je vais vous montrer comment fonctionne l'éditeur de requêtes.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Ici, la saisie semi-automatique fonctionne automatiquement sur la table et demande, en conséquence, la saisie semi-automatique pour les champs. Et des conseils sur les fonctions. Si vous appuyez sur ctrl enter, la requête sera exécutée ou échouera avec une erreur. La requête la plus simple est envoyée à Tabix et le résultat est obtenu, c'est-à-dire que vous pouvez travailler rapidement avec ClickHouse.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Les dictionnaires, comme je l'ai déjà dit, sont une chose très intéressante avec laquelle nous travaillons beaucoup. Et qui nous a permis de faire beaucoup de choses. Disons que nous stockons toutes les villes dans des dictionnaires. Nous stockons l'identifiant de la ville et le nom de la ville, sa latitude et sa longitude. Et dans la base de données, nous stockons uniquement l'identifiant de la ville. En conséquence, nous compressons les données très fortement.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Cela semble être une chose simple, mais cela aide ClickHouse d'une manière très intéressante. Étant donné que ClickHouse ne prend en charge que les jointures imbriquées, la requête se développe suffisamment vers le bas et est suffisamment large. Et lorsque le crochet s'ouvre et qu'une longue expression apparaît, quelque chose d'aussi simple que de réduire la requête facilite le travail avec la requête elle-même. Parce que lorsque la requête fait 200 à 300 lignes de long et est très large, il est très utile de réduire la requête, puis de trouver un endroit ou de la localiser d'une manière ou d'une autre.

Arbre d'objets, multirequêtes et onglets (Vidéo 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Ensuite, je vais vous montrer l'arborescence et les onglets. A gauche se trouve un arbre ; en haut vous pouvez créer plusieurs onglets. Les onglets sont comme un espace de travail. Vous pouvez créer plusieurs onglets et nommer chacun différemment. C'est comme un mini-système pour créer un rapport.

Les onglets sont automatiquement enregistrés. Si vous redémarrez votre navigateur ou fermez ou ouvrez Tabix, tout cela sera enregistré.

Raccourci clavier - pratique (Vidéo 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Il existe des raccourcis clavier et il y en a beaucoup. J’en ai extrait quelques-uns ici à titre d’exemple. Il s'agit de changer d'onglet, d'exécuter une requête ou d'exécuter plusieurs requêtes.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Je vais vous montrer comment travailler avec le résultat. Nous envoyons une demande. Ici, je dessine sin, cos et tg. Vous pouvez mettre en évidence le résultat, c'est-à-dire dessiner une carte type pour une colonne. Vous pouvez mettre en évidence des valeurs positives ou négatives. Ou coloriez simplement un élément de tableau spécifique. C'est pratique lorsque la table est immense et que vous devez trouver une anomalie avec vos yeux. Lorsque je cherchais des anomalies, je surlignais certaines lignes, certains éléments en vert ou en rouge.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Il y a beaucoup de choses intéressantes là-bas. Par exemple, comment copier dans Redmine Markdown. Si vous devez copier le résultat quelque part, c'est très pratique. Vous pouvez simplement sélectionner une zone, dire « Copier vers Redmine » et elle sera copiée dans Redmine Markdown ou créera une requête Où.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vient ensuite l’optimisation des requêtes. J'ai oublié une fois de préciser le champ « date ». Et ma demande dans ClickHouse n'a pas été traitée très, très rapidement, mais rapidement, c'est-à-dire moins d'une seconde. Quand j’ai vu combien de lignes il avait parcourues, j’ai eu peur. Nous n’écrivons pas autant de lignes dans ce tableau par jour. J'ai commencé à analyser la demande et j'ai vu que j'avais manqué un rendez-vous à un endroit. Autrement dit, j'ai oublié d'indiquer que je n'ai pas besoin de données pour l'ensemble du tableau, mais pour une période spécifique.

Tabix a un onglet « Statistiques », qui stocke l'historique complet des requêtes envoyées, c'est-à-dire que vous pouvez y voir combien de lignes ont été lues par cette requête et combien de temps il a fallu pour l'exécuter. Cela permet une optimisation.

Vous pouvez créer un tableau croisé dynamique sur le résultat de la requête. Vous avez envoyé une demande à ClickHouse et reçu des données. Et puis vous pouvez déplacer ces données avec votre souris et créer une sorte de tableau croisé dynamique.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

La prochaine chose intéressante est le complot. Disons que nous avons la requête suivante : pour le péché, cos de 0 à 299. Et pour le dessiner, vous devez sélectionner l'onglet « Dessiner » et vous obtiendrez un graphique avec votre péché et votre cos.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vous pouvez diviser cela en différents axes, c'est-à-dire que vous pouvez dessiner deux graphiques côte à côte à la fois. Écrivez une commande et une deuxième commande.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vous pouvez dessiner des histogrammes.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vous pouvez décomposer cela en une matrice de graphiques.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vous pouvez créer une carte thermique.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vous pouvez créer un calendrier thermique. À propos, c'est une chose très pratique lorsqu'il faut analyser des anomalies sur une année, c'est-à-dire trouver des pics ou des baisses. Cette visualisation de données m'a aidé avec cela.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Vient ensuite Treemap.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Sankeys est un graphique intéressant. Il s'appelle Streamgrahps ou River. Mais je l'appelle River. Il permet également de rechercher d'éventuelles anomalies. C'est très confortable. Je recommande de l'utiliser pour la recherche.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

La prochaine chose intéressante est de dessiner une carte dynamique. Si vous stockez la latitude et la longitude dans votre base de données et, par exemple, stockez une destination, si, par exemple, vous faites voler des camions ou des avions, vous pouvez alors tracer des chemins de destination. Là également, vous pouvez définir la vitesse et la taille de ces objets dans lesquels ils volent.

Mais le problème avec cette carte, c'est qu'elle ne fait que dessiner une carte du monde, il n'y a aucun détail.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Plus tard, j'ai ajouté Google Map. Si vous stockez la latitude et la longitude, vous pouvez alors dessiner le résultat sur Google Map, mais sans prise en charge par avion.

Nous avons discuté des principales fonctions de travail avec les résultats et les requêtes dans Tabix.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

La suivante est une analyse de votre serveur ClickHouse. Il existe un onglet « Métriques » distinct, dans lequel vous pouvez voir la taille des données stockées pour chaque colonne. La capture d'écran montre que ce champ « référent » occupe environ 730 Go. Si nous abandonnons ce champ, nous économiserons trois fragments de 700 Go chacun, soit environ 2 To dont nous n'avons pas besoin.

Nous avons également un champ "request_id" que nous stockons dans une chaîne. Mais si nous commençons à le stocker sous forme numérique, ce champ diminuera énormément.

Il affiche également la configuration du serveur et une liste des nœuds de votre cluster.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

L'onglet suivant concerne les métriques. Ils entrent en temps réel avec ClickHouse et permettent simplement d'analyser l'état du serveur et de comprendre ce qui lui arrive. Ceci ne remplace pas le Grafana complet. Ceci est nécessaire pour une analyse rapide.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

L'onglet suivant concerne les processus. Grâce à eux, vous pouvez comprendre ce qui se passe sur le serveur. Comprenez ce qui se passe là-bas. J'ai eu une requête qui consommait 200 Go de lecture à chaque fois. J'ai vu ça grâce à cette interface. Je l'ai attrapé et je l'ai corrigé. Et cela s'est avéré être d'environ 30 Go, soit une performance parfois.

ClickHouse – analyse de données visuellement rapide et intuitive dans Tabix. Igor Stryhar

Merci! Et c'est en OpenSource

J'ai fini. Et d’ailleurs, c’est OpenSource, c’est gratuit et vous n’avez même pas besoin de le télécharger. Ouvrez-le dans un navigateur et tout fonctionnera.

des questions

Igor, quelle est la prochaine étape ? Où allez-vous développer cet outil ?

Ensuite, des tableaux de bord apparaîtront, c'est-à-dire peut-être que des tableaux de bord apparaîtront. Intégration avec d'autres bases de données. Je l'ai fait, mais je ne l'ai pas encore publié en OpenSource. Il s'agit de MySQL et éventuellement de PostgreSQL. Autrement dit, il sera possible d'envoyer des requêtes depuis Tabix non seulement vers ClickHouse, mais également vers d'autres outils.

Il est clair qu’un énorme travail a été accompli. Cela s'est avéré être une idée assez complète. Cela a été fait dans le navigateur, apparemment, afin d'éliminer les béquilles sur toutes sortes d'axes et de tout mettre rapidement en place. J'ai entendu dire que tu étais sur php fonctionne, donc le moyen le plus simple est de le saisir dans le navigateur et cela fonctionnera partout. Il n’y a aucune question à ce sujet. La question est la suivante. Beaucoup de choses ont vraiment été faites là-bas. Combien de personnes ont travaillé là-dessus ? Et combien de temps tout cela a-t-il pris ? Parce que les outils personnalisés n’ont généralement pas beaucoup de fonctionnalités.

Une personne de notre équipe a travaillé de l'été à l'automne. C'était la première version. Ensuite, j'ai effectué 330 commits seul. Ce que vous voyez, mon collègue et moi l'avons fait en deux. En 3 mois, de la toute première version à la dernière, je l'ai surtout fait seul. Mais je ne connais pas très bien Javascript. C'était mon seul et, je l'espère, mon dernier projet Javascript sur lequel j'ai travaillé. Je l'ai eu, j'ai regardé - oh, horreur. Mais je voulais vraiment terminer le produit et c'est ce qui s'est passé.

Merci beaucoup pour le rapport! C'est un excellent outil. AVEC Tableau Avez-vous comparé ?

Merci. C'est pourquoi je l'ai nommé Tabix, car les premières lettres sont les mêmes.

Parce que tu fais de la compétition ?

Il y aura beaucoup d’investissements, nous serons compétitifs.

Comment proposer de vendre aux analystes internes que cet outil remplacera complètement *Tableau*? Quels seront les arguments ?

Fonctionne nativement avec ClickHouse. J'ai essayé Tableau, mais vous ne pouvez pas y écrire de support pour les dictionnaires, etc. Je sais comment les gens travaillent avec Tabix. Ils rédigent une requête, la téléchargent au format CSV et la téléchargent sur BI. Et ils font déjà quelque chose là-bas. Mais j’ai du mal à imaginer comment ils font cela, car il s’agit d’un outil graphique. Il peut décharger 5 000 lignes, un maximum de 6 000 lignes, mais pas plus, sinon le navigateur ne s'en sortira pas.

Autrement dit, il existe de sérieuses limitations sur la quantité de données, n'est-ce pas ?

Oui. Je ne peux pas imaginer que vous souhaitiez télécharger 10 000 lignes dans votre tableau sur l'écran de votre navigateur. Pour quoi?

Cela signifie-t-il qu'il s'agit d'une interface permettant de visualiser rapidement des données ? Tournez-le un peu, tournez-le ?

Oui, voyez rapidement comment cela fonctionne et créez simplement un graphique récapitulatif. Et puis donnez-le quelque part. Nous avons notre propre système de reporting, d'où je prends simplement cette demande. Je dessine dans Tabix et l'envoie à notre reporting.

Et une autre question. Analyse de cohorte ?

S'il y a des demandes, nous l'ajouterons.

Quand avez-vous commencé à l’utiliser ? ClickHouse, combien de temps a duré la mise en œuvre ? Cliquez Maison et amener à état de production ?

Comme je l'ai dit, nous avons mis en place un cluster de tests en très peu de temps. Nous l'avons déployé en deux jours. Et nous l'avons testé pendant encore quelques semaines. Et nous avons atteint la production en 3 mois, mais nous avions notre propre ETL, c'est-à-dire un outil d'enregistrement des données. Et il a écrit tout ce qu'il pouvait. Il peut écrire en MongoDB, Cassandra, MySQL. C'était facile de lui apprendre à écrire dans ClickHouse. Nous disposions d’une infrastructure prête à l’emploi pour une mise en œuvre rapide. En trois mois, nous avons commencé à jeter le premier composant. En 3 mois nous avons complètement abandonné tout le reste. Il ne nous reste qu'un seul ClickHouse.

Igor, merci beaucoup pour le rapport. J'ai vraiment aimé la fonctionnalité de création de chemins à l'aide de cartes. Existe-t-il des projets d'intégration avec Yandex.Maps et en particulier avec Yandex.Maps personnalisés ?

J'ai essayé d'intégrer Google Map à la place, mais je n'ai pas trouvé de thème sombre sur Yandex.Maps. Je ne vous ai pas dit un seul morceau. Je vais rembobiner pour ajouter.

Diapositive – Carte Google. Il y a une commande « DRAW_GMAPS », qui dessine une carte. Il existe une commande «DRAW_YMAPS», c'est-à-dire qu'elle peut dessiner un Yandex.Map. Mais en fait, sous cette commande se trouve Javascript, c'est-à-dire que les données que vous recevez de ClickHouse peuvent être transférées vers Javascript, que vous écrivez ici. Et vous disposez d’une zone de sortie où il doit être dessiné. Vous pouvez dessiner n'importe quel graphique, c'est-à-dire n'importe quel graphique, carte, vous pouvez dessiner votre propre composant. Avant cela, j'avais une autre bibliothèque pour dessiner les graphiques eux-mêmes.

Autrement dit, existe-t-il un outil pour personnaliser la fonctionnalité d'affichage ?

N'importe lequel. Vous pouvez prendre et recolorer ces points, en les rendant non pas rouges, mais bleus, verts.

Merci pour le rapport! Vous aviez une diapositive présentant des outils de requête alternatifs Cliquez Maison pour créer des tableaux de bord et des rapports analytiques. Je comprends qu'au moment où vous avez commencé à travailler avec ClickHouse, aucun adaptateur n'a été écrit pour ces outils. Et je me demande pourquoi vous avez décidé de créer votre propre outil, au lieu d'écrire un adaptateur pour un outil prêt à l'emploi ? Je pense que peaufiner l'éditeur de test est rapide. Pourquoi avez-vous décidé de faire autant de travail ?

Il y a un point intéressant ici : le fait est que je suis un directeur technique, pas un data scientist. Au moment où nous avons commencé à implémenter Druid, ma feuille de route comportait environ 50 % des tâches - calculons cela, ou calculons cela, ou analysons cela. Et il s'est avéré que nous avons implémenté ClickHouse. Et il a commencé à tout construire rapidement, à compter et a rapidement clôturé sa feuille de route. Et à ce moment-là, j'ai réalisé que je manquais de connaissances en science des données et en visualisation de données. Tabix est en quelque sorte mon devoir pour apprendre la visualisation de données. Je cherchais comment compléter Zeppelin. J'ai une légère aversion pour sa programmation. Redash J'ai regardé comment l'ajouter, mais un éditeur normal me suffisait. Et SuperSet est aussi écrit dans un langage que je n’aime pas vraiment. J’ai donc décidé de faire du vélo, et c’est ce qui s’est passé.

Igor, acceptez-vous les demandes Pull ?

Oui.

Merci beaucoup pour le rapport! Et deux questions. Premièrement, vous ne parlez pas de façon très flatteuse de Javascript. Avez-vous écrit en Javascript pur ou s'agit-il d'une sorte de framework ?*

Mieux en Javascript nu.

Alors quel cadre ?

Angulaire.

Il est clair. Et la deuxième question. Avez-vous envisagé R и *Brillant**?*

J’y ai pensé. Joué.

Vous pouvez également simplement écrire un adaptateur.

Il est. Il semble que la communauté l'ait fait, mais, comme j'ai répondu à la question précédente, je voulais l'essayer moi-même.

*Non, concernant la visualisation, elle est là aussi.

Vous dites qu'une telle chose existe et elle vous dessinera un graphique. J'ai ouvert un livre sur la visualisation de données. Et j’ai pensé : « Laissez-moi essayer de visualiser ces données. Je vais lui écrire pour qu’il puisse reconstituer les données. Et j'ai commencé à mieux comprendre la technologie de fourniture de données. Et si j'avais pris un composant prêt à l'emploi, j'aurais personnellement appris pire comment l'utiliser, c'est-à-dire la visualisation. Mais oui, j’ai aimé R, mais je n’ai pas encore lu le livre « R pour les nuls ».

Je vous remercie!

Question simple. Existe-t-il des moyens de télécharger rapidement un panneau ou un horaire ?

Peut être téléchargé au format CSV ou Excel.

Pas des données, mais une plaque toute faite, un graphique tout fait ? Par exemple, pour montrer au patron.

Il y a un bouton « Télécharger » et un bouton « Télécharger le graphique en png, en jpg ».

Je vous remercie!

PS Mini-instructions pour l'installation de tabix

  • télécharger dernière version
  • Décompresser, copier le répertoire build dans nginx root_path
  • Configurer nginx

Source: habr.com

Ajouter un commentaire