如何解决如何将我的 Bigquery 查询转换为 AWS Athena 查询?
我目前在翻译此 Bigquery 代码时遇到问题:
WITH
dates AS (
SELECT
REPLACE('2020-09-10','-','') AS req_date)
SELECT
hits.type,hits.hitNumber
FROM
my_data_table_from_GA,UNnesT(hits) hits
WHERE
_TABLE_SUFFIX = (
SELECT
req_date
FROM
dates)
AND ClientId = '1234.5678910'
AND visitstarttime = 1600000000;
My output looks like this in Bigquery
同样,我试图将查询翻译成 Athena,如下所示:
SELECT
hits[1].type,hits[1].hitNumber
FROM
my_data_table_from_GA,UNnesT(hits) hits
WHERE
(from_iso8601_date(CAST((substring(date,1,4) || '-' || substring(date,5,2) || '-' || substring(date,7,2)) AS varchar))) = date('2020-09-10')
AND ClientId = '1234.5678910' AND visitstarttime = 1600000000;
但是,输出看起来不同as shown here. hitnumber 始终为 1,这不应该是这种情况,而且 PAGE 与 EVENT 的比例看起来与上面 Bigquery 的输出不同。
我的源数据来自 Google Analytics,我最大的问题是我不确定如何在 Athena 中查询“命中”,以便在 Bigquery 中产生相同的输出。我尝试了 hits.type 并且它抛出了我的错误,说“表达式命中不是 ROW 类型”。这就是为什么我把 'hits1.type' 但我认为这有问题。如果有人可以帮助我,将不胜感激!
解决方法
我设法解决了我的问题。
这对我有用:
SELECT
hit.type,hit.hitNumber
FROM
my_data_table_from_GA,UNNEST(hits) WITH ORDINALITY t(hit,index)
WHERE
(from_iso8601_date(CAST((substring(date,1,4) || '-' || substring(date,5,2) || '-' || substring(date,7,2)) AS varchar))) = date('2020-09-10')
AND ClientId = '1234.5678910' AND visitstarttime = 1600000000;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。