问题标签 [pyathena]

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 投票
1 回答
1211 浏览

amazon-web-services - 从 s3 存储桶获取的 AWS athena 查询结果文件

目前我正在研究AWS Athena。我们有一个网页将显示查询结果。存储在 s3 存储桶中的数据作为数据湖 AWS Glue 的一部分被提取。

从我们的网页中,多个请求/查询将被抛出到 AWS Athena。由于这是实时查询,因此我不会在此过程中保存查询,而是使用 lambda 函数执行从网页传递的查询,然后显示结果。

现在我可以在 lambda 输出屏幕上看到 json 格式的结果,我们计划获取存储在 s3 中的输出文件并将其推送到网页。我们面临的限制是每个查询结果都以唯一的 UUID 文件名存储在 s3 中,当多个请求命中时,我们如何从 s3 存储桶中获取该数据。

我想到了新的文件创建想法,但是对于一次来自多个地方的多个请求,我们无法使用该概念,我也找不到任何获取输出文件的 athena api。

我想到的第二件事是请求 ID,但我在输出文件中找不到对请求 ID 的任何引用。请建议。

我是雅典娜服务的新手。提前致谢 :)

0 投票
1 回答
812 浏览

python - 如何在 PyAthena 中处理错误并重试?

我有一个每天从本地 Ubuntu 机器运行的 Athena 查询。大多数时候它运行良好。

然而,前几天我得到了(这很长,所以我用了几次 SNIP):

很好,所以我需要处理错误,如果它确实失败了,我想重试。所以我尝试了:

但是,这是行不通的。当 Athena 失败时,它仍然会停止执行(我输入了一个有缺陷的 sql 查询来模拟)。

如何处理异常并执行重试?

我在 Pyathena 问题中发现了这一点,但这对我来说毫无意义,也没有使用说明。

0 投票
1 回答
216 浏览

amazon-athena - pyathena 或 pyathenajdbc 无法使用 `schema_name` 连接其他目录没有得到尊重

我尝试连接新添加的元存储(hive_external_metastore)。但schema_name没有得到荣誉。同样在超集中它不尊重{schema_name}

awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com:443/{schema_name}?s3_staging_dir={s3_staging_dir}

如果有什么需要做的,请告诉我们。任何可以帮助我们的指针

0 投票
2 回答
979 浏览

python - 无法使用 Python 从 AWS Glue 数据库/表中读取数据

我的要求是使用 python 脚本将 AWS Glue 数据库中的数据读取到数据框中。当我研究时,我与图书馆战斗 - “awswrangler”。我正在使用以下代码连接和读取数据:

但是,当我运行上述代码时,我收到以下错误 - “ValueError: year 0 is out of range”


或者,我尝试使用另一个库 - “pyathena”。我尝试使用的代码是:

使用它,我可以检索数据,但它仅在我使用限制时才有效。即,如果我只是无限制地运行查询,即“从 AwsDataCatalog.shared_db.mytable_1 中选择 *”,则会出现错误 - ValueError: year 0 is out of range

奇怪的行为- 例如,如果我运行:

有时它会给出相同的错误,如果我只是降低限制值并运行(例如限制 1199),然后当我再次以限制 1200 运行它时,它会起作用。但如果我试图读取超过 1300 行,这将不起作用。我在表中总共有 2002 行。我需要阅读整个表格。

请帮忙!谢谢!

0 投票
1 回答
1525 浏览

python - Pyathena“s3_staging_dir”文件 - 我怎样才能得到这个文件名来使用它?

我正在使用 Pyathena 运行基本查询:

因此,当查询执行时,暂存文件夹中会出现一个文件,例如:

我希望我的代码能够捕获该文件名并将其保存用于其他目的。但是怎么做?我在 Pyathena 文档中找不到任何内容。更新- 我刚刚了解到文件名是查询 ID + .csv!所以我现在正在寻找一种获取 Athena 查询 ID 的方法。

0 投票
2 回答
335 浏览

amazon-web-services - 在 pyathena 中选择数据目录?

我正在尝试使用 pyathena(它看起来比原生 boto3 更简单)来执行一些查询。但是,我无法找到如何定义要使用的数据目录。例如使用 boto3 的查询执行:

并且使用 pyathena 我可以做类似的事情(并且有效):

但是,当我有多个目录时,它如何工作?我错过了什么吗?

谢谢,尼尔。

0 投票
1 回答
2114 浏览

python - 与从 Athena 查询相比,Pyathena 超级慢

我从 AWS Athena 控制台运行查询,需要 10 秒。从Sagemaker使用PyAthena运行相同的查询需要 155 秒。PyAthena 是在减慢速度,还是从 Athena 到 sagemaker 的数据传输如此耗时?

我能做些什么来加快速度?

0 投票
1 回答
1021 浏览

python - 查询 Athena 哪个更快:pyathena 还是 boto3?

哪个更快pyathenaboto3使用 python 脚本查询 AWS Athena 模式?

目前我正在使用 pyathena 查询 Athena 模式,但速度很慢,我知道 boto3 还有另一种选择,但在开始之前需要一些专家的建议。

0 投票
0 回答
250 浏览

python - Jupyter Notebook中的Pyathena找不到aws配置文件

我正在使用 jupyter 笔记本,我正在尝试通过笔记本使用 PyAthena 模块查询 AWS athena。

我在项目中的第一行是:

它适用于我计算机上的任何其他平台(iPython,Pycharm ..),但不适用于 Jupyter Notebook,并返回:

我尝试像这样更改 env 变量:!set AWS_CONFIG_FILE="~/.aws/config"但它没有用。

有任何想法吗?

0 投票
0 回答
98 浏览

python - Pyathena 错误:None 类型没有属性获取

我正在编写一个 python 脚本,以从 aws s3 存储桶导入数据。在某些机器上,它返回 None 类型没有属性 get。在调试 pyathena 时,我发现此错误来自 util.py 文件中的 lambda 表达式,在以下函数中:

有人有什么想法吗?

谢谢