Таким образом, если вы обрабатываете данные ежедневно и помещаете результаты в один и тот же набор данных, например, результаты, и каждый день будет иметь одно и то же имя таблицы (первая часть) и с датой в виде table_suffix, например, result1_20190101, result1_20190102 и т. Д., Онивы запрашиваете таблицы результатов, используя имена таблиц подстановочных знаков и table_suffix.
Таким образом, ваш набор данных / таблицы выглядит как
results/result1_20190101
results/result1_20190102
results/result2_20190101
results/result2_20190102
Так что я могу запросить все результаты1
select * from `xxxx.results.result1*`
Но я расположил таблицы результатов по-другому.Благодаря мне десятки таблиц обрабатываются каждый день.так, чтобы легко проверить и управлять результатами каждого дня.Я использую дату в качестве набора данных.
, поэтому мой набор данных / таблицы выглядят как
20190101/result1
20190101/result2
...
20190102/result1
20190102/result2
...
И мой ежедневный процесс обработки данных обычно не запрашивает перекрестные даты (наборы данных).ежедневные результаты передаются на конвейеры данных следующего шага и т. д.
Но время от времени мне нужно провести быструю проверку и выполнить запрос по датам (в моем случае, по наборам данных)
поэтому, когда я пытаюсь запросить результат1, мне нужно жестко закодировать имя набора данных.
select * from `xxxxxx.20190101/result1`
union all
select * from `xxxxxx.20190102/result1`
union all
...
1) Первый вопрос: можно ли использовать символы подстановки исуффикс для наборов данных, как мы могли бы с таблицами?
2) Второй вопрос: как я могу использовать функцию даты, такую как DATE_SUB (CURRENT_DATE (), INTERVAL 90 DAY), чтобы получить значение даты и использовать данныезначение в следующем запросе
select * from `xxxxxx.20190101/result1`
union all
select * from `xxxxxx.20190102/result1`
union all
...
для замены жестко закодированного значения, 20190101, 20190102 и т. д.