athena 跳过以下划线开头的键
athena skipping keys starting with underscore
我正在尝试使用 aws athena 对我们存储在 s3 中的 json 文件进行一些查询。所以,我设法创建了一个简单的模式,一切似乎都很好,直到我注意到我的一些文件没有被考虑在内。
文件的键是用户id,其中一些以_开头。所有这些都在雅典娜中丢失了。它们存在于 s3 中。我可以得到它们。它们类似于其他文件。但是雅典娜没有看到他们。
显然它不喜欢键开头的下划线。除了重命名所有文件之外,还有其他解决方法吗?密钥中其他地方的下划线似乎不是问题。
我的架构(我通过删除字段简化了它):
CREATE EXTERNAL TABLE IF NOT EXISTS db.table (
`user_id` string)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = '1'
) LOCATION 's3://xyz/myfiles/'
TBLPROPERTIES ('has_encrypted_data'='false');
当您查询table时,Amazon Athena 在hood.Presto 下使用Presto 会忽略以下划线下划线_ 或从presto 版本0 开始的点开头的文件。60.This 是Hadoop MapReduce / Hive
的行为
https://prestodb.io/docs/current/release/release-0.60.html
参考 function used by presto to filter the hidden files with org.apache.hadoop.hive.common.FileUtils.HIDDEN_FILES_PATH_FILTER .As the property is derived from Hive 这同样适用于 Hive tables,它将忽略特定位置的文件。
我正在尝试使用 aws athena 对我们存储在 s3 中的 json 文件进行一些查询。所以,我设法创建了一个简单的模式,一切似乎都很好,直到我注意到我的一些文件没有被考虑在内。
文件的键是用户id,其中一些以_开头。所有这些都在雅典娜中丢失了。它们存在于 s3 中。我可以得到它们。它们类似于其他文件。但是雅典娜没有看到他们。
显然它不喜欢键开头的下划线。除了重命名所有文件之外,还有其他解决方法吗?密钥中其他地方的下划线似乎不是问题。
我的架构(我通过删除字段简化了它):
CREATE EXTERNAL TABLE IF NOT EXISTS db.table (
`user_id` string)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = '1'
) LOCATION 's3://xyz/myfiles/'
TBLPROPERTIES ('has_encrypted_data'='false');
当您查询table时,Amazon Athena 在hood.Presto 下使用Presto 会忽略以下划线下划线_ 或从presto 版本0 开始的点开头的文件。60.This 是Hadoop MapReduce / Hive
的行为https://prestodb.io/docs/current/release/release-0.60.html
参考 function used by presto to filter the hidden files with org.apache.hadoop.hive.common.FileUtils.HIDDEN_FILES_PATH_FILTER .As the property is derived from Hive 这同样适用于 Hive tables,它将忽略特定位置的文件。