微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 ETL (AWS Glue) 聚合数据,以便我们可以使用 Athena 按特定属性仅选择一定百分比的数据

如何解决如何使用 ETL (AWS Glue) 聚合数据,以便我们可以使用 Athena 按特定属性仅选择一定百分比的数据

如果有更好的地方可以问这类问题,请告诉我。

我有一项服务可以存储和尝试阅读文档。对于每个文档,服务都会有一定的信心提取和阅读行和词。

单个文档的负载(ETL 前)如下所示

{
        "Blocks": [
            {
                "Type": "LINE","Confidence": 90
                "Value": "this is a sentence"
                ...
            },{
                "Type": "WORD","Confidence": 99
                "Value": "this"
                ...
            },"Confidence": 97
                "Value": "is"
                ...
            },"Confidence": 89
                "Value": "a"
                ...
            },"Confidence": 99
                "Value": "sentence"
                ...
            },"Confidence": 50
            },{
                "Type": "LINE","Confidence": 90
                "Value": "example of another line"
                ...
            },...
        ]
    }

我正在寻找 ETL 聚合函数的高级算法或想法,以便我可以使用 Athena 进行查询,该查询会给我类似的结果

“给我所有文档,其中 30% 的词有信心 > 60”

解决方法

你不需要etl,athena可以原生读取json,见

https://docs.aws.amazon.com/athena/latest/ug/querying-JSON.html

在您创建好表格之后,接下来就是为您的任务编写正确的查询。你的陈述“给我所有的文档,其中有 x% 的单词有一些信任”是非常标准的。详细信息取决于您如何定义表格列,但您可以这样做:

SELECT docid from mytable group by docid
 having count_if(confidende>60)* 1./count(*) > 0.3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。