Busca e análise de dados escalável em tempo-real
-
Upload
aecio-santos -
Category
Software
-
view
172 -
download
2
Transcript of Busca e análise de dados escalável em tempo-real
![Page 1: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/1.jpg)
BUSCA E ANÁLISE DE DADOS ESCALÁVEL EMTEMPO-REAL
Aécio Santos@aeciosan
![Page 2: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/2.jpg)
Como fazer busca textual e análise de dados em tempo-real emgrandes bases dados?
![Page 3: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/3.jpg)
![Page 4: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/4.jpg)
BUSCA E ANÁLISE DE DADOS ESCALÁVEL EMTEMPO-REAL
Busca por termos, intervalos numéricos, datas, posicãogeográfica, relevância, etcExecução consultas ad-hoc, agregação e visualização de dadosBusca distribuída com replicação e sharding automáticosNear real-time, latência pequena, respostas em poucos ms
![Page 5: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/5.jpg)
![Page 6: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/6.jpg)
APIRESTJavaPythonRubyPHPJavaScript...
![Page 7: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/7.jpg)
INDEXAÇÃO DE DOCUMENTOSAPI
PUT /{index}/{type}/{?id}
Exemplos$ curl XPUT 'http://localhost:9200/twitter/tweet/1' d '{ "user" : "aeciosan", "post_date" : "20140828T14:00:00", "message" : "Testando o ElasticSearch"}'
$ curl XPUT 'http://localhost:9200/twitter/user/aeciosan' d '{ "user" : "aeciosan", "bio" : "Software Engineer at Zunnit Technologies"}
![Page 8: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/8.jpg)
RECUPERAÇÃO DE DOCUMENTOSAPI
GET /{index}/{type}/{id}
Exemplocurl XGET 'http://localhost:9200/twitter/tweet/1'{ "_index" : "twitter", "_type" : "tweet", "_id" : "1", "_version" : 1, "found": true, "_source" : { "user" : "aeciosan", "post_date" : "20140828T14:00:00", "message" : "Testando o ElasticSearch" }}'
![Page 9: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/9.jpg)
BUSCAAPI
GET /{index}/_search
GET /{index}/{type}/_search
Exemplos$ curl XGET 'http://localhost:9200/twitter/_search?q=user:aeciosan'
$ curl XGET 'http://localhost:9200/twitter/tweet,user/_search?q=user:aeciosan'
$ curl XGET 'http://localhost:9200/_all/tweet/_search?q=message:elasticsearch'
$ curl XPOST 'http://localhost:9200/twitter/tweet/_search' d '{ "query" : { "term" : { "message" : "elasticsearch" } }}'
![Page 10: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/10.jpg)
BUSCAVários de tipos de queries e filtros disponíveis
boolfuzzygeoshapemore like thisrangeregexpwildcard...
![Page 11: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/11.jpg)
BUSCAResposta
{ [...] "hits": [ { "_index": "twitter", "_type": "tweet", "_id": "1", "_score": 0.15342641, "_source": { "user": "aeciosan", "post_date": "20140828T14:00:00", "message": "Testando o ElasticSearch" } }, { "_index": "twitter", "_type": "tweet", "_id": "2", "_score": 0.11506981, "_source": { "user": "aeciosan", "post_date": "20140828T14:01:00", "message": "Apresentação sobre ElasticSearch no BHTEC Talks" } } ]}
![Page 12: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/12.jpg)
AGREGAÇÕESComputações sobre os resultados de uma buscaTipos:
MetricsBucketing
![Page 13: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/13.jpg)
EXEMPLO: DADOS698 documentos: dep_federal
POST /eleicoes2014/dep_federal{ "partido": "PARTIDO", "nome": "NOME", "numero": 9999, "coligacao": "PARTIDO1 / PARTIDO2 / PARTIDO3"}
1200 documentos: dep_estadualPOST /eleicoes2014/dep_estadual{ "partido": "PARTIDO", "nome": "NOME", "numero": 99999, "coligacao": "PARTIDO1 / PARTIDO2 / PARTIDO3"}
![Page 14: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/14.jpg)
EXEMPLO 1POST /eleicoes2014/_search?q=nome:joao{ "size": 2, "aggregations": { "tipo_de_candidato": { "terms": { "field": "_type" } } }}
![Page 15: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/15.jpg)
EXEMPLO 1: RESULTADO{ [...], "aggregations": { "tipo_de_candidato": { "buckets": [ { "key": "dep_estadual", "doc_count": 6 }, { "key": "dep_federal", "doc_count": 2 } ] } }}
![Page 16: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/16.jpg)
EXEMPLO 2POST /eleicoes2014/_search{ "size": 0, "aggregations": { "tipo_de_candidato": { "terms": { "field": "_type" }, "aggregations": { "por_partido": { "terms": { "field": "partido", "size":2 } }, "por_coligacao": { "terms": { "field": "coligacao", "size":2 } }, "numero_stats": { "stats": { "field": "numero" } } } } }}
![Page 17: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/17.jpg)
EXEMPLO 2: RESULTADO{ [...] "aggregations": { "tipo_de_candidato": { "buckets": [ { "key": "dep_estadual", "doc_count": 1200, "numero_stats": { "count": 1200, "min": 10000, "max": 90999, "avg": 36122.61666666667, "sum": 43347140 }, "por_partido": { "buckets": [ { "key": "PT do B", "doc_count": 85 }, { "key": "PC do B", "doc_count": 41 } ] }, "por_coligacao": { "buckets": [ {
![Page 18: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/18.jpg)
AGREGAÇÕES DISPONÍVEISminmaxIPv4 rangeDate histogramGeo distance...
![Page 19: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/19.jpg)
VISUALIZAÇÃO DE DADOS: KIBANA
![Page 20: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/20.jpg)
VISUALIZAÇÃO DE DADOS: KIBANA
![Page 21: Busca e análise de dados escalável em tempo-real](https://reader031.fdocument.pub/reader031/viewer/2022020110/55a4dde31a28ab43768b463b/html5/thumbnails/21.jpg)
OBRIGADO!Aécio Santos