问题标签 [amazon-s3-select]
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.
ruby-on-rails - 如何使用 s3-select 获取 s3 json 文件中子对象的计数?
我使用 Ruby-on-Rails将我的 json 文件存储在aws-s3中。物体看起来像,
我想使用s3-select获取员工对象的数量。
sql - 无法使用 AWS S3 Select 对 JSON 进行查询
我正在尝试使用 aws 查询 JSON 对象s3-select
。我的 JSON 数组结构是这样的:
数组中的所有对象都具有相同的属性。现在我想执行一个查询来返回所有标题等于的对象,比如说,mysql
或athena
。
我在 aws 控制台中尝试了很多不同的脚本,但都没有奏效。它返回一个空数组/对象或给出一个错误。例如:
我的 JSON 数组结构是否错误(因为我的对象没有键名)?我怎样才能做到这一点?
sql - S3 选择无效路径组件
我试图弄清楚如何使用 AWS S3 Select,一切看起来都很简单,但是下面的查询就是不想工作:
select r.value from S3Object[*].outputs.private_subnets r
上面的返回Invalid Path component.
这是我正在使用的 JSON:
我只是不明白错误,是value
SQL中的特殊词吗?
这是我到目前为止尝试过的
select r from S3Object[*].outputs.private_subnets r
:
select r.type from S3Object[*].outputs.private_subnets r
:
所以我只是不明白有什么问题value
。
java - s3 select:如何获取镶木地板文件的列名?
我s3 select
用来读取存储在 S3 存储桶中的大型镶木地板文件的前 10 行。我能够获得csv
格式的前 10 行,但它没有任何标题。它只包含没有任何列名的行。
有什么方法可以像我们一样获取这个 parquet 文件的标题或 CSV 文件?在 CSV 文件中,我们可以设置FileHeaderInfo
参数IGNORE
来获取标题。无论如何也对镶木地板文件做同样的事情吗?
如果没有,有没有其他方法可以读取这个 parquet 文件的前 10 行,以便我可以获取 parquet 数据的标题?
我正在阅读使用InputSerialization
文档中描述的以下逻辑的 S3 选择:
java - 如何使用 s3 select 从镶木地板文件中获取所有列的列表?
我有一个存储在 S3 存储桶中的镶木地板文件。我想获取镶木地板文件的所有列的列表。我正在使用s3 select
,但它只是给了我所有行的列表,没有任何列标题。
无论如何从这个镶木地板文件中获取所有列名而不完全下载它?由于 parquet 文件可能非常大,我不想下载整个 parquet 文件,这就是为什么我使用s3 select
选择前几行的原因
我试图通过执行显式获取列名
但它不起作用,因为 AWS S3 还不支持这一点。
有没有其他方法可以达到同样的效果?
json - 使用 AWS S3-select 获取 json 文件中对象计数的 SQL 表达式
我在 S3 中有一个具有以下结构的 json 文件
以下 SQL 函数可以很好地查找联系人数量
但有时,json 文件本身并没有那个contacs
键,例如,
在这种情况下,上面的 sql 返回联系人计数为 1,但我希望它返回“零”。
如何动态重写 sql 来处理文件内容?
amazon-web-services - 在 s3 选择查询中转义单引号
样本数据,存储在 S3 的文件中。如您所见,我的数据格式是每行一个 json
我的最终目标是按姓氏查询,并使用 like 运算符和用户提供的子字符串。所以我一步一步从易到难:
此查询有效并返回所有行:
好的!让我们继续。我尝试的下一个查询有效并按预期返回 John Smith
下一步是通过姓氏的子字符串进行尝试。让我们找出所有姓氏以“O”开头的人。
这有效并返回我的数据集中的两个玛丽。
下一步是行不通的。我想查找姓氏以 O 和撇号开头的所有用户。这是我做不到的。我试过了:
它们都不起作用。如何在 s3 select 中将单引号 (') 放在字符串文字中?
amazon-web-services - AWS S3 Select - 从 2 个不同级别的 json 检索数据
我将此 json 存储在 S3 文件中(这实际上是 aws Comprehend EntitiesDetection 作业的输出 => 意味着我无法控制此 json 的组织方式,它由 AWS 作业本身上传到 S3,所以我可以t 修改此 json 输入的结构):
我需要查找并检索所有类型=PERSON且得分> 0.7的文件,并检索以下数据:人员和文件。
今天我的查询表达式是:
这输出:
这部分很好,但我需要将每个“文本”(人名)与它来自的文件相关联。所以我期望的查询输出是:
如何找回这个?使用https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-select.html尝试了很多可能性,但都没有奏效。
sql - S3 Select - 从 CSV 获取最后 X 秒的数据
我正在使用 Javascript AWS S3 SDK 从我服务器上的 CSV 中提取数据。这是通过以下 SQL 查询语句完成的:
这将正确返回和之间期间的timestamps
和值。parameterX
startTime
endTime
但是,我希望能够从数据集的最后 X 秒(例如命名windowSec
)中动态提取这些值。换句话说,如果timestamps
CSV 中的最后一个(也就是最大值)值是2019-04-17 19:50:55
并且我指定我想要最后 20 秒,我想要在 和 之间2019-04-17 19:50:35
进行观察2019-04-17 19:50:55
。
我可以通过运行初始 S3 选择语句来获取完整timestamps
列并提取其中的最大值来做到这一点。但我认为在 S3 选择查询中有一种“正确”的方式可以直接执行此操作。我在下面尝试过,但我无法让它工作:
任何建议,将不胜感激。
CSV 样本数据(完整数据集):
windowSec = 20 时的预期输出:
编辑:添加示例数据
pyspark - EMR 集群大小对于使用 spark 从 S3 读取数据是否重要
设置:最新 (5.29) AWS EMR、spark、1 个主节点 1 个节点。
第 1 步。我使用 S3Select 解析文件并收集所有文件密钥以从 S3 中提取。步骤 2. 使用 pyspark 在循环中迭代键并执行以下操作
火花 .read .format("s3selectCSV") .load(key) .limit(superhighvalue) .show(superhighvalue)
花了 x 分钟。
当我将集群增加到 1 个主节点和 6 个节点时,我没有看到时间差异。在我看来,我没有使用增加的核心节点。
其他一切,明智的配置都是开箱即用的默认设置,我没有设置任何东西。
所以,我的问题是集群大小对于使用 EMR、Spark 从 S3 读取和检查(比如日志或打印)数据是否重要?