Soovitan tutvuda 2017. aasta aruande tĂ”lgendusega, mille autoriks on Igor Strychar «ClickHouse â visuaalselt kiire ja selge andmeanalĂŒĂŒs Tabixis».
ClickHouse'i veebiliides projektis Tabix.
PÔhifunktsioonid:
- Töötab ClickHouse'iga otse brauserist, ilma lisa tarkvara installimise vajaduseta;
- SĂŒntaksihÀÀlestusega pĂ€ringute redaktor;
- KÀskude automaatne lÔpetamine;
- PĂ€ringute tĂ€itmise graafilise analĂŒĂŒsi tööriistad;
- Valitavad vÀrviskeemid.



Olen meedia2. tehniline direktor. Oleme uudiste vahetamise aggregaator. Salvestame palju andmeid, mille saame oma partneritelt ja registreerime need ClickHouse'is â umbes 30 000 pĂ€ringut sekundis.
Need on sellised andmed nagu:
- KlÔpsud uudiste peale.
- Uudiste kuvamised aggregaatoris.
- BÀnnerite kuvamised meie vÔrgustikus.
- Ja registreerime sĂŒndmusi oma enda mÔÔdikust, mis on sarnane Yandex.Metrikale. See on meie isiklik mikroanalĂŒĂŒtika.

Meie elu enne ClickHouse'i oli vĂ€ga keeruline. Meie oli vĂ€ga raskusi, pĂŒĂŒdes neid andmeid kuhugi ladustada ja neid kuidagi analĂŒĂŒsida.
Elu enne ClickHouse'i â infiniDB.
Esimene, mis meil oli, oli infiniDB. See oli meil neli aastat. KĂ€ivitasime selle raskustega.
- See ei toeta klasterdamist ega shardimist. Selliseid tarku lahendusi polnud see vaikimisi ĂŒldse olemas.
- Tal on probleeme andmete laadimisega. Ainult spetsiifiline kÀsurea utiliit, mis suutis laadida ainult CSV-faile ja tegi seda vÀga ebaselgelt.
- Andmebaas on ĂŒhesuunaline. Sa vĂ”isid kas kirjutada vĂ”i lugeda. Kuid see vĂ”imaldas töödelda suurt andmete mahtu.
- Ja tal oli veel ĂŒks huvitav lahendus. Iga öö tuli server vĂ€lja lĂŒlitada, vastasel juhul ei töötanud ta.
Ta töötas meil kuni 2016. aasta lĂ”puni, mil me tĂ€ielikult lĂ€ksime ĂŒle ClickHouse'ile.
Elu enne ClickHouse'i â Cassandra
Kuna infiniDB oli ĂŒhesuunaline, otsustasime, et vajame mingit mitme suunaga andmebaasi, kus saame kirjutada palju erinevaid vooge samaaegselt.
Proovisime palju huvitavaid asju. SeejÀrel otsustasime proovida Cassandra't. Cassandra'ga oli meil kÔik suurepÀrane. 10 000 pÀringut sekundis kirjutamise peal. 2 000 pÀringut kuskil lugemise peal.
Aga tal olid ka omad huvitavad omadused. Kord kuus vĂ”i iga kahe kuu tagant juhtus tal andmebaasi desĂŒnkroonne. Ja tuli ĂŒles Ă€rgata ning jooksuga Cassandra parandama minna. Restartisime serveere vaheldumisi. Ja kĂ”ik muutus sujuvaks ja ilusaks.
Elu enne ClickHouse'i â Druid
Siis saime aru, et peame andmeid veel rohkem kirjutama. 2016. aastal hakkasime Druidit vaatama.
Druid on avatud andmebaas, kirjutatud Java keeles. VĂ€ga spetsiifiline. Ja see sobis clickstream'ile, kui pidi sĂ€ilitama mingit sĂŒndmuste voogu ning hiljem nende pĂ”hjal agregaatide tegemiseks vĂ”i analĂŒĂŒsitud aruannete koostamiseks.
Druid oli versioonis 0.9.X.
Isegi andmebaasi kÀivitamine on vÀga keeruline. See on infrastruktuuri keerukus. Selle kÀivitamiseks tuli palju palju rauda paigaldada. Iga seade vastutas oma eraldi rolli eest.
Andmete laadimiseks sellesse oli vaja rakendada mingit loitsimist. On avatud lĂ€htekoodiga projekt â Tranquility, mis kadus voos andmed. Kui laadisime andmeid sellesse, kaotasime need.
Kuid kuidagi hakkasime seda rakendama. Meie olime nagu siilid, kes torkisid end aga jĂ€tkasid kaktuse söömist, ja alustasime selle rakendamist. Kuskil kulus meil kuu aega, et valmistada kogu selle jaoks vajalik infrastruktuur ette. St. tellida serverid, seadistada rollid, tekitada tĂ€ielik automaatika ĂŒlesseadmise jaoks. St. kui klaster kukub, siis et automaatselt tĂ”useks teine klaster.

Aga siis juhtus ime. Olin puhkusele ja mu kolleegid saadavad mulle lingi , kus rÀÀgitakse, et Yandex otsustas avada ClickHouse. Ma ĂŒtlen, et proovime.
Ja vaid kahe pĂ€evaga seadsime ĂŒles testklastri ClickHouse. Hakkasime sinna andmeid laadima. VĂ”rreldes infiniDB-ga â see on elementaarne, Druidiga vĂ”rreldes â see on elementaarne. VĂ”rreldes Cassandra'ga on samuti elementaarne. Sest kui php-st laadida andmeid Cassandra'sse, siis see ei ole elementaarne.

Mida me saime? TĂ€ituvus kiiruselt. TĂ€ituvus andmete salvestamisel. St. kasutatakse oluliselt vĂ€hem kettaruum. ClickHouse â see on kiire, ta on teiste toodete suhtes vĂ€ga kiire.

Lanseerimise ajal, kui Yandex avaldas ClickHouse'i avatud lĂ€htekoodiga, oli saadaval ainult konsooli klient. Meie ettevĂ”ttes ĐĄĐĐ2 otsustasime proovida luua natiivse veebikliendi, et saaksime brauseris avada lehe, kirjutada pĂ€ringu ja saada tulemuse, sest me hakkasime palju pĂ€ringuid kirjutama. Konsoolis kirjutamine on keeruline. Ja me tegime meie esimese versiooni.

Eelmise aasta talve lÀhedal hakkasid ilmuma kolmandate osapoolte tööriistad ClickHouse'iga töötamiseks. Need tööriistad on nÀiteks:
- .
- .
- . (NĂŒĂŒd )
- .
- .
Vaatan mÔnda neist tööriistadest, st neid, millega ma olen töötanud.

Hea tööriist, kuid Druid'i jaoks. Kui Druid'i rakendamine toimus, vaatasin SuperSet'i. Mulle see meeldis. Druid'iga töötab see vÀga kiiresti.
ClickHouse'i jaoks ei sobi see. St ta sobib, ta töötab, aga suudab ainult elementaarseid pĂ€ringuid nagu: SELECT event, GROUP BY event. Ta ei toeta keerukamat ClickHouse'i sĂŒntaksit.

JÀrgmine tööriist on Apache Zeppelin. See on hea ja huvitav asi. See töötab. Ta toetab mÀrkmike, juhtelemente, toetab muutujaid. Tean, et keegi ClickHouse'i kogukonnast kasutab seda.
Kuid ClickHouse'i sĂŒntaksit ei toetata, st peate pĂ€ringud kirjutama kas konsoolis vĂ”i mujal. Edasi tuleb kontrollida, et kĂ”ik see töötab. See on lihtsalt ebamugav. Kuid sellel on hea toetus armatuurlaudade jaoks.

JÀrgmine tööriist on Redash.IO. Redash on pilves. St erinevalt eelnevatest tööriistadest ei pea seda installima. See on armatuurlaud, mis vÔimaldab andmete konsolideerimist erinevatest andmeallikatest. St vÔite laadida andmeid ClickHouse'ist, MySQL'ist, PostgreSQL'ist ja muudest andmebaasidest.

Umbes kuu aega tagasi (mĂ€rts 2017) lisati Grafana toetus. Kui loote raportite Grafanas, nĂ€iteks oma riistvara vĂ”i mĂ”ne meetri oleku kohta, siis nĂŒĂŒd on vĂ”imalik ehitada sarnane graafik vĂ”i paneel otse ClickHouse'i andmetest. See on vĂ€ga mugav ja me kasutame seda enda juures. See vĂ”imaldab leida anomaaliaid. St kui midagi juhtub ja mĂ”ni riistvara ebaĂ”nnestub vĂ”i pingestub, siis saab vaadata pĂ”hjuseid, kui need andmed on jĂ”udnud ClickHouse'i.

Mul oli nendes tööriistades vÔi konsoolis kirjutamine vÀga ebamugav. Otsustasin tÀiendada oma esimest liidest. Ja sain inspiratsiooni EventSQL, SeperSeti, Zeppelinist.

Mida sooviti? Soovisime saada graafikuid, tĂ€iustatud redigeerijat, rakendada vihjesĂ”nastike tuge. Sest ClickHouse'il on suurepĂ€rane funktsioon â see on sĂ”nastikud. Kuid sĂ”nastikega on keeruline töötada, kuna peab meeles pidama salvestatud vÀÀrtuste formaati, st kas see on number vĂ”i string jne. Kuna me kasutame sageli sĂ”nastikke nende erinevates variatsioonides, oli pĂ€ris keeruline pĂ€ringute kirjutamine.

Kolm kuud on möödunud meie esimesest versioonist. Tehasin umbes 330 commit'i suletud haru ja see sai nimeks Tabix.
Erinevalt eelmisest versioonist, mis kandis nime ClickHouse-Frontend, otsustasin panna sellele lihtsa nime. Ja see sai nimeks Tabix.
Mis on uut?
Joonistab graafikuid. Toetab ClickHouse'i SQL sĂŒntaksit. Annab vihjeid funktsioonide kohta ja oskab palju muud huvitavat.

Nii nĂ€eb vĂ€lja Tabix'i ĂŒldskeem. Vasakul on puu. Keskosas â pĂ€ringu redigeerija. Ja all â selle pĂ€ringu tulemus.

Edasi nÀitan, kuidas pÀringu redigeerija töötab.

Siin töötab automaatne tÀitmine tabelis ja pakub vastavalt automaatset tÀitmist vÀljadele. Ja funktsioonide soovitused. Kui vajutada ctrl + enter, siis pÀring tÀidetakse vÔi ilmneb viga. Lihtsaim pÀring saadetakse Tabixisse ja saadakse tulemus, st Clickhouse'iga saab kiiresti töötada.

SĂ”nastikud, nagu ma juba ĂŒtlesin, on vĂ€ga huvitav asi, millega me palju töötame. Ja see on vĂ”imaldanud paljusid asju teha. NĂ€iteks hoiame sĂ”nastikes kĂ”iki linnu. Salvestame linnade ID ja nime, selle laius- ja pikkuskraadi. Ja andmebaasis hoiame ainult linnade ID. Seega surume andmed vĂ€ga kokku.

See, it seems like a simple thing, but in ClickHouse, it helps in a very interesting way. Because ClickHouse only supports nested joins, the query expands substantially in width and depth. And when a parenthesis opens and thereâs a long expression following, something as simple as folding the query makes it easier to work with the query itself. When a query spans 200-300 lines and is very wide, folding it really helps when trying to find a specific spot or localizing it.
Object tree, multi-queries, and tabs (Video 13:46) )

Next, I'll show you about the tree and tabs. On the left is the tree, and at the top, you can create multiple tabs. Tabs act like workspaces. You can create several tabs and name each one as you wish. It's like a mini-system for building reports.
Tabs are saved automatically. If you refresh the browser or close it, or open Tabix, everything will be saved.
Hotkey â convenient (Video 14:39) )
There are hotkeys, and there are quite a few of them. I've highlighted some here as examples. This includes switching tabs, executing a query, or running several queries.

NĂ€itan, kuidas tulemusega töötada. Saadame pĂ€ringu. Siin joonistan sin, cos ja tg. Saame tulemuse esile tĂ”sta, st tĂŒĂŒpilise kaardi veergu joonistada. Saame esile tĂ”sta positiivsed vĂ”i negatiivsed vÀÀrtused. VĂ”i lihtsalt vĂ€rvida mĂ”nda konkreetset tabeli elementi. See on mugav, kui tabel on tohutu ja silmadega peab leidma mingi anomaalia. Kui ma otsisin anomaaliaid, tĂ”stsin esile mingeid ridu, mingeid elemente rohelise vĂ”i punase vĂ€rviga.

Seal on palju huvitavaid asju. NÀiteks, kuidas kopeerida Redmine'i Markdown'i. Kui on vaja tÔsta tulemus kuhugi, siis on see vÀga mugav. Saame lihtsalt valitud ala esile tÔsta, öelda "Koopia Redmine'i" ja see kopeerib Redmine'i Markdown'i vÔi loob pÀringu, kus on tehtud.

Edasi liigeldes on pĂ€ringute optimeerimine. Ma unustasin korra mĂ€rkida 'date' vĂ€lja. Ja minu pĂ€ring ClickHouse'is töötles andmeid mitte vĂ€ga kiiresti, vaid kiiresti, st vĂ€hem kui sekundiga. Kui ma nĂ€gin, kui palju ridu see lĂ€bib, tundsin ma hirmu. Me ei kirjuta ĂŒhe pĂ€evaga nii palju ridu sellele tabelile. Hakkasin pĂ€ringut analĂŒĂŒsima ja nĂ€gin, et olin ĂŒhes kohas kuupĂ€eva mööda lasknud. St unustasin mĂ€rkida, et mul on andmed vajalikud mitte kogu tabeli jaoks, vaid mingiks konkreetseks ajaperioodiks.
Tabixis on vahekaart 'Stats', kus hoitakse kogu ajaloos saadetud pÀringute kohta, st seal saab vaadata, kui palju ridu selle pÀringu kÀigus loeti ja kui kaua see kestis. See vÔimaldab optimeerida.
PÀringu tulemustest saab koostada kokkuvÔtete tabeli. Te saatsite pÀringu ClickHouse'i, saite mingid andmed. Edasi saate neid andmeid hiirega tÔmmata ja koostada mingisuguse kokkuvÔtete tabeli.

JÀrgmine huvitav asi on graafikute koostamine. Oletame, et meil on selline pÀring: sin, cos vahemikus 0 kuni 299. Ja selle joonistamiseks peate valima vahekaardi 'Draw' ja saate graafiku koos oma sin ja cos vÀÀrtustega.

Seda saab jagada erinevatesse telgedesse, s.t. saab korraga joonistada kahe graafiku kĂ”rval. Kirjutada ĂŒhe kĂ€su ja teise kĂ€su.

Saab joonistada histogramme.

Seda saab jagada graafikute matriksiks.

Saab koostada soojuskaardi.

Saab koostada soojuskalendri. Muide, see on vĂ€ga mugav asi, kui on vaja analĂŒĂŒsida anomaaliaid aasta jooksul, s.t. leida kas tĂ”usu vĂ”i languse. See andmevisualiseerimine aitas mind selles.

JĂ€rgmine on Treemap.


Sankey'd â huvitav graafik. See on kas Streamgraphs vĂ”i River. Kuid ma kutsun seda Riveriks. See vĂ”imaldab samuti otsida teatud anomaaliaid. See on vĂ€ga mugav. Soovitan seda kasutada otsimiseks.

JĂ€rgmine huvitav asi on dĂŒnaamilise kaardi joonistamine. Kui teil on andmebaasis hoitud laiuskraad, pikkuskraad ja nĂ€iteks sihtkoht, kui teil on nĂ€iteks autoveod vĂ”i lennukid lendavad, siis saab joonistada sihtkohti. Seal saab samuti mÀÀrata kiirus, objektide suurus, kuhu nad maanduvad.
Kuid selle kaardi probleem on see, et see joonistab ainult maailmakaarti, detailide puudumisel.

Hiljem lisasin Google'i kaardi. Kui salvestate laius- ja pikkuskraadid, saate tulemuse Google'i kaardile ĂŒles joonistada, kuid ilma lennukite toeta.
RÀÀkisime peamistest funktsioonidest, kuidas tulemusega töötada, ning pÀringust Tabixis.

JĂ€rgmine on teie ClickHouse'i serveri analĂŒĂŒs. On olemas eraldi vahekaart "MÔÔdikud", kus saab vaadata salvestatud andmete suurust iga veeru kohta. Ekraanipildil on nĂ€idatud, et see vĂ€li "referrer" vĂ”tab meilt umbes 730 Gb. Kui loobume sellest vĂ€ljast, sÀÀstame kolm shardi, igaĂŒks 700 GB, st kokku umbes 2 TB, mis ei ole meile vajalik.
Meil on ka vÀli "request_id", mida salvestame stringina. Kuid kui hakkame seda salvestama numbrilisena, vÀhendab see selle vÀlja mahtu tohutult.
Siin on nÀidatud serveri konfiguratsioon ja teie klastrite nodide nimekiri.

JĂ€rgmine vahekaart on mÔÔdikud. Need vĂ”etakse reaalajas ClickHouse'ist ja vĂ”imaldavad lihtsalt analĂŒĂŒsida serveri seisundit ning mĂ”ista, mis sellega juhtub. See ei asenda tĂ€isfunktsionaalset Grafanat. See on vajalik kiireks analĂŒĂŒsimiseks.

JÀrgmine sakk on protsessid. Nende abil saab aru, mis serveris toimub. NÀha, mis seal toimub. Mul oli pÀring, mis tÔmbas lugemisele 200 GB iga kord. Ma nÀgin seda tÀnu sellele liidesele. Tabasin selle Àra ja muutsin. Nii et lÔpuks sai 30 GB, st jÔudlus paranes kordades.

AitÀh! Ja see on OpenSource
Ma lÔpetasin. Ja muide, see on OpenSource, see on tasuta ja isegi pole vaja alla laadida. Avage brauseris ja kÔik töötab.
KĂŒsimused
Igor, mis edasi? Kuidas sa plaanid seda tööriista arendada?
Edasi tuleb vÔib-olla juhtpaneel, st vÔib-olla tuleb juhtpaneel. Integreerimine teiste andmebaasidega. Ma tegin selle, aga pole veel OpenSource'is avaldanud. See on MySQL ja vÔib-olla PostgreSQL. St Tabixist saab saata pÀringuid mitte ainult ClickHouse'i, vaid ka teiste tööriistadega.
On selgelt nĂ€ha, et tehtud on suur hulk tööd. Tuli vĂ€lja piisavalt tĂ€islahendus. Brauseris on see tehtud, ilmselt selleks, et vĂ€ltida igasuguseid nikerdusi ning kiiresti kĂ”ik kokku panna. Ma kuulsin, et te olete php Te töötate, seega on kĂ”ige lihtsam see brauserisse visata, ja see töötab igal pool. Sellega pole kĂŒsimusi. KĂŒll aga on kĂŒsimus selline: seal on tĂ”esti palju tehtud. Kui palju inimesi selle kallal töötas? Ja kui kaua kĂ”ik see aega vĂ”ttis? Sest tööriistad, mis on endale kohandatud, ei oma tavaliselt nii suurt funktsionaalsust.
Suve lĂ”pust kuni sĂŒgiseni töötas meie meeskonnast ĂŒks inimene. See oli esimene versioon. SeejĂ€rel tegin 330 commit'i ĂŒksi. Seda, mida te nĂ€ete, tegime kollegiga koos. Kolme kuu jooksul esimese versiooni juurest viimase juurde tegin suure enamuse töö ise. Aga ma ei tunne Javascripti vĂ€ga hĂ€sti. See oli mu ainus ja, loodetavasti, viimane projekt Javascriptis, millega ma töötasin. See tuli mulle, vaatasin ja mĂ”tlesin: oh Ă”udus. Aga ma tĂ”esti tahtsin toote valmis saada ja siin on tulemus.
AitÀh vÀga esitluse eest! See on suurepÀrane tööriist. Kas Tableau kas vÔrreldi?
AitÀh. SeetÔttu sai Tabix nimeks, sest esimesed tÀhed kattuvad.
Kas te konkureerite?
Palju investeeringuid tuleb, me hakkame konkureerima.
Kuidas soovitate mĂŒĂŒa sisemistele analĂŒĂŒtikutele, et see tööriist asendab tĂ€ielikult *Tableau*? ĐаĐșОД бŃĐŽŃŃ Đ°ŃĐłŃĐŒĐ”ĐœŃŃ?
Töötleb natiivselt ClickHouse'iga. Olen proovinud Tableau'd, aga seal ei saa sÔnaraamatute tuge kirjutada ja muud taolist. Tean, kuidas Tabixiga inimesed töötavad. Nad kirjutavad pÀringu, ekspordivad CSV-sse ja laadivad BI-sse. Ja seal teevad midagi. Kuid ma ei suuda ette kujutada, kuidas nad seda teevad, sest see on graafiline tööriist. See suudab eksportida 5000 rida, maksimaalselt 6000 rida, aga mitte rohkem, muidu brauser ei pea vastu.
T. e. seal on mingid tÔsised piirangud andmete mahule, jah?
Jah. Ma ei suuda ette kujutada, et sooviksite 10 000 rida ekraanile brauserisse eksportida. Milleks?
Eeldatakse, et see on liides kiireks andmete vaatamiseks? KÔige natuke keeramiseks, pööramiseks?
Jah, kiiresti vaadata, kuidas see töötab ja lihtsalt koostada kokkuvĂ”tte graafik. Ja siis saata kuhugi. Meil on omaenda raportite sĂŒsteem, kust ma lihtsalt vĂ”tan selle pĂ€ringu. Joonistan Tabixis ja saadan meie raportisse.
Ja veel ĂŒks kĂŒsimus. KohtaanalĂŒĂŒs?
Kui on soove, lisame.
Kui just hakkasime kasutama ClickHouse'i, kui kaua vÔttis aega rakendamine ClickHouse ja viimine tootmisolekusse?
Nagu ma ĂŒtlesin, lĂ”ime testklastri vĂ€ga kiirelt. Me seadistasime selle kahe pĂ€evaga. Ja seejĂ€rel testisime seda paar nĂ€dalat. Productioni jĂ”udsime umbes kolme kuu pĂ€rast. Kuid meil oli oma ETL, st andmete salvestamise tööriist. See salvestas andmeid kĂ”ikjale, kuhu vĂ”imalik. Ta oskab salvestada MongoDB-sse, Cassandra'sse, MySQL-i. Ăpetada teda salvestama ClickHouse'i oli lihtne. Meil oli olemas valmis infrastruktuur kiireks juurutamiseks. Umbes kolme kuu jooksul hakkasime esimest komponenti vĂ€lja liinilt vĂ”tma. Kuue kuu jooksul loobusime tĂ€ielikult kĂ”igest muust. Meil jĂ€i alles ainult ClickHouse.
Igor, suur tÀnu ettekande eest. Mulle vÀga meeldis marsruutide koostamise funktsionaalsus kaartidel. Kas on plaanis integreerida Yandex.Maps'i ja konkreetselt kohandatud Yandex.Maps'iga?
Proovisin integreeruda Google Maps'i asemel, kuid ma ei leidnud Yandex.Maps'is tumedat teemat. Ma ei rÀÀkinud ĂŒhest osast. Rullin tagasi, et tĂ€iendust lisada.
Slaid â Google kaardil. Seal on kĂ€sk âDRAW_GMAPSâ, mis joonistab kaardi. On olemas ka kĂ€sk âDRAW_YMAPSâ, mis joonistab Yandexi kaardi. Tegelikult on selle kĂ€sku taga Javascript, st andmed, mille saate ClickHouse'ist, saab edastada Javascript'i, mille siin kirjutate. Ja teil on vĂ€ljund, kuhu see peab joonistuma. Saate joonistada mistahes graafiku, st mistahes graafiku, kaardi, vĂ”i omaenda komponendi. Mul oli enne seda teine raamatukogu graafikute joonistamiseks.
St. seal on tööriist, et kohandada kuvamise funktsioone?
Mingeid. Saate vĂ”tta ja need punktid ĂŒmber joonistada, muutes need mitte punasteks, vaid sinisteks vĂ”i rohelisteks.
AitĂ€h ettekande eest! Teil oli slaid, kus tutvustati alternatiivseid tööriistu pĂ€ringute jaoks. ClickHouse dashboard'ide ja analĂŒĂŒtiliste raportite koostamiseks. Nii et sain aru, et hetkel, kui hakkasite töötama... ClickHouse, nende tööriistade jaoks ei ole adaptereid kirjutatud. Mind huvitab, miks otsustasite teha oma tööriista selle asemel, et kirjutada adapter mĂ”nele valmisseadmele? Ma arvan, et testiredaktori hÀÀlestamine on kiire. Miks otsustasite teha nii palju tööd?
Siin on huvitav nĂŒanss â ma olen tehniline direktor, mitte andmete teadlane. Selleks ajaks, kui hakkasime Druid'i rakendama, oli minu tegevuskavas umbes 50% ĂŒlesannetest â kas me saaksime seda arvutada vĂ”i kas me saaksime seda analĂŒĂŒsida. Ja siis sai ClickHouse'i rakendamine kiiresti teoks. Hakkasin kiiresti ehitama, arvutama, ja lĂ”petasin oma tegevuskava. Ja siis taipasin, et mul on puudu teadmised andmete teadusest ja andmete visualiseerimisest. Tabix on minu kodutöö andmete visualiseerimise uurimiseks. Olin vaadanud, kuidas Zeppelinit tĂ€iendada. Mul on kerge mittearmastus selle programmeerimise vastu. Redashi vaatasin ka, kuidas tĂ€iendada, kuid seal oli puudu normaalne redaktor. Ja SuperSet on samuti kirjutatud keeles, mida ma vĂ€ga ei armasta. SeetĂ”ttu otsustasin seejĂ€rel ise midagi luua ning siin ongi tulemus.
Igor, kas sa vÔtad pull requesti vastu?
Jah.
Suur tĂ€nu ettekande eest! Ja kaks kĂŒsimust. Esimene â sa ei ĂŒtle vĂ€ga kiitvalt Javascripti kohta. Kas sa kodeerisid puhtas Javascriptis vĂ”i oli see mingisugune raamistik?
Parem on puhas Javascript.
Nii mis raamistik see siis on?
Angular.
Selge. Ja teine kĂŒsimus. Kas oled kaalunud R ja *Shiny**?*
Olen kaalunud. MĂ€ngisin natuke.
Samuti oleks vÔinud lihtsalt adapteri kirjutada.
See on olemas. Tundub, et kogukond on selle teinud, aga nagu ma eelnevale kĂŒsimusele vastasin, tahtsin ma ise proovida.
*Ei, visualiseerimise osas, seal on ju olemas.
Sa ĂŒtled, et on selline asi ja see joonistab sulle graafiku. Avasin raamatu andmete visualiseerimise kohta ja mĂ”tlesin: âProoviksin neid andmeid visualiseerida. Kirjutan ise, et see andmed ĂŒles ehitaks.â Ja hakkasin paremini aru saama andmete esitamise tehnoloogiast. Kui oleksin kasutanud valmis komponenti, siis isiklikult oleksin halvemini Ă”ppinud seda kasutama, st just visualiseerimise osas. Aga jah, R meeldis mulle, kuid ma pole veel lugenud raamatut âR algajateleâ.
AitÀh!
Lihtne kĂŒsimus. Kas on vĂ”imalik kiiresti tabelit, graafikut vĂ€lja eksportida?
Sa saad eksportida CSV-sse, Excelisse.
Kas see pole andmed, vaid valmis tabel vÔi diagramm? NÀiteks, et nÀidata juhtkonnale.
On nupp âEksportaâ ja nupp âEksportida diagramm png- vĂ”i jpg-formaadisâ.
AitÀh!
P.S. LĂŒhike juhend tabixi installimiseks
- Laadi alla
- Puhta kausta lahti pakkida ja kopeerida
buildnginx root_path - Seadistada nginx
Allikas: habr.com

