Raj*_*eev 27 sql amazon-s3 amazon-web-services presto amazon-athena
我在AWS Athena中创建了外部表来查询S3数据,但是,位置路径有1000多个文件.所以我需要将记录的相应文件名显示为表中的列.
select file_name , col1 from table where file_name = "test20170516"
Run Code Online (Sandbox Code Playgroud)
简而言之,我需要知道AWS Athena Presto中的INPUT__FILE__NAME(hive)等效或任何其他方法来实现相同的目标.
jen*_*ter 60
您可以使用$ path伪列执行此操作.
select "$path" from table
Run Code Online (Sandbox Code Playgroud)
cam*_*son 16
如果只需要文件名,可以使用regeexp_extract().
要在Athena中使用它,"$path"您可以执行以下操作:
SELECT regexp_extract("$path", '[^/]+$') AS filename from table;
Run Code Online (Sandbox Code Playgroud)
如果您需要没有扩展名的文件名,您可以执行以下操作:
SELECT regexp_extract("$path", '[ \w-]+?(?=\.)') AS filename_without_extension from table;
Run Code Online (Sandbox Code Playgroud)
这是关于Presto正则表达式函数的文档
| 归档时间: |
|
| 查看次数: |
9996 次 |
| 最近记录: |