RSS DEV-Gemeinschaft

Seien Sie vorsichtig mit @run_date in geplanten BigQuery-Abfragen – insbesondere in KST/JST!

In Google BigQuery setzt die @run_date-Funktion automatisch das Referenzdatum für eine Abfrage auf die Ausführungszeit, aber nur wenn sie manuell über die Benutzeroberfläche für geplante Abfragen ausgeführt wird. Wenn sie automatisch zu einem geplanten Zeitpunkt ohne explizite Zeitzoneinstellung ausgeführt wird, läuft die Abfrage in UTC. Dies kann zu unerwartetem Verhalten führen, insbesondere wenn die Abfrage über Mitternacht UTC läuft und @run_date daher das vorherige Datum in der lokalen Zeit auswertet. Dies ist besonders problematisch für Länder wie Südkorea oder Japan, die UTC+9 sind. Um dieses Problem zu vermeiden, ist es essentiell, die Zeitzone explizit anzugeben, wenn Abfragen geplant werden. Darüber hinaus ermöglicht die Verwendung von @run_time anstelle von @run_date die exakte Zeit mit Zeitzone zu steuern. Wenn @run_time verwendet wird, ist es nicht erforderlich, es mit DATE() zu umschließen, es sei denn, es ist erforderlich. Beispiele für die Zeitzoneinstellung sind DATE(@run_time, 'Asia/Seoul') und DATE(@run_time, 'Asia/Tokyo'). Viele Data-Marts, die ohne Zeitzone-Bewusstsein gebaut wurden, erfordern Reparaturen, aber die explizite Zeitzoneinstellung kann solche Probleme vermeiden.
favicon
dev.to
Be Careful with @run_date in BigQuery Scheduled Queries – Especially in KST/JST!
Create attached notes ...