前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分析R中的Elasticsearch数据

分析R中的Elasticsearch数据

原创
作者头像
用户3382876
修改2018-11-05 16:44:52
2.7K0
修改2018-11-05 16:44:52
举报
文章被收录于专栏:技术翻译

使用标准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软件包后,以下行加载软件包:

代码语言:javascript
复制
library(RJDBC)

连接到Elasticsearch作为JDBC数据源

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

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

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

代码语言:javascript
复制
driver  < -  JDBC(driverClass  =  “ cdata.jdbc.elasticsearch.ElasticsearchDriver”,classPath  =  “ MyInstallationDir \ l ib \ c data.jdbc.elasticsearch.jar”,identifier.quote  =  “ '”)

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

代码语言:javascript
复制
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建模为关系表,视图和存储过程。使用以下行检索表列表:

代码语言:javascript
复制
dbListTables(conn)

执行SQL查询

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

代码语言:javascript
复制
orders  < -  dbGetQuery(conn,“ SELECT Orders.Freight,Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId = Orders.CustomerId”)

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

代码语言:javascript
复制
View(orders)

绘制Elasticsearch数据

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

代码语言:javascript
复制
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

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用标准R函数和您选择的开发环境,使用CDlastic JDBC Driver for Elasticsearch分析Elasticsearch数据。
  • 安装R.
  • 加载RJDBC包
  • 连接到Elasticsearch作为JDBC数据源
  • 架构发现
  • 执行SQL查询
  • 绘制Elasticsearch数据
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档