问题标签 [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.

0 投票
2 回答
684 浏览

amazon-web-services - AWS Athena 数据输入位置

根据文档,当您在 Athena 中创建表时,您需要指定输入数据文件在 s3 存储桶中的位置。您只能指定包含该文件的 s3 位置,但不能指定要使用的文件。例如,我在 my-bucket/logs/ 位置有许多不同格式的文件,例如 type1.log.gz、type2.log.gz、type3.log.gz。

目前给出的位置是 's3://my-bucket/logs/'

那么是否可以指定要使用的文件(比如 type2.log.gz)。还是我必须将文件(type2.log.gz)复制到没有其他文件的另一个位置并指定其路径?

0 投票
1 回答
973 浏览

amazon-web-services - 无法跨数据库删除 aws athena 表

我已经创建了我的测试数据库,名为:test,有一个名为:test_table

default我从数据库 执行命令:DROP TABLE IF EXISTS test.test_table并收到错误消息:

有什么建议吗?

0 投票
1 回答
78224 浏览

sql - Presto 检查是否为 NULL 并返回默认值(NVL 模拟)

Presto DB 中是否有 NVL 的类似物?

我需要检查一个字段是否为 NULL 并返回一个默认值。

我以某种方式解决了这个问题:

但我很好奇是否有什么东西可以简化这段代码。

0 投票
1 回答
1609 浏览

json - Athena AWS 错误字段名称和具有 Hive DDL 的多个文件夹

我是 AWS Athena 的新手,我正在尝试查询多个包含 JSON 文件的 S3 存储桶。我遇到了许多在文档中没有任何答案的问题(遗憾的是,他们的错误日志信息不足以尝试自己解决):

  1. 如何查询以括号命名的 JSON 字段?例如,我有一个名为“Capacity(GB)”的字段,当我尝试包含在 CREATE EXTERNAL 语句中时,我收到一个错误:

您的查询有以下错误:

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。java.lang.IllegalArgumentException: 错误: : 预期在 'Capacity(GB):string>' 的位置,但找到了 '('。

  1. 我的文件位于 S3 的子文件夹中,结构如下:

    'location_name/YYYY/MM/DD/appstring/'

我想查询特定应用程序字符串的所有日期(在许多日期中)。有没有可以用来替换日期路径的“通配符”?像这样的东西:

LOCATION 's3://location_name/%/%/%/appstring/'

  1. 我是否必须使用 CREATE EXTERNAL TABLE 按原样加载原始数据,然后才对其进行查询,或者我可以添加一些内置的 WHERE 语句?具体来说,这样的事情是可能的:

在计费方面会产生什么结果?因为现在我正在构建这个 CREATE 语句,只是为了再次在 SQL 查询中重用数据。

谢谢!

0 投票
2 回答
2670 浏览

json - Presto/Athena - 查询以发现 JSON 属性频率?

我定义了一个 Hive 表,其中单列包含 JSON 文本:

是否有 Presto/Athena 查询可以列出 JSON 中出现的所有字段名称及其频率(即属性在表中出现的总次数)?

0 投票
4 回答
5836 浏览

jdbc - 用于访问 Amazon Athena 的命令行工具

我正在寻找一个命令行工具来查询 Amazon Athena。

它适用于 JDBC,使用驱动程序com.amazonaws.athena.jdbc.AthenaDriver,但我还没有找到任何适用于它的命令行工具。

0 投票
1 回答
3100 浏览

python - 与 AWS Athena 的 Python 连接引发错误

我正在尝试通过 Python 2.7.13 运行 AWS Athena SQL 查询并遵循以下两个选项,但在这两种情况下都出现“python.exe 停止工作”错误。我是 python 新手,非常感谢任何帮助。

选项 1:尝试使用 Pyathenajdbc

选项 2:尝试使用 jaydebeapi 仍然是同样的错误

错误消息的屏幕截图

使用 Microsoft Visual Studio 调试 Python 时出现错误消息

python.exe 中 0x00170000 处未处理的异常:0xC0000005:访问冲突。

0 投票
3 回答
3165 浏览

python-2.7 - 在 pyathenajdbc.connect() 中传递 AWS 会话令牌时,无法从 Python 2.7 查询 AWS Athena

我正在尝试使用 pyathenajdbc.connect() 连接到 Athena。我通过多重身份验证设置了 AWS 凭证。当我不在连接字符串中包含 AWS 令牌时,我收到以下错误。

athena_conn = connect(access_key=AWS_KEY_ID, secret_key=AWS_SECRET, s3_staging_dir='s3://abc-pqr-xyz/processed/athena-outputs/',region_name=REGION)

EROR: pyathenajdbc.error.DatabaseError: The security token included in the request is invalid. (Service: AmazonAthena; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: 0d488c0b-1eed-11e7-bad8-711e54af6b73)

当我在连接字符串中包含 AWS 令牌时,出现以下错误 -->

athena_conn = connect(access_key=AWS_KEY_ID, secret_key=AWS_SECRET, token=AWS_SESSION_TOKEN, s3_staging_dir='s3://abc-pqr-xyz/processed/athena-outputs/',region_name=REGION) ERROR: pyathenajdbc.error.DatabaseError: The security token included in the request is invalid. (Service: AmazonAthena; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: 91751051-1eed-11e7-8347-153dfe3d84a6)

有谁知道这里有什么问题??

这是我的整个代码。

0 投票
1 回答
14373 浏览

arrays - 在 Athena 中检查数组

我在 Athena 有一个表,其中一列是 type array<string>。但是,当我跑步时

似乎雅典娜没有这个array_contains功能:

是否有另一种方法来检查数组是否包含特定字符串?

0 投票
2 回答
71 浏览

amazon-web-services - 创建表作为替代

我目前正在使用 AWS-Athena,它不支持CREATE TABLE AS哪个很好,所以我想我会通过做INSERT OVERWRITE DIRECTORY S3://PATH然后加载来接近它,S3但显然这似乎也不起作用。如果这两个选项都在窗口之外,我将如何从查询中创建表?