根据https://cloud.google.com/bigquery/docs/reference/standard-sql/tbl_suffix中提供的数据表后缀的规则,将TPC-H生成的数据表后缀更改为正确的格式,并更新查询中的表名称即可解决此问题。例如,如果数据表后缀应该是“_00000-of-00500”,但实际上是“00000of-00500”,则应该将所有表名称中的“00000of”更改为“_00000-of”,以便查询正确解析数据表。示例解决方案如下:
SELECT
c_count,
COUNT(*) AS custdist
FROM (
SELECT
c_custkey,
COUNT(o_orderkey)
FROM
bigquery-public-data.tpc_h.orders
JOIN bigquery-public-data.tpc_h.customer
ON o_custkey = c_custkey
AND substr(c_phone, 1, 2) = '13'
AND o_orderkey NOT IN (
SELECT
l_orderkey
FROM
bigquery-public-data.tpc_h.lineitem
WHERE
l_returnflag = 'R'
)
GROUP BY
c_custkey
)
GROUP BY
c_count
ORDER BY
c_count;