在 Amazon Athena 中使用 Apache Spark
Amazon Athena 让您可以轻松使用 Apache Spark 以交互方式运行数据分析和探索,无需规划、配置或管理资源。在 Athena 上运行 Apache Spark 应用程序意味着,无需额外配置即可提交 Spark 代码进行处理和直接接收结果。您可以使用 Amazon Athena 控制台中简化的笔记本体验,以通过 Python 或 Athena notebook API 开发 Apache Spark 应用程序。Amazon Athena 上的 Apache Spark 无服务器,可通过提供即时计算实现自动按需扩展,从而满足不断变化的数据卷和处理要求。
Amazon Athena 提供以下功能:
-
控制台用法 – 从 Amazon Athena 控制台提交 Spark 应用程序。
-
脚本编写 – 在 Python 中以交互方式快速构建和调试 Apache Spark 应用程序。
-
动态扩展 – Amazon Athena 会自动确定运行任务所需的计算和内存资源,并不断相应地将这些资源扩展到您指定的最大值。这种动态扩展可以在不影响速度的情况下降低成本。
-
笔记本体验 – 使用 Athena 笔记本编辑器通过熟悉的界面创建、编辑和运行计算。Athena 笔记本与 Jupyter notebook 兼容,并且包含按顺序执行计算的单元格列表。单元格内容可以包括代码、文本、Markdown、数学运算、绘图和富媒体。
有关其他信息,请参阅 AWS 大数据博客中的 Run Spark SQL on Amazon Athena Spark
注意事项和限制
-
目前,Amazon Athena for Apache Spark 可在以下 AWS 区域 中使用:
-
亚太地区(孟买)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
欧洲地区(法兰克福)
-
欧洲(爱尔兰)
-
美国东部(弗吉尼亚州北部)
-
美国东部(俄亥俄州)
-
美国西部(俄勒冈州)
-
-
不支持 AWS Lake Formation。
-
不支持使用分区投影的表。
-
启用 Apache Spark 的工作组可以使用 Athena 笔记本编辑器,但不能使用 Athena 查询编辑器。只有 Athena SQL 工作组可以使用 Athena 查询编辑器。
-
不支持跨引擎视图查询。Athena for Spark 无法查询 Athena SQL 创建的视图。由于这两个引擎的视图实现方式不同,因此它们与跨引擎使用不兼容。
-
不支持 MLlib(Apache Spark 机器学习库)和
pyspark.ml
包。有关支持的 Python 库列表,请参阅 预安装的 Python 库列表。 -
目前,Athena for Spark 会话不支持
pip install
。 -
每个笔记本电脑实例只允许一个活动会话。
-
当多个用户使用控制台打开工作组中的一个现有会话时,他们将访问同一个笔记本电脑实例。为避免混淆,请仅打开您自己创建的会话。
-
可能与 Amazon Athena 配合使用的 Apache Spark 应用程序的托管域(例如
analytics-gateway.us-east-1.amazonaws.com
)已注册到互联网公共后缀列表(PSL)。如果需要在域中设置敏感 Cookie,建议您使用带有 __Host-
前缀的 Cookie 来帮助保护自己的域免受跨站点请求伪造(CSRF)攻击。要了解更多信息,请参阅 Mozilla.org 开发人员文档中的 Set-Cookie页面。 -
有关对 Athena 中 Spark 笔记本、会话和工作组问题进行故障排除的信息,请参阅 对 Athena for Spark 进行故障排除。