gpt4 book ai didi

amazon-athena - athena 跳过以下划线开头的键

转载 作者:行者123 更新时间:2023-12-05 02:15:46 25 4
gpt4 key购买 nike

我正在尝试与 aws athena 合作,对我们存储在 s3 中的 json 文件进行一些查询。所以,我设法创建了一个简单的模式,一切似乎都很好,直到我注意到我的一些文件没有被考虑在内。

文件的键是用户 ID,其中一些以 _ 开头。所有这些都在雅典娜中丢失了。它们存在于 s3 中。我可以得到它们。它们类似于其他文件。但是雅典娜没有看到他们。

显然它不喜欢键开头的下划线。除了重命名所有文件之外,还有其他解决方法吗? key 中其他地方的下划线似乎不是问题。

我的架构(我通过删除字段简化了它):


如果不存在则创建外部表 db.table (
`user_id` 字符串)
行格式 SERDE 'org.openx.data.jsonserde.JsonSerDe'
使用 SERDEPROPERTIES (
'序列化.format' = '1'
) 位置 's3://xyz/myfiles/'
TBLPROPERTIES ('has_encrypted_data'='false');

最佳答案

当您查询表时,Amazon Athena 在后台使用 Presto。Presto 会忽略以下划线 underscore _ 或从 presto 版本 0.60 开始的点开头的文件。这是 Hadoop MapReduce/Hive 的行为

https://prestodb.io/docs/current/release/release-0.60.html

引用function Presto 使用 org.apache.hadoop.hive.common.FileUtils.HIDDEN_FILES_PATH_FILTER 过滤隐藏文件。因为该属性源自 Hive这同样适用于 Hive 表,它将忽略特定位置的文件。

关于amazon-athena - athena 跳过以下划线开头的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51283501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com