输入文件名的aws配置单元查询

dgenwo3n  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(412)

awsHive与胶水元存储
我正试图得到这个查询

select partition_name from mytable where
substr(reverse(split(reverse(INPUT__FILE__NAME), '/')[0]),5,8) = '20200705';

s3中的文件名类似于\u 20200705
从胶水那里得到一个问题
2020-08-11t23:20:55496失败:semanticexception invalidobjectexception(message:null (服务:awsglue;状态码:400;错误代码:invalidinputexception;请求id:7f35e813-b495-4137-8eb7-c43cd09d)
是否可以从输入\文件\名称虚拟列执行“where”表达式?

ecfdbz9o

ecfdbz9o1#

看起来glue不支持筛选分区表上的输入文件名。您可以使用如下所示的子查询来实现这一点:

select
   partition_name 
from
   (
      select
         substr(reverse(split(reverse(INPUT__FILE__NAME), '/')[0]), 5, 8) as t,* from mytable
   )
   tmp 
where
   t = '20200705';

相关问题