3. 在 Rstudio Server 上配置与 Amazon Athena 的连接
3.1. 登录 Rstudio Server
从 EC2 控制台,获得 EC2 的公网 IP,在浏览器内输入:
http:// RstudioServer-ec2-IP:8787,登录页面输入 2.2 节配置的用户名及密码即可登录。
3.2. 安装 R packages
在 Rstudio 的 Console 中输入:
Bash
3.3. 连接到 Athena
AWS 提供了连接到 JDBC 的驱动,详见:
https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html
这里使用 JDBC 驱动程序版本 2.0.9 版本,符合 JDBC API 4.1 和 4.2 数据标准。更多的安装说明可参考页面中的:JDBC 驱动程序安装和配置指南。
检查访问 Athena 的凭证即环境,即.Renviron 文件中保存的凭证,在 Rstudio 的 Console 中输入:
Bash
下载 Athena JDBC 驱动:
Bash
检查下载:
Bash
设置驱动:
Bash
连接到 Athena,AwsRegio 表明当前 Athena 所在的区域,并设置中间文件及 output 文件的存储位置:
Bash
查询 Athena 自带样例库中的 elb_logs 表:
Bash
在 Rstudio 控制台显示结果
Bash
4. 调用 Athena 进行交互查询
GDELT 是一个大数据存储项目,它提供了自 1979 年至今的全球广播、印刷和网络新闻媒体报道的事件,并按时间和位置索引。其数据量十分庞大,类别也很丰富。
Aws 提供公开数据集,后续以此为例进行 Athena 的使用。
https://registry.opendata.aws/gdelt/
接下来,您将练习从 R 交互式查询 Athena 以进行分析和可视化。
创建数据库和表,这一步也可以在 Athena 界面中完成。
Bash
在 rstudio 中针对新创建的表运行查询,查找每年发生的事件:
Bash
查询的时候可能遇到错误
[Simba]AthenaJDBC Query execution got cancelled for this query:
这时可在 Athena 界面内设置“数据使用控制限制”的范围
进一步查询包含 OBAMA 的事件:
Bash
更多 rjdbc 语法的使用,请参考:https://www.rforge.net/doc/packages/RJDBC/00Index.html
4.1. 进一步优化
针对 Athena 的性能和成本的优化,可阅读《Amazon Athena 的十大性能优化技巧》:
https://aws.amazon.com/cn/blogs/china/top-10-performance-tuning-tips-for-amazon-athena/
为保证 Rstudio server 的安全、稳定,可结合 Amazon Elastic Load Balancing 及 Auto-scaling 来实现,并启用 https 传输。
在多用户的环境,可以结合 ADFS 或 OKTA 进行用户认证。详见 JDBC Driver Installation and Configuration 中认证部分。Guide: https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html
进一步可以使用 Rstudio server Pro,这个版本对多用户的管理和共享做的更完善。
https://aws.amazon.com/marketplace/pp/RStudio-RStudio-Server-Pro-for-AWS/B06W2G9PRY
5. 结论
上面如何使用 Athena 和 R 构建简单的交互式应用程序。Athena 可用于使用标准 SQL 存储和查询大数据应用程序的基础数据,而 R 可用于交互式查询 Athena 并使用 R 提供的功能强大的数据洞察,而数据则安全高效的存放在 S3 上,您只需要为您的使用付费。
作者介绍:
本文转载自 AWS 技术博客。
评论