问题标签 [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 数据输入位置
根据文档,当您在 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)复制到没有其他文件的另一个位置并指定其路径?
amazon-web-services - 无法跨数据库删除 aws athena 表
我已经创建了我的测试数据库,名为:test
,有一个名为:test_table
default
我从数据库
执行命令:DROP TABLE IF EXISTS test.test_table
并收到错误消息:
有什么建议吗?
sql - Presto 检查是否为 NULL 并返回默认值(NVL 模拟)
Presto DB 中是否有 NVL 的类似物?
我需要检查一个字段是否为 NULL 并返回一个默认值。
我以某种方式解决了这个问题:
但我很好奇是否有什么东西可以简化这段代码。
json - Athena AWS 错误字段名称和具有 Hive DDL 的多个文件夹
我是 AWS Athena 的新手,我正在尝试查询多个包含 JSON 文件的 S3 存储桶。我遇到了许多在文档中没有任何答案的问题(遗憾的是,他们的错误日志信息不足以尝试自己解决):
- 如何查询以括号命名的 JSON 字段?例如,我有一个名为“Capacity(GB)”的字段,当我尝试包含在 CREATE EXTERNAL 语句中时,我收到一个错误:
您的查询有以下错误:
失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。java.lang.IllegalArgumentException: 错误: : 预期在 'Capacity(GB):string>' 的位置,但找到了 '('。
我的文件位于 S3 的子文件夹中,结构如下:
'location_name/YYYY/MM/DD/appstring/'
我想查询特定应用程序字符串的所有日期(在许多日期中)。有没有可以用来替换日期路径的“通配符”?像这样的东西:
LOCATION 's3://location_name/%/%/%/appstring/'
- 我是否必须使用 CREATE EXTERNAL TABLE 按原样加载原始数据,然后才对其进行查询,或者我可以添加一些内置的 WHERE 语句?具体来说,这样的事情是可能的:
在计费方面会产生什么结果?因为现在我正在构建这个 CREATE 语句,只是为了再次在 SQL 查询中重用数据。
谢谢!
json - Presto/Athena - 查询以发现 JSON 属性频率?
我定义了一个 Hive 表,其中单列包含 JSON 文本:
是否有 Presto/Athena 查询可以列出 JSON 中出现的所有字段名称及其频率(即属性在表中出现的总次数)?
jdbc - 用于访问 Amazon Athena 的命令行工具
我正在寻找一个命令行工具来查询 Amazon Athena。
它适用于 JDBC,使用驱动程序com.amazonaws.athena.jdbc.AthenaDriver
,但我还没有找到任何适用于它的命令行工具。
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)
有谁知道这里有什么问题??
这是我的整个代码。
arrays - 在 Athena 中检查数组
我在 Athena 有一个表,其中一列是 type array<string>
。但是,当我跑步时
似乎雅典娜没有这个array_contains
功能:
是否有另一种方法来检查数组是否包含特定字符串?
amazon-web-services - 创建表作为替代
我目前正在使用 AWS-Athena,它不支持CREATE TABLE AS
哪个很好,所以我想我会通过做INSERT OVERWRITE DIRECTORY S3://PATH
然后加载来接近它,S3
但显然这似乎也不起作用。如果这两个选项都在窗口之外,我将如何从查询中创建表?