ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Ik bied aan om de transcriptie van het verslag van Igor Strychar uit 2017 over 'ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix' te bekijken.

Webinterface voor ClickHouse in het Tabix-project.
Belangrijkste mogelijkheden:

  • Werkt direct met ClickHouse vanuit de browser, zonder dat er extra software geïnstalleerd hoeft te worden;
  • Query-editor met syntaxiskleurstelling;
  • Automatische aanvulling van opdrachten;
  • Grafische analysetools voor het uitvoeren van queries;
  • Kleurenschema's om uit te kiezen.
    ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar


Video afspelen

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Ik ben technisch directeur bij СМИ2. Wij zijn een nieuwsuitwisselingsaggregator. We slaan veel gegevens op die we van onze partners ontvangen en registreren deze in ClickHouse – zo'n 30.000 aanvragen per seconde.

Dit zijn gegevens zoals:

  • Klikken op nieuwsitems.
  • Weergaven van nieuws in de aggregator.
  • Weergaven van banners in ons netwerk.
  • En we registreren gebeurtenissen met onze eigen teller, die vergelijkbaar is met Yandex.Metrica. Dit is onze eigen micro-analyse.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

We hadden een zeer tumultueus leven voor ClickHouse. We hadden veel moeite om deze gegevens ergens op te slaan en ze op de een of andere manier te analyseren.

Het leven voor ClickHouse – infiniDB

Het eerste dat we hadden, was infiniDB. We hebben het 4 jaar gebruikt. We hebben het met moeite opgestart.

  • Het ondersteunt geen clustering of sharding. Geen enkele geavanceerde functie was standaard ingesteld.
  • Het had moeite met het laden van gegevens. Slechts een specifieke console-tool die alleen CSV-bestanden kon laden en dat op een behoorlijk onduidelijke manier.
  • De database was single-threaded. Je kon ofwel schrijven, ofwel lezen. Maar het stond toe om een groot volume gegevens te verwerken.
  • En het had nog een interessante hack. Elke nacht moest de server opnieuw worden opgestart, anders functioneerde hij niet.

Het werkte voor ons tot eind 2016, toen we volledig overstapte op ClickHouse.

Het leven voor ClickHouse – Cassandra

Aangezien infiniDB single-threaded was, dachten we dat we een multi-threaded database nodig hadden, waarin we zeer veel gelijktijdige schrijfstromen konden hebben.

We hebben veel interessante dingen geprobeerd. Toen besloten we om Cassandra uit te proberen. Met Cassandra ging alles geweldig. 10.000 aanvragen per seconde op de inzet. Ongeveer 2.000 aanvragen voor lezen.

Maar het had ook zijn eigen interessante aspecten. Een keer per maand of om de twee maanden had het een desynchronisatie van de database. Dan moest je wakker worden en rennen om Cassandra te repareren. We herstartten de servers één voor één. En alles werd weer soepel en mooi.

Het leven vóór ClickHouse – Druid

Toen realiseerden we ons dat we nog meer gegevens moesten schrijven. In 2016 begon het team Druid te verkennen.

Druid is een open database, geschreven in Java. Het is zeer specifiek. Het was geschikt voor clickstream, wanneer we een stroom van gebeurtenissen moesten opslaan en vervolgens aggregaties of analytische rapporten moesten genereren.

Druid had versie 0.9.X.

De database zelf is moeilijk op te zetten. Dit ligt aan de infrastructuurcomplexiteit. Om het op te zetten, moesten we veel hardware aanschaffen. Elk stuk hardware had zijn eigen specifieke rol.

Om gegevens in te laden, moest je een soort van sjamanisme toepassen. Er is een OpenSource-project genaamd Tranquility dat gegevens tijdens de verwerking verloor. Toen we gegevens inlaadden, gingen ze verloren.

Maar op een gegeven moment begonnen we het te integreren. We waren als egels die zich prikten maar toch de cactus bleven eten, en we begonnen het te implementeren. We hadden ongeveer een maand nodig om de hele infrastructuur voor te bereiden. Dat wil zeggen, servers bestellen, rollen instellen en volledige automatisering van de uitrol realiseren. Dat wil zeggen, in geval van een clusteruitval, zou automatisch een tweede cluster worden uitgerold.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Maar toen gebeurde er een wonder. Ik was op vakantie en mijn collega's sturen me een link naar habr, waarin staat dat Yandex heeft besloten om ClickHouse open te stellen. Ik zei dat we het moesten proberen.

En letterlijk binnen 2 dagen hadden we een testcluster ClickHouse opgezet. We begonnen gegevens in te laden. In vergelijking met infiniDB is dit elementair, in vergelijking met Druid is dit elementair. In vergelijking met Cassandra is het ook elementair. Want als je gegevens vanuit php in Cassandra laadt, is dat allesbehalve elementair.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Wat hebben we bereikt? Prestaties in snelheid. Prestaties in gegevensopslag. Dat wil zeggen, er wordt veel minder schijfruimte gebruikt. ClickHouse is snel, het is heel snel vergeleken met andere producten.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Bij de lancering, toen Yandex ClickHouse in OpenSource publiceerde, was er alleen een consoleclient. Bij ons bedrijf СМИ2 besloten we om een native webclient te maken, zodat we vanuit de browser een pagina konden openen, een query schrijven en het resultaat konden ontvangen, omdat we veel queries begonnen te schrijven. Het typen in de console is moeilijk. We hebben onze eerste versie gemaakt.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

En ergens dichter bij de winter vorig jaar begonnen er externe tools te verschijnen voor het werken met ClickHouse. Dit zijn tools zoals:

Ik zal een aantal van deze tools bekijken, dat wil zeggen, degene waarmee ik heb gewerkt.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Een goede tool, maar voor Druid. Toen Druid werd geïmplementeerd, heb ik SuperSet uitgetest. Ik vond het leuk. Het werkt erg snel voor Druid.

Voor ClickHouse is het niet geschikt. Dat wil zeggen, het is geschikt, het start op, maar is alleen bereid om elementaire queries zoals: SELECT event, GROUP BY event te verwerken. Het ondersteunt de complexere syntaxis van ClickHouse niet.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

De volgende tool is Apache Zeppelin. Dit is een goede en interessante zaak. Het werkt. Het ondersteunt notebooks, dashboards en variabelen. Ik weet dat iemand uit de ClickHouse-gemeenschap het gebruikt.

Maar er is geen ondersteuning voor de syntaxis van ClickHouse, dat wil zeggen, je moet queries ofwel in de console of ergens anders schrijven. Vervolgens controleren of dit allemaal werkt. Dat is gewoon onhandig. Maar het dashboarding-ondersteuning is goed.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

De volgende tool is Redash.IO. Redash wordt online gehost. Dat wil zeggen, in tegenstelling tot de vorige tools, hoef je het niet te installeren. Het is een dashboarding tool met de mogelijkheid om gegevens uit verschillende DataSources te consolideren. Dat wil zeggen, je kunt gegevens uit ClickHouse, MySQL, PostgreSQL en andere databases exporteren.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Letterlijk een maand geleden (in maart 2017) kwam er ondersteuning in Grafana. Wanneer je rapporten bouwt in Grafana, bijvoorbeeld over de status van je hardware of bepaalde metrics, kun je nu hetzelfde type grafiek of paneel maken met gegevens uit ClickHouse direct. Dit is erg handig, en we gebruiken het bij ons. Het stelt ons in staat om anomalieën te vinden. Dat wil zeggen, als er iets gebeurt en bepaalde hardware falen of onder druk staat, kun je de oorzaak bekijken, als die gegevens in ClickHouse zijn gekomen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Ik vond het erg onhandig om in deze tools of in de console te schrijven. Dus besloten ik ons eerste interface verder te ontwikkelen. En ik heb het idee van EventSQL, SeperSet, Zeppelin overgenomen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Wat wilde ik? Ik wilde grafieken, een verbeterde editor, en ondersteuning voor woordenboeken en suggesties implementeren. Want ClickHouse heeft een geweldige functie – dat zijn de woordenboeken. Maar werken met woordenboeken is lastig, omdat je het formaat van de opgeslagen waarden moet onthouden, dat wil zeggen of het een getal of een tekenreeks is, enzovoort. Aangezien we vaak woordenboeken in hun verschillende variaties gebruiken, is het erg moeilijk om query's te schrijven.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Er zijn 3 maanden verstreken sinds de release van onze eerste versie. Ik heb ongeveer 330 committs gedaan in de gesloten tak en daar is Tabix uit voortgekomen.

In tegenstelling tot de vorige versie, die ClickHouse-Frontend heette, heb ik besloten het een eenvoudigere naam te geven. En toen is er Tabix ontstaan.

Wat is er verschenen?

Het tekent grafieken. Het ondersteunt de SQL-syntaxis van ClickHouse. Het geeft suggesties voor functies en kan nog veel meer interessante dingen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Zo ziet het algemene schema van Tabix eruit. Links is de boom weergegeven. In het midden bevindt zich de query-editor. En onderaan is het resultaat van deze query.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Ik laat je nu zien hoe de query-editor werkt.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Hier werkt de auto-complete functie automatisch op de tabel en geeft het auto-complete suggesties voor de velden. En suggesties voor functies. Als je ctrl en enter indrukt, wordt de query uitgevoerd of er komt een foutmelding. De eenvoudigste query wordt naar Tabix gestuurd en geeft een resultaat, wat betekent dat je snel met ClickHouse kunt werken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Woordenboeken, zoals ik al zei, zijn een zeer interessante zaak waar we veel mee werken. En die ons in staat heeft gesteld veel dingen te doen. Laten we zeggen, in de woordenboeken slaan we alle steden op. We slaan de identificatie van de stad en de naam van de stad, de breedte- en lengtegraad op. En in de database slaan we alleen de identificatie van de stad op. Daardoor kunnen we de gegevens zeer sterk comprimeren.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Dit lijkt een eenvoudige zaak, maar in ClickHouse helpt het op een interessante manier. Omdat ClickHouse alleen geneste joins ondersteunt, groeit de query aanzienlijk in diepte en breedte. En wanneer de haakjes zich openen en er een lange uitdrukking volgt, helpt iets eenvoudigs als het samenvouwen van de query om beter met de query zelf te werken. Want als de query 200-300 regels bevat en breed is, helpt het enorm om de query samen te vouwen en later een plek te vinden of het op een andere manier te lokaliseren.

Boomstructuur van objecten, multi-queries en tabbladen (Video 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Hier laat ik het overzicht en de tabbladen zien. Links is het overzicht, bovenaan kun je meerdere tabbladen aanmaken. Tabbladen zijn als een workspace. Je kunt meerdere tabbladen maken en elk een eigen naam geven. Het is een soort minisysteem voor het opstellen van een rapport.

Tabbladen worden automatisch opgeslagen. Als je de browser herstart of sluit, of Tabix opent, blijft alles bewaard.

Sneltoets – handig (Video 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Er zijn sneltoetsen en er zijn er best veel. Ik heb er een aantal hier ter voorbeeld uitgelicht. Dit zijn de tabbladswitch, het uitvoeren van een verzoek of het uitvoeren van meerdere verzoeken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Ik laat zien hoe je met het resultaat werkt. We sturen een verzoek. Hier teken ik sin, cos en tg. Je kunt het resultaat markeren, dat wil zeggen een typische kaart op de kolom tekenen. Je kunt positieve of negatieve waarden markeren. Of gewoon een specifiek element in de tabel inkleuren. Dit is handig wanneer de tabel gigantisch is en je met het oog een anomalie moet vinden. Toen ik anomalieën zocht, markeerde ik bepaalde rijen of elementen in het groen of rood.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Er zijn daar veel interessante dingen. Bijvoorbeeld, hoe je in Redmine Markdown kunt kopiëren. Als je een resultaat ergens wilt kopiëren, is dat heel handig. Je kunt gewoon een gebied selecteren, 'Kopiëren naar Redmine' zeggen en het zal in Redmine Markdown worden gekopieerd of een verzoek aanmaken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Daarna – optimalisatie van verzoeken. Ik vergat eens het veld 'date' op te geven. En mijn verzoek in ClickHouse werd niet heel snel, maar snel behandeld, dat wil zeggen, in minder dan een seconde. Toen ik zag hoeveel rijen het doorkwam, werd ik bang. We schrijven op een dag niet zoveel rijen in deze tabel. Ik begon het verzoek te analyseren en zag dat ik op een plek de datum had gemist. Dat wil zeggen, ik vergat op te geven dat ik de gegevens niet uit de hele tabel nodig had, maar voor een specifieke periode.

In Tabix is er een tabblad 'Stats', waar de hele geschiedenis van verzonden verzoeken wordt opgeslagen, dat wil zeggen, daar kun je zien hoeveel rijen door dit verzoek zijn gelezen en hoe lang het heeft geduurd. Dit maakt optimalisatie mogelijk.

Boven de resultaten van het verzoek kan een samenvattende tabel worden gebouwd. Je hebt een verzoek naar ClickHouse gestuurd, een aantal gegevens ontvangen. En dan kun je deze gegevens met de muis verplaatsen en een samenvattende tabel opstellen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Het volgende interessante punt is het maken van grafieken. Laten we zeggen dat we de functie sin en cos van 0 tot 299 hebben. Om deze te tekenen, moet je het tabblad 'Teken' kiezen en ontvang je de grafiek met jouw sin en cos.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Je kunt dit opsplitsen in verschillende assen, dus je kunt twee grafieken naast elkaar tekenen. Schrijf de ene commando en dan de andere.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Je kunt histogrammen tekenen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Je kunt dit opsplitsen in een matrix van grafieken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Je kunt een heatmap maken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Je kunt een heatmap-kalender maken. Dit is trouwens een heel handige tool wanneer je anomalieën over een jaar wilt analyseren, namelijk om uitbarstingen of dalingen te vinden. Deze datavisualisatie heeft me daarbij geholpen.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

De volgende is de Treemap.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Sankeys is een interessante grafiek. Het is ofwel Streamgraphs of River. Maar ik noem het River. Het stelt je ook in staat om anomalieën te zoeken. Het is erg handig. Ik raad aan het te gebruiken voor analyses.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Het volgende interessante punt is het tekenen van een dynamische kaart. Als je in je database breedte- en lengtegraden opslaat, en bijvoorbeeld bestemmingen, zoals bij autovervoer of vliegtuigen, dan kun je de routes naar bestemmingen tekenen. Je kunt ook de snelheid en de grootte van deze objecten instellen.

Maar het probleem met deze kaart is dat hij alleen de wereldkaart tekent, zonder detail.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Uiteindelijk heb ik Google Maps toegevoegd. Als je de breedte- en lengtegraden opslaat, kun je het resultaat op Google Maps tekenen, maar zonder vliegtuigjes ondersteuning.

We hebben de belangrijkste functies voor het werken met de resultaten van de aanvragen in Tabix besproken.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

De volgende is de analyse van jouw ClickHouse-server. Er is een apart tabblad 'Metrieken', waar je de grootte van de opgeslagen gegevens per kolom kunt bekijken. Op de screenshot is te zien dat dit veld 'referrer' ongeveer 730 Gb beslaat. Als we dit veld verwijderen, besparen we drie schijven van elk 700 GB, dat is ongeveer 2 TB dat we niet nodig hebben.

We hebben ook het veld 'request_id', dat we als string opslaan. Maar als we dit in numerieke vorm zouden opslaan, zou dit veld enorm worden gecomprimeerd.

Hier wordt ook de serverconfiguratie en de lijst met knooppunten van jouw cluster weergegeven.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Het volgende tabblad zijn de metriken. Deze worden in realtime uit ClickHouse gehaald en geven je de mogelijkheid om de toestand van de server te analyseren en te begrijpen wat er aan de hand is. Dit is geen vervanging voor een volledige Grafana. Dit is bedoeld om snel analyses uit te voeren.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Het volgende tabblad zijn de processen. Hiermee kun je begrijpen wat er op de server gebeurt. Begrijpen wat daar aan de hand is. Ik had een query die elke keer 200 GB aan leeswerk consumeerde. Dit ontdekte ik dankzij deze interface. Ik heb het kunnen opsporen en aangepast. Het resultaat was ongeveer 30 GB, dus de prestaties zijn aanzienlijk verbeterd.

ClickHouse – visueel snelle en duidelijke gegevensanalyse in Tabix. Igor Strychar

Dank je! En dit is in OpenSource.

Ik ben klaar. En trouwens, dit is in OpenSource, het is gratis en je hoeft het niet te downloaden. Open het in de browser en het zal werken.

Vragen

Igor, wat nu? Hoe ga je deze tool verder ontwikkelen?

Als volgende zal er dashboarding komen, dat wil zeggen, mogelijk zal er dashboarding komen. Integratie met andere databases. Dit heb ik gedaan, maar nog niet gepubliceerd in OpenSource. Dit is MySQL en mogelijk PostgreSQL. Dus het zal mogelijk zijn om vanuit Tabix queries te verzenden, niet alleen naar ClickHouse, maar ook naar andere tools.

Het is duidelijk dat er een enorme hoeveelheid werk is verzet. Het is een behoorlijk compleet idee geworden. In de browser gemaakt, blijkbaar om rompslomp op verschillende systemen te vermijden en snel alles in elkaar te zetten. Ik heb gehoord dat jullie aan php werken, daarom is het het eenvoudigst om alles in de browser te bouwen, en het zal overal werken. Daar zijn geen vragen over. De vraag is: Er is daar echt veel gedaan. Hoeveel mensen hebben hieraan gewerkt? En hoeveel tijd heeft het allemaal gekost? Omdat tools meestal niet zo'n grote functionaliteit hebben.

Van de zomer tot de herfst werkte er één persoon uit ons team aan de eerste versie. Daarna heb ik alleen 330 commits gedaan. Wat je ziet, hebben mijn collega en ik samen gedaan. In 3 maanden heb ik voornamelijk gewerkt van de eerste versie naar de laatste. Maar ik ben niet goed bekend met Javascript. Dit was mijn enige en ik hoop laatste project in Javascript, waar ik aan heb gewerkt. Het werd aan mij toegewezen, ik keek – oh, verschrikking. Maar ik wilde het product echt afmaken en hier is wat het is geworden.

Heel erg bedankt voor de presentatie! Dit is een geweldige tool. Hebben jullie het vergeleken met Tableau? Dank je. Daarom heb ik het Tabix genoemd, omdat de eerste letters overeenkomen.

Omdat jullie concurreren?

Er zullen veel investeringen zijn, we gaan concurreren.

Hoe ga je het intern aan analisten verkopen, dat deze tool volledig

Tableau vervangt? Het werkt op een native manier met ClickHouse. Ik heb Tableau geprobeerd, maar daar kun je geen ondersteuning voor woordenboeken schrijven en dergelijke.? Какие будут аргументы?

Ik weet hoe mensen werken met Tabix. Ze schrijven een query, exporteren naar CSV en laden het in BI. Ik weet hoe mensen met Tabix werken. Ze schrijven een verzoek, exporteren naar CSV en laden het in BI. En daar doen ze al iets mee. Maar ik kan me nauwelijks voorstellen hoe ze dat doen, want het is een grafisch hulpmiddel. Het kan 5000 regels exporteren, maximaal 6000 regels, maar niet meer, anders kan de browser het niet aan.

Dat wil zeggen, er zijn serieuze beperkingen qua datavolume, toch?

Ja. Ik kan me niet voorstellen dat je 10.000 regels op je scherm wilt exporteren in een tabel. Waarom zou je dat doen?

Het is de bedoeling dat dit een interface is voor een snelle dataweergave? Een beetje ronddraaien, draaien?

Ja, snel kijken hoe het werkt en gewoon een samenvattende grafiek bouwen. En daarna ergens anders naartoe sturen. We hebben ons eigen rapportagesysteem, waaruit ik eenvoudig deze aanvraag haal. Ik teken het in Tabix en stuur het naar onze rapportage.

En nog een vraag. Cohortanalyse?

Als er verzoeken zijn, voegen we dat toe.

Toen we net begonnen met het gebruik van ClickHouse, hoeveel tijd kostte de implementatie ClickHouse en het naar productietoestand brengen?

Zoals ik al zei, we hebben het testcluster in zeer korte tijd geïmplementeerd. We hebben het in twee dagen opgezet. En we hebben het een paar weken getest. En we bereikten de productie in ongeveer drie maanden. Maar we hadden onze eigen ETL, dat wil zeggen, een hulpmiddel voor het registreren van gegevens. En het schreef naar alles wat maar kon. Het kan schrijven naar MongoDB, Cassandra, MySQL. Het was eenvoudig om het te leren schrijven naar ClickHouse. We hadden de infrastructuur al klaar voor een snelle implementatie. Na ongeveer drie maanden begonnen we met het uitrollen van de eerste component. Na zes maanden hebben we alles andere volledig afgeschaft. We hebben alleen ClickHouse achtergelaten.

Igor, heel erg bedankt voor de presentatie. Ik vond de functionaliteit van het bouwen van paden op kaarten erg leuk. Is er een integratie gepland met Yandex Maps en in het bijzonder met aangepaste Yandex Maps?

Ik heb geprobeerd te integreren in plaats van Google Maps, maar ik kon het donkere thema op Yandex Maps niet vinden. Ik heb een stukje niet verteld. Ik spoel terug om dit aan te vullen.

Dia – Google kaart. Daar is de opdracht «DRAW_GMAPS», die de kaart tekent. Er is de opdracht «DRAW_YMAPS», wat betekent dat het Yandex Kaart kan tekenen. Onder deze opdracht bevindt zich eigenlijk Javascript, dus de gegevens die je uit ClickHouse verkrijgt, kunnen naar de Javascript worden doorgestuurd, die je hier schrijft. En je hebt een gebied waar het getekend moet worden. Je kunt elk type grafiek tekenen, dat wil zeggen, elke grafiek of kaart, je kunt je eigen component tekenen. Voorheen had ik een andere bibliotheek voor het tekenen van grafieken.

Dat wil zeggen, er is een tool voor het aanpassen van de weergavefunctionaliteit?

Elke. Je kunt deze punten opnieuw kleuren, bijvoorbeeld van rood naar blauw of groen.

Bedankt voor de presentatie! Je had een dia waarop alternatieve tools voor verzoeken werden gepresenteerd ClickHouse voor het bouwen van dashboards en analytische rapporten. Als ik het goed heb, waren er op het moment dat je begon te werken met ClickHouse geen adapters geschreven voor deze tools. En ik ben benieuwd waarom je ervoor koos om je eigen tool te maken in plaats van een adapter voor een bestaande tool te schrijven? Ik denk dat het aanpassen van de testeditor snel kan worden gedaan. Waarom besloot je zoveel werk te verzetten?

Er is een interessant punt – ik ben technisch directeur en geen data scientist. Op het moment dat we met Druid begonnen, had ik zo'n 50% van mijn taken op de roadmap – laten we dit berekenen of laten we dat berekenen, of laten we dit analyseren. Het kwam zo uit dat we ClickHouse implementeerden. En ik begon snel alles op te bouwen en te berekenen, en ik rondde mijn roadmap snel af. Toen besefte ik dat ik niet genoeg kennis had over Data Science en datavisualisatie. Tabix is een soort huiswerk voor mij om datavisualisatie te leren. Ik keek naar hoe ik Zeppelin kon aanvullen. Ik heb een lichte aversie tegen zijn programmeren. Ik heb gekeken hoe ik Redash kon aanvullen, maar ik miste er een goede editor. En ook SuperSet is geschreven in een taal die ik niet leuk vind. Dus besloot ik om zelf iets te maken, en dit is het resultaat.

Igor, accepteer je pull requests?

Ja.

Heel erg bedankt voor de presentatie! En twee vragen. De eerste – je hebt niet zo positief gesproken over Javascript. Schreef je in pure Javascript of was het toch een of andere framework?*

Beter in pure Javascript.

Dus welke framework?

Angular.

Begrijpelijk. En de tweede vraag. Hebben jullie gekeken naar R en *Shiny**?*

Ja, ik heb het bekeken. Ik heb er mee gespeeld.

Je had gewoon een adapter kunnen schrijven.

Die is er. Volgens mij heeft de community het gemaakt, maar zoals ik al op de vorige vraag antwoordde, wilde ik het zelf ook proberen.

*Nee, over visualisatie, daar is iets voor.

Je zegt dat er zoiets is en het maakt een grafiek voor je. Ik heb een boek geopend over datavisualisatie. En dacht: 'Laten we deze gegevens visualiseren. Ik schrijf het zelf, zodat het de gegevens kan opbouwen.' En ik begon beter te begrijpen hoe je de gegevens presenteert. Als ik een kant-en-klaar component had gebruikt, zou ik persoonlijk minder goed leren hoe ik het moest gebruiken, dus de visualisatie. Maar ja, ik vond R leuk, maar ik heb het boek 'R voor Dummies' nog niet gelezen.

Bedankt!

Eenvoudige vraag. Zijn er mogelijkheden om snel een tabel of grafiek te exporteren?

Je kunt exporteren naar CSV, naar Excel.

Geen gegevens, maar een kant-en-klare tabel, een kant-en-klare grafiek? Bijvoorbeeld om aan het management te tonen.

Er is een knop 'Exporteren' en er is een knop 'Exporteren grafiek naar png, naar jpg'.

Bedankt!

P.S. Mini-instructie voor de installatie van tabix

  • Downloaden laatste release
  • Uitpakken, de directory kopiëren build naar nginx root_path
  • nginx configureren

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster