问题标签 [amazon-athena]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - AWS Athena: use "folder" name as partition
I have thousands of individual json files (corresponding to one Table row) stored in s3 with the following path: s3://my-bucket/<date>/dataXX.json
When I create my table in DDL, is it possible to have the data partitioned by the present in the S3 path ? (or at least add the value in a new column)
Thanks
r - R Connect to AWS Athena
I am attempting to connect to AWS Athena based upon what I have read online, but I am having issues.
Steps taking
- Update Java
- replace user/pass with accesskey/secretKey
- pass accesskey/secretKey with user/pass as well
Any ideas?
Error Message:
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], : java.sql.SQLException: AWS accessId/secretKey or AWS credentials provider must be provided
System Information
Code https://www.r-bloggers.com/interacting-with-amazon-athena-from-r/
amazon-web-services - Amazon Athena 不解析云端日志
我正在遵循Athena 入门指南并尝试解析我自己的 Cloudfront 日志。但是,这些字段没有被解析。
我用了一个小测试文件,如下:
并使用此 SQL 创建表:
但没有数据回来:
我可以看到它返回 4 行,但应该排除前 2 行,因为它们以 # 开头,所以就像没有正确解析正则表达式一样。
难道我做错了什么?还是正则表达式错误(似乎不太可能,因为它在文档中,对我来说看起来不错)?
amazon-web-services - Amazon Athena 表创建失败,“在输入‘创建外部’时没有可行的替代方案”
这是我第一次尝试在 Athena 中制作我自己的表,所以请保持温和 :) 我还有几个基于 AWS 示例的表,在这个数据库中运行没有任何问题,所以我相信数据库设置正确。
另外,我确定我的正则表达式很糟糕,请暂时忽略它!
我在 S3 上存储了一些 vpc 流日志,日志文件的格式为:
我的表格基于此处发布的 AWS 示例。我创建的查询是:
每次我运行查询时都会收到一个错误:
我已经看了几个小时了,试图找到拼写错误或缺少元素,但我被卡住了!谁能看到这里有什么问题?
谢谢,
凯利。
hive - msck 修复表查询不起作用
我已经以这样的配置单元格式将分区数据存储在 s3 中。
我在 Athena 中创建了一个外部表
每天都会在 s3 中添加新分区并将其加载到 athena 表中,我运行以下查询
但不知何故,上面的查询失败了,元数据没有被加载。
我完全陷入其中。
任何帮助都会得到帮助。
提前致谢
sql - 如何为每个空格分配一个带有 regexp_extract 的字符串(SQL-Athena)
我目前正在将我们的 webserverlog 中的消息分成几行
例如:我的消息(数据类型字符串)如下所示:
at=info method=GET path="/v1/..." host=web.com request_id=a3d71fa9-9501-4bfe-8462-54301a976d74 fwd="xxx.xx" dyno=web.1 connect=1ms service=167ms status=200 bytes=1114
我想把这些分成几行:
我在标准 SQL 中使用 Amazon Athena 上的 regexp_extract 函数(第一次),并且已经从字符串中取出了几行,但我正在努力处理几行。
例如,当我尝试从字符串中切出测功机时,我得到的信息比我需要的多
我想要dyno=web.1
结果然后再次提取
如果我将字符串从开头(“dyno =”)剪切到“connect =”之前的空白处,那就太好了,但我在阅读的网站中找不到正确的选项。
我如何编写选项来获得正确的字符串?
presto - Presto 是否开箱即用地在内部缓存中间结果?
Presto 有多个连接器。虽然连接器确实实现了读取和写入操作,但从我阅读的所有教程来看,它们似乎通常用作仅读取的数据源。例如,netflix在 Amazon S3 上有“10 PB”的数据,他们明确声明 Presto 工作节点上没有使用磁盘(也没有 HDFS)。所述用例是“临时交互式”查询。
此外,Amazon Athena 本质上是 S3+Presto,并带有类似的用例。
我很困惑这如何在实践中起作用。显然,您不想在每个查询中读取 10 PB 的数据。所以我假设,您希望将一些以前获取的数据保留在内存中,例如数据库索引。但是,由于对数据和查询没有限制,我无法理解这如何有效。
用例 1:我经常运行相同的查询,例如在仪表板上显示指标。Presto 是否避免重新扫描已经“已知”的数据点?
用例 2:我正在分析一个大型数据集。每个查询都略有不同,但是有公共子查询或者我们过滤到数据的公共子集。Presto 是否从以前的查询中学习并结转中间结果?
或者,如果不是这种情况,是否建议我将中间结果存储在某处(例如 CREATE TABLE AS ...)?
hive - 如何过滤进入 AWS Hive 表的多行 JSON 数据
我有一个 AWS IoT 规则,它将传入的 JSON 发送到 Kinesis Firehose。
来自我的 IoT 发布的 JSON 数据都集中在一行上 - 例如:
管理 UI 中的 IoT“测试”部分允许您发布消息,默认为以下(注意格式化的多行 JSON):
我将 Firehose 流式传输到 S3,然后由 EMR 转换为柱状格式,最终由 Athena 使用。
问题是,在转换为列格式期间,Hive(特别是JSON SerDe)无法处理跨越多行的 JSON 对象。它会破坏转换,而不是转换良好的单行 JSON 记录。
我的问题是:
- 如何设置 FireHose 以忽略多行 JSON?
- 如果不可能,如何告诉 Hive 在加载到表之前删除换行符,或者至少捕获异常并尝试继续?
在定义 Hive 表时,我已经尝试忽略格式错误的 JSON:
这是我进行转换的完整 HQL:
sql - 如何在关于不同长度的 / 之后切割字符串并变成行 - (SQL Athena)
我目前正在从我们的网络服务器请求日志中删除路径。这些在数据类型字符串中,具有不同的长度,看起来像这样:
我想要做的是每/切这些刺并将它们排成行
它应该看起来像这样
我如何在 Athena 中使用 SQL 进行编码?