【发布时间】:2020-09-13 10:02:37
【问题描述】:
我在 AWS Athena 中有这张表
+----------------------------------------------------------------------------+
| URL |
+----------------------------------------------------------------------------+
| stag.v1.abc.in/beauty/hair/go-abc-girl-a57-20200001?ref=home_feed_1 |
| stag.v1.abc.in/ |
| stag.v1.abc.ph/eatdrink/cheap/76027/dairy-free-upsize-a1046-20190515?ref=ar|
| stag.v1.abc.in/beauty/hair/go-abc-girl-a57-20200003?ref=home_feed_1 |
+-----------------------------------------------------------------------------+
我需要从两个分隔符之间的列中提取字符串的部分(id)(在最后一个'-'之后和'?'之前) 我应该得到
+------------------------+
| ID |
+------------------------+
| 20200001 |
| - |
| 20190515 |
| 20200003 |
+------------------------+
我尝试了 SUBSTRING_INDEX() 但雅典娜不支持它。有人可以帮我解决这个问题吗?在此先感谢
【问题讨论】:
-
要使用 URL,请查看 URL 函数:prestosql.io/docs/current/functions/url.html(它们在 Presto .172 中也可用,这是 Athena 所基于的版本。)您可以调用
url_extract_path,然后可能是 @ 987654323@. -
那行得通。谢谢:)
标签: presto amazon-athena