假设我有一个如下表所示的表,它可能包含或不包含给定字段的重复项:
ID URL
--- ------------------
001 http://example.com/adam
002 http://example.com/beth
002 http://example.com/beth?extra=blah
003 http://example.com/charlie
Run Code Online (Sandbox Code Playgroud)
我想写一个Pig脚本,根据单个字段的值只查找DISTINCT行.例如,过滤上面的表ID
应返回如下内容:
ID URL
--- ------------------
001 http://example.com/adam
002 http://example.com/beth
003 http://example.com/charlie
Run Code Online (Sandbox Code Playgroud)
Pig GROUP BY
操作符返回一个按ID分组的元组,如果我知道如何获得每个包的第一个元组(也许是一个单独的问题),它将起作用.
Pig DISTINCT
运算符适用于整行,因此在这种情况下,所有四行都将被视为唯一,这不是我想要的.
出于我的目的,我不关心002
返回哪个具有ID的行.
我想在很长一段时间内(例如,几个月或几年)运行Splunk查询,但我正在搜索足够的数据,我只能搜索数小时或数天的数据.
但是,对于我想在Splunk中回答的问题,我会对统一或统计上无偏见的数据样本感到满意.换句话说,我希望查询返回N个事件在过去一个月内展开,而不是任何N个连续事件.
我考虑的一种方法是仅搜索事件,date_minute=0
以便快速过滤1/60事件,这有助于但不是非常灵活.
有没有更好的方法在Splunk中有效地采样事件?
我对 AWS CloudFormation 如何处理布尔值和布尔值字符串感到困惑。
例如,就 CloudFormation 而言,'true'
and true
(或'false'
and false
)在逻辑上是等价的吗?我在他们的快速入门模板中看到了这两种情况的示例,这让我认为它们是(尽管我还没有找到这方面的文档)。
例如,在他们的模板中,quickstart-compliance-common/templates/vpc-product.template,他们定义了一个“String”类型的变量pSupportsNatGateway
,(尽管它的默认值是文字值,true
):
Parameters:
...
pSupportsNatGateway:
Description: Specifies whether this region supports NAT Gateway (this value is
determined by the main stack if it is invoked from there)
Type: String
Default: true
Run Code Online (Sandbox Code Playgroud)
然后,在模板后面的条件中,将该参数(可能是字符串)与文字值进行比较true
。
Conditions:
...
cSupportsNatGateway:
!Equals
- true
- !Ref pSupportsNatGateway
Run Code Online (Sandbox Code Playgroud)
我的问题是,CloudFormation 如何比较文字值和这些值的字符串?AWS 文档中哪里定义了这个?