ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Suxiro que lea a transcrición do informe de 2017 de Igor Stryhar "ClickHouse: análise de datos visualmente rápida e clara en Tabix".

Interface web para ClickHouse no proxecto Tabix.
Características clave:

  • Funciona con ClickHouse directamente desde o navegador, sen necesidade de instalar software adicional;
  • Editor de consultas con resaltado de sintaxe;
  • Autocompletar comandos;
  • Ferramentas para a análise gráfica da execución de consultas;
  • Esquemas de cores para escoller.
    ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar


ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Son o director técnico de SMI2. Somos un agregador de noticias de intercambio de noticias. Almacenamos moitos datos que recibimos dos nosos socios e rexistrámolos en ClickHouse: unhas 30 solicitudes por segundo.

Estes son datos como:

  • Clics nas noticias.
  • Mostra de noticias no agregador.
  • Os banners aparecen na nosa rede.
  • E rexistramos eventos desde o noso propio contador, que é semellante a Yandex.Metrica. Esta é a nosa propia microanalítica.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Tivemos unha vida moi axitada antes de ClickHouse. Sufrimos moito, tentando gardar estes datos nalgún lugar e analizalos dalgún xeito.

A vida antes de ClickHouse – infiniDB

O primeiro que tivemos foi infiniDB. Ela viviu connosco durante 4 anos. Lanzámolo con dificultade.

  • Non admite a agrupación ou a fragmentación. Non saíron cousas tan intelixentes da caixa por defecto.
  • Ten dificultades para cargar datos. Só unha utilidade de consola específica que só podería cargar ficheiros CSV e só dun xeito moi pouco claro.
  • A base de datos é dun só fío. Podes escribir ou ler. Pero permitiu procesar unha gran cantidade de datos.
  • E tamén tiña unha muleta interesante. Todas as noites había que reiniciar o servidor, se non, non funcionaría.

Ela traballou para nós ata finais de 2016, cando cambiamos completamente a ClickHouse.

A vida antes de ClickHouse - Cassandra

Dado que infiniDB era dun só fío, decidimos que necesitabamos algún tipo de base de datos multiproceso na que puidésemos escribir moitos fíos ao mesmo tempo.

Probamos moitas cousas interesantes. Entón decidimos probar a Cassandra. Todo foi xenial con Cassandra. 10 solicitudes por segundo por oferta. 000 solicitudes nalgún lugar para ler.

Pero tamén tiña os seus propios intereses. Unha vez ao mes ou unha vez cada dous meses experimentou unha desincronización da base de datos. E tiven que espertar e correr para arranxar a Cassandra. Os servidores reiniciáronse un por un. E todo quedou suave e fermoso.

A vida antes de ClickHouse - Druid

Entón decatámonos de que necesitabamos escribir aínda máis datos. En 2016 comezamos a ver Druid.

Druid é un software de código aberto escrito en Java. Moi específico. E era adecuado para clickstream, cando necesitamos almacenar algún tipo de fluxo de eventos e despois realizar a agregación neles ou facer informes analíticos.

Druid tiña a versión 0.9.X.

A base de datos en si é moi difícil de implementar. Esta é a complexidade da infraestrutura. Para implantalo, foi necesario instalar moito, moito ferro. E cada peza de hardware era responsable do seu propio papel.

Para cargar datos nel, era necesario utilizar algún tipo de chamanismo. Hai un proxecto OpenSource - Tranquility, que estaba perdendo datos de nós nun fluxo. Cando cargamos datos nel, perdeunos.

Pero dalgunha maneira comezamos a implementala. Nós, coma ourizos que se drogaban pero seguíamos comendo cactos, comezamos a introducilo. Levamos aproximadamente un mes preparar toda a infraestrutura para iso. É dicir, ordenar servidores, configurar roles e automatizar totalmente a implantación. É dicir, no caso de producirse un fallo do clúster, o segundo clúster despregarase automaticamente.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Pero entón ocorreu un milagre. Estaba de vacacións e os meus compañeiros enviáronme unha ligazón habr, que di que Yandex decidiu abrir ClickHouse. Eu digo que imos probalo.

E literalmente en 2 días implantamos un clúster de probas ClickHouse. Comezamos a cargar datos nel. En comparación con infiniDB, isto é elemental; en comparación con Druid, isto é elemental. En comparación con Cassandra, tamén é elemental. Porque se cargas datos de PHP en Cassandra, isto non é elemental.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Que conseguimos? Rendemento en velocidade. Rendemento no almacenamento de datos. É dicir, úsase moito menos espazo no disco. ClickHouse é rápido, é moi rápido en comparación con outros produtos.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

No momento do lanzamento, cando Yandex publicou ClickHouse en OpenSource, só había un cliente de consola. Dende a nosa empresa SMI2 decidimos tentar facer un cliente nativo para a web, para poder abrir unha páxina dende un navegador, escribir unha solicitude e obter o resultado, porque comezamos a escribir moitas solicitudes. Escribir na consola é difícil. E fixemos a nosa primeira versión.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

E nalgún lugar máis preto do inverno do ano pasado, comezaron a aparecer ferramentas de terceiros para traballar con ClickHouse. Estas son ferramentas como:

Vou ver algunhas destas ferramentas, é dicir, aquelas coas que traballei.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Unha boa ferramenta, pero para Druid. Cando se implementaba Druid, estaba probando SuperSet. Gustábame. Para Druid é moi rápido.

Non é adecuado para ClickHouse. É dicir, encaixa, comeza, pero está preparado para procesar só consultas elementais como: evento SELECT, evento GROUP BY. Non admite a sintaxe ClickHouse máis complexa.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A seguinte ferramenta é Apache Zeppelin. Isto é unha cousa boa e interesante. Obras. Admite cadernos, paneis de mando e admite variables. Sei que alguén da comunidade ClickHouse o usa.

Pero non hai soporte para a sintaxe de ClickHouse, é dicir, terás que escribir consultas na consola ou noutro lugar. A continuación, comprobe que todo funciona. É só inconveniente. Pero ten un bo soporte de panel.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A seguinte ferramenta é Redash.IO. Redash está aloxado en Internet. É dicir, a diferenza das ferramentas anteriores, non é necesario instalar. E este é un panel coa capacidade de consolidar datos de diferentes fontes de datos. É dicir, podes descargar desde ClickHouse, desde MySQL, desde PostgreSQL e doutras bases de datos.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Hai só un mes (marzo de 2017), o apoio apareceu en Grafana. Cando creas informes en Grafana, por exemplo, sobre o estado do teu hardware ou sobre algunhas métricas, agora podes crear o mesmo gráfico ou algún tipo de panel a partir de datos de ClickHouse directamente. Isto é moi cómodo e usámolo nós mesmos. Isto permítelle atopar anomalías. É dicir, se ocorre algo e algún hardware cae ou tense, podes ver o motivo se estes datos conseguiron entrar en ClickHouse.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Pareceume moi incómodo escribir nestas ferramentas ou na consola. E decidín mellorar a nosa primeira interface. E teño a idea de EventSQL, SeperSet, Zeppelin.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Que querías? Quería obter gráficos, un editor mellorado e implementar soporte para dicionarios de suxestións. Porque ClickHouse ten unha gran característica: dicionarios. Pero é difícil traballar con dicionarios, porque cómpre lembrar o formato dos valores almacenados, é dicir, é un número ou unha cadea, etc. E dado que a miúdo usamos dicionarios nas súas diferentes variacións, era bastante difícil escribir consultas.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Pasaron 3 meses desde o lanzamento da nosa primeira versión. Fixen uns 330 compromisos nunha sucursal privada e resultou ser Tabix.

A diferenza da versión anterior, que se chamaba ClickHouse-Frontend, decidín cambiarlle o nome a un nome sinxelo. E resultou Tabix.

Que apareceu?

Debuxa gráficos. Admite a sintaxe SQL de ClickHouse. Dá consellos sobre funcións e pode facer moitas cousas interesantes.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Así é o esquema xeral de Tabix. Á esquerda hai unha árbore. No centro está o editor de consultas. E a continuación está o resultado desta solicitude.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A continuación mostrarei como funciona o editor de consultas.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Aquí o autocompletado funciona automaticamente na táboa e solicita, en consecuencia, o autocompletado para os campos. E suxestións sobre funcións. Se preme ctrl Intro, a solicitude executarase ou producirase un erro. A solicitude máis sinxela envíase a Tabix e obtense o resultado, é dicir, pode traballar rapidamente con ClickHouse.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Os dicionarios, como xa dixen, son unha cousa moi interesante coa que traballamos moito. E que nos permitiu facer moitas cousas. Digamos que almacenamos todas as cidades en dicionarios. Almacenamos o identificador e o nome da cidade, a súa latitude e lonxitude. E na base de datos almacenamos só o identificador da cidade. En consecuencia, comprimimos os datos con moita forza.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Isto parece ser algo sinxelo, pero axuda en ClickHouse dun xeito moi interesante. Debido ao feito de que ClickHouse só admite unións aniñadas, a consulta crece o suficientemente cara abaixo. E cando se abre o corchete e aparece algunha expresión longa, algo tan sinxelo como contraer a consulta facilita o traballo coa propia consulta. Porque cando a consulta ten unha lonxitude de 200-300 liñas e un ancho moi grande, é moi útil contraer a consulta e despois atopar algún lugar ou localizala dalgún xeito.

Árbore de obxectos, multiconsultas e pestanas (Vídeo 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A continuación mostrareivos a árbore e as pestanas. Á esquerda hai unha árbore; na parte superior podes crear varias pestanas. As pestanas son como un espazo de traballo. Podes crear varias pestanas e nomear cada unha de forma diferente. É como un mini-sistema para construír un informe.

As pestanas gárdanse automaticamente. Se reinicias o teu navegador ou pechas ou abres Tabix, todo isto gardarase.

Tecla rápida - conveniente (Vídeo 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Hai teclas de acceso rápido e hai bastantes. Extraei algúns deles aquí como exemplo. Isto é cambiar de pestana, executar unha solicitude ou executar varias solicitudes.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Vouche mostrar como traballar co resultado. Enviamos unha solicitude. Aquí estou debuxando sin, cos e tg. Podes destacar o resultado, é dicir, debuxar un mapa típico para unha columna. Pode destacar valores positivos ou negativos. Ou simplemente colorear un elemento específico da táboa. Isto é conveniente cando a mesa é enorme e necesitas atopar algunha anomalía cos teus ollos. Cando buscaba anomalías, destacaba algunhas liñas, algúns elementos en verde ou vermello.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Hai moitas cousas interesantes alí. Por exemplo, como copiar en Redmine Markdown. Se precisa copiar o resultado nalgún lugar, isto é moi cómodo. Pode simplemente seleccionar unha área, dicir "Copiar en Redmine" e copiarase en Redmine Markdown ou creará unha consulta Onde.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

O seguinte é a optimización de consultas. Unha vez esquecín especificar o campo "data". E a miña solicitude en ClickHouse non foi procesada moi, moi rápido, senón rapidamente, é dicir, en menos dun segundo. Cando vin por cantas liñas atravesaba, asusteime. Non escribimos tantas filas nesta táboa nun día. Comecei a analizar a solicitude e vin que me perdera unha cita nun só lugar. É dicir, esquecín indicar que non necesito datos para toda a táboa, senón para un período concreto.

Tabix ten unha pestana "Estadísticas", que almacena todo o historial das solicitudes enviadas, é dicir, alí podes ver cantas liñas foi lida por esta solicitude e canto tempo tardou en executarse. Isto permite a optimización.

Podes crear unha táboa dinámica sobre o resultado da consulta. Enviaches unha solicitude a ClickHouse e recibiches algúns datos. E entón podes mover estes datos co rato e construír algún tipo de táboa dinámica.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

O seguinte interesante é a trama. Digamos que temos a seguinte solicitude: para sin, cos de 0 a 299. E para debuxalo, cómpre seleccionar a pestana "Debuxar" e obterás un gráfico co teu sin e cos.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Podes dividilo en diferentes eixes, é dicir, podes debuxar dous gráficos un ao lado de outro á vez. Escribe un comando e un segundo comando.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Podes debuxar histogramas.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Podes dividilo nunha matriz de gráficos.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Podes construír un mapa de calor.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Podes construír un calendario térmico. Por certo, isto é moi cómodo cando necesitas analizar anomalías ao longo dun ano, é dicir, atopar picos ou caídas. Esta visualización de datos axudoume con isto.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

O seguinte é Treemap.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Sankeys é un gráfico interesante. É Streamgrahps ou River. Pero eu chámolle río. Tamén permite buscar calquera anomalía. É moi cómodo. Recomendo usalo para buscar.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

O seguinte interesante é debuxar un mapa dinámico. Se almacenas a latitude, a lonxitude na túa base de datos e, por exemplo, almacenas un destino, se, por exemplo, tes camións ou avións voando, podes debuxar rutas de destino. Tamén alí podes establecer a velocidade e o tamaño destes obxectos nos que voan.

Pero o problema deste mapa é que só debuxa un mapa do mundo, non hai detalle.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Máis tarde engadín Google Map. Se almacenas a latitude e a lonxitude, podes debuxar o resultado no mapa de Google, pero sen compatibilidade con avións.

Discutimos as principais funcións de traballar con resultados e consultas en Tabix.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

O seguinte é unha análise do seu servidor ClickHouse. Hai unha pestana separada "Métricas", onde podes ver o tamaño dos datos almacenados para cada columna. A captura de pantalla mostra que este campo "referente" ocupa uns 730 Gb. Se abandonamos este campo, aforraremos tres fragmentos de 700 GB cada un, é dicir, uns 2 TB que non necesitamos.

Tamén temos un campo "request_id" que almacenamos nunha cadea. Pero se comezamos a almacenalo en forma numérica, este campo reducirase enormemente.

Tamén mostra a configuración do servidor e unha lista de nós do seu clúster.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A seguinte pestana son as métricas. Entran en tempo real con ClickHouse e simplemente permítenche analizar o estado do servidor e comprender o que está a suceder con el. Este non é un substituto para Grafana completo. Isto é necesario para unha análise rápida.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

A seguinte pestana son procesos. Deles podes entender o que está a suceder no servidor. Entende o que está pasando alí. Tiven unha solicitude que consumía 200 GB de lectura cada vez. Vin isto grazas a esta interface. Collino e corrixíno. E resultou ser uns 30 GB, é dicir, un rendemento ás veces.

ClickHouse: análise de datos visualmente rápida e intuitiva en Tabix. Igor Stryhar

Grazas! E está en OpenSource

Rematei. E por certo, é OpenSource, é gratuíto e nin sequera necesitas descargalo. Ábreo nun navegador e todo funcionará.

preguntas

Igor, que segue? Onde desenvolverá esta ferramenta?

A continuación, aparecerán paneis de control, é dicir, quizais aparezan paneis de control. Integración con outras bases de datos. Fixen isto, pero aínda non o publiquei en OpenSource. Este é MySQL e posiblemente PostgreSQL. É dicir, será posible enviar solicitudes desde Tabix non só a ClickHouse, senón tamén a outras ferramentas.

Está claro que se fixo un traballo enorme. Resultou unha idea bastante completa. Isto fíxose no navegador, ao parecer, para eliminar as muletas en todo tipo de machados e unir todo rapidamente. Oín que estás conectado php funciona, polo que o xeito máis sinxelo é teclea no navegador e funcionará en todas partes. Non hai preguntas sobre isto. A pregunta é esta. Realmente se fixo moito alí. Cantas persoas traballaron nisto? E canto tempo levou todo? Porque as ferramentas personalizadas normalmente non teñen tanta funcionalidade.

Unha persoa do noso equipo traballou dende o verán ata o outono. Esta foi a primeira versión. Despois fixen só 330 commits. O que ves, o meu compañeiro e mais eu fixémolo á metade. En 3 meses, desde a primeira versión ata a última, a maioría fíxeno só. Pero non coñezo moi ben Javascript. Este foi o meu único e, espero, o meu último proxecto Javascript co que traballei. Eu entendín, mirei - oh, horror. Pero tiña moitas ganas de rematar o produto e isto foi o que pasou.

Moitas grazas pola reportaxe! Esta é unha gran ferramenta. CON mesa Comparaches?

Grazas. Por iso púxenlle o nome de Tabix, porque as primeiras letras son as mesmas.

Porque compites?

Haberá moito investimento, competiremos.

Como pode ofrecer vender aos analistas internos que esta ferramenta substituirá completamente *Táboa*? Cales serán os argumentos?

Funciona de forma nativa con ClickHouse. Probei Tableau, pero alí non podes escribir soporte para dicionarios e similares. Sei como a xente traballa con Tabix. Escriben unha consulta, cárgana a CSV e cárgana a BI. E xa están facendo algo alí. Pero cústame imaxinar como fan isto, porque é unha ferramenta gráfica. Pode descargar 5 filas, un máximo de 000 filas, pero non máis, se non, o navegador non o fará fronte.

É dicir, hai algunhas limitacións serias na cantidade de datos, non?

Si. Non podo imaxinar que queiras cargar 10 filas na túa táboa na pantalla do teu navegador. Para qué?

Significa isto que esta é unha interface para ver rapidamente os datos? Retorcelo un pouco, retorceo?

Si, mira rapidamente como funciona e simplemente crea un gráfico de resumo. E despois dálle nalgún lugar. Temos o noso propio sistema de informes, desde onde simplemente tomo esta solicitude. Debuxo en Tabix e mándoo ao noso informe.

E outra pregunta. Análise de cohortes?

Se hai algunha solicitude, engadirémola.

Cando comezaches a usalo? ClickHouse, canto tempo levou a implementación? clickhouse e traendo a estado de produción?

Como dixen, implementamos un clúster de proba en moi pouco tempo. Desplegámolo en dous días. E probámolo durante un par de semanas máis. E chegamos á produción en 3 meses, pero tiñamos o noso propio ETL, é dicir, unha ferramenta para rexistrar datos. E escribiu en todo o que puido. Pode escribir en MongoDB, Cassandra, MySQL. Foi doado ensinarlle a escribir en ClickHouse. Tiñamos unha infraestrutura preparada para unha rápida implementación. En 3 meses comezamos a tirar o primeiro compoñente. En 6 meses abandonamos por completo todo o demais. Só nos queda un ClickHouse.

Igor, moitas grazas pola reportaxe. Gustoume moito a funcionalidade de construír camiños usando mapas. Hai plans para a integración con Yandex.Maps e, en particular, con Yandex.Maps personalizados?

Tentei integrar en lugar do mapa de Google, pero non atopei un tema escuro en Yandex.Maps. Non che dixen unha peza. Rebobinarei para engadir.

Slide - Mapa de Google. Hai un comando "DRAW_GMAPS", que debuxa un mapa. Hai un comando "DRAW_YMAPS", é dicir, pode debuxar un Yandex.Map. Pero de feito, baixo este comando hai Javascript, é dicir, os datos que recibe de ClickHouse pódense transferir a Javascript, que escribe aquí. E tes unha área de saída onde debe ser debuxado. Podes debuxar calquera gráfico, é dicir, calquera gráfico, mapa, podes debuxar o teu propio compoñente. Antes disto, tiña outra biblioteca para debuxar os propios gráficos.

É dicir, existe unha ferramenta para personalizar a funcionalidade de visualización?

Calquera. Podes coller e recolorar estes puntos, facendo que non sexan vermellos, senón azuis e verdes.

Grazas polo informe! Tiveches unha diapositiva que presentaba ferramentas de consulta alternativas clickhouse para crear cadros de mando e informes analíticos. Enténdoo no momento no que comezaches a traballar ClickHouse, non se escribiu ningún adaptador para estas ferramentas. E pregúntome por que decidiches facer a túa propia ferramenta, en lugar de escribir un adaptador para algunha ferramenta preparada? Creo que axustar o editor de probas é rápido. Por que decidiches facer tanto traballo?

Hai un punto interesante aquí: o feito é que son un director técnico, non un científico de datos. Cando comezamos a implementar Druid, a miña folla de ruta tiña preto do 50 % das tarefas: calculemos isto, calculémolo ou analicemos isto. E resultou que implementamos ClickHouse. E comezou a construír todo rapidamente, a contar, e axiña pechou a súa folla de ruta. E nese momento deime conta de que carecía de coñecementos en Data Science e visualización de datos. Tabix é a miña tarefa para aprender a visualización de datos. Estaba mirando como complementar a Zeppelin. Non me gusta a súa programación. Redash Busquei como engadilo, pero un editor normal foi suficiente para min. E SuperSet tamén está escrito nunha linguaxe que non me gusta moito. E entón decidín ir en bicicleta, e isto foi o que pasou.

Igor, aceptas as solicitudes Pull?

Si

Moitas grazas pola reportaxe! E dúas preguntas. En primeiro lugar, non falas de xeito moi halagador Javascript. Escribiches en Javascript simple ou é algún tipo de marco?*

Mellor en Javascript puro.

Entón, que marco?

Angular.

Está claro. E a segunda pregunta. Considerou R и *Brillante**?*

Considerado. Xogado.

Tamén podes escribir un adaptador.

El é. Parece que a comunidade o fixo, pero, como respondín á pregunta anterior, quería probalo eu.

*Non, no que respecta á visualización, tamén está aí.

Dis que hai tal cousa e debuxarache unha gráfica. Abrín un libro sobre visualización de datos. E pensei: “Déixame tentar visualizar estes datos. Vou escribirlle para que poida reconstruír os datos". E comecei a comprender mellor a tecnoloxía de subministración de datos. E se tivese tomado un compoñente listo, persoalmente tería aprendido peor como usalo, é dicir, a visualización. Pero si, gustoume R, pero aínda non lin o libro "R for Dummies".

Grazas!

Pregunta sinxela. Hai algunha maneira de cargar rapidamente un sinal ou unha programación?

Pódese cargar a CSV ou Excel.

Non datos, senón unha placa xa preparada, unha gráfica preparada? Por exemplo, para mostrar o xefe.

Hai un botón "Cargar" e hai un botón "Cargar gráfico en png, en jpg".

Grazas!

PS Mini-instrucións para instalar tabix

  • Descargar último lanzamento
  • Descomprimir, copiar o directorio build en nginx root_path
  • Configurar nginx

Fonte: www.habr.com

Engadir un comentario