分析R中的Elasticsearch数据

使用标准R函数和您选择的开发环境,使用CDlastic JDBC Driver for Elasticsearch分析Elasticsearch数据。

您可以在任何可以安装R和Java的计算机上使用纯R脚本和标准SQL访问Elasticsearch数据。您可以使用适用于Elasticsearch的CData JDBC驱动程序和RJDBC软件包来处理R中的远程Elasticsearch数据。通过使用CData驱动程序,您可以利用为经过行业验证的标准编写的驱动程序来访问流行的开源数据R语言。本文介绍如何使用驱动程序对Elasticsearch执行SQL查询,并通过调用标准R函数可视化Elasticsearch数据。

安装R.

您可以通过运行多线程Microsoft R Open或运行与BLAS / LAPACK库链接的open R来匹配多线程和托管代码的驱动程序性能增益。本文使用Microsoft R Open 3.2.3,它预先配置为从CRAN存储库的2016年1月1日快照安装软件包。此快照确保了可重复性。

加载RJDBC包

要使用该驱动程序,请下载RJDBC软件包。安装RJDBC软件包后,以下行加载软件包:

library(RJDBC)

连接到Elasticsearch作为JDBC数据源

您将需要以下信息才能作为JDBC数据源连接到Elasticsearch:

  • 驱动程序类:将此设置为 cdata.jdbc.elasticsearch.ElasticsearchDriver
  • 类路径:将其设置为驱动程序JAR的位置。默认情况下,这是安装文件夹的lib子文件夹。

DBI函数(例如 dbConnectdbSendQuery )提供了用于在R中写入数据访问代码的统一接口。使用以下行初始化可以向Elasticsearch的CData JDBC驱动程序发出JDBC请求的DBI驱动程序:

driver  < -  JDBC(driverClass  =  “ cdata.jdbc.elasticsearch.ElasticsearchDriver”,classPath  =  “ MyInstallationDir \ l ib \ c data.jdbc.elasticsearch.jar”,identifier.quote  =  “ '”)

您现在可以使用DBI函数连接到Elasticsearch并执行SQL查询。使用该dbConnect 函数初始化JDBC连接 。以下是典型的JDBC连接字符串:

conn  < -  dbConnect(driver,“ Server = 127.0.0.1; Port = 9200; User = admin; Password = 123456;”)

设置要连接的服务器和端口连接属性。要进行身份验证,请设置“用户”和“密码”属性,PKI(公钥基础结构)属性或两者。要使用PKI,请设置SSLClientCert,SSLClientCertType,SSLClientCertSubject和SSLClientCertPassword属性。

数据提供程序使用X-Pack Security进行TLS / SSL和身份验证。要通过TLS / SSL进行连接,请在Server值前加上“https://”。注意:必须在X-Pack上启用TLS / SSL和客户端身份验证才能使用PKI。

连接数据提供程序后,X-Pack将根据您配置的域执行用户身份验证和授予角色权限。

架构发现

驱动程序将Elasticsearch API建模为关系表,视图和存储过程。使用以下行检索表列表:

dbListTables(conn)

执行SQL查询

您可以使用该 dbGetQuery 函数执行Elasticsearch API支持的任何SQL查询:

orders  < -  dbGetQuery(conn,“ SELECT Orders.Freight,Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId = Orders.CustomerId”)

您可以使用以下命令在数据查看器窗口中查看结果:

View(orders)

绘制Elasticsearch数据

您现在可以使用CRAN存储库中提供的任何数据可视化包来分析Elasticsearch数据。您可以使用内置条形图功能创建简单的条形图:

par(las=2,ps=10,mar=c(5,15,4,2))
barplot(orders$Freight, main="Elasticsearch Orders", names.arg = orders$OrderName, horiz=TRUE)

原文标题《Analyze Elasticsearch Data in R》

作者:Jerd Johnson

译者:Sonia

不代表云加社区观点,更多详情请查看原文链接

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维

ELK Stack最新版本测试一安装篇

filebeat1.0.0-rc2  logstash2.0.0-1  elasticsearch2.0.0  kibana4.2

1202
来自专栏CaiRui

LAMP=Linux+Apache+Mysql+Php

一、当前互联网主流web服务 静态服务: 1.apache---中小型静态web服务的主流,web服务器中的老大哥 2.nginx---大型新型网络静态web服...

29210
来自专栏运维小白

Linux基础(day42)

11.14/11.15 Apache和PHP结合 配置httpd支持php目录概要 httpd主配置文件/usr/local/apache2.4/conf/ht...

2267
来自专栏十月梦想

phpstudy配置多端口虚拟主机

找到phpstudy安装目录进入apache文件夹下的conf文件夹打开vhost.conf,新增一下配置

1784
来自专栏计算机编程

SNS项目笔记<四>--RXjs简要用法

在命令行输入ionic g provider youProviderName 在创建好后,系统会自动导入从@angular/http里导入Http这个类,方便后...

1444
来自专栏较真的前端

客户端会话级存储:session Storage与session Cookie的区别

2354
来自专栏JadePeng的技术博客

K8S集群安装

主要参考 https://github.com/opsnull/follow-me-install-kubernetes-cluster

5992
来自专栏coding

django2实战2.创建博客应用创建应用文章表的字段设计激活应用开启后台将post模型注册到后台自定义文章显示字段增加可选操作

上篇创建了一个项目,项目相当于站点,应用即是独立的功能模块。比如:淘宝是一个完整的网站,即是一个项目。而淘宝下的聚划算属于一个应用

1633
来自专栏运维小白

11.19/11.20 域名跳转

域名跳转概要目录 需求,把123.com域名跳转到www.123.com,配置如下: <VirtualHost *:80> DocumentRoot "...

3429
来自专栏云计算教程系列

如何在Ubuntu 18.04上将Apache Web Root移动到新位置

在Ubuntu上,Apache Web服务器将其文档存储在/var/www/html中,该文档通常位于具有其余操作系统的根文件系统上。但有时,将文档根移动到另一...

500

扫码关注云+社区

领取腾讯云代金券