2024-09-01から1ヶ月間の記事一覧
結論 BigQueryのSQLとDataformのsqlxはコメントの適用が異なることが分かりました。これらはBigQueryでもDataformでもコメントとして認識されます。 -- SELECT 1 /* SELECT 1 */ #によるコメントは、BigQueryでは(標準SQL導入前のコメント記法で)コメント…
概要 準備 字句解析(Lexical Analysis) 構文解析(Syntax Analysis) 概要 sqlglotというSQLのパーサーツールを用いてSQLのパースの内部処理を体験してみました。 SQLパーサーの内部処理は大きく分けて次の3つがあります。 字句解析 構文解析 意味解析 こ…
概要 単一プロセスでのキャッシュ functools cachetools 複数インスタンス間でのキャッシュ 概要 Pytyhonの関数をキャッシュするデコレータについてです。 キャッシュを考える場合、次の2つの状況を考える必要があります。 単一プロセス内でキャッシュする場…
問題設定 ヤフオクの特定の出品者の商品一覧を毎日決まった時刻に取得したいと考えます。 設計 時間による情報の変化をopに落とし込む 上記の問題を考えた場合、訪れるページの種類は主に3つ挙げられます。 No ページの種類 得たい情報 得たい情報に対しての…
集約 Time Columnに関する関数 1日を3時間単位に丸めるTIMESTAMP_BUCKET(・, INTERVAL 3 HOUR) Value Columnに対する関数 平均・最大・最小 3時間ごとに丸める 下記は「各郵便番号のある時刻における最低気温と最高気温」のテーブルです。 timeがTime Column…
Iceberg界隈で有名な方が、SpotifyにてOpen Table Formatの日本語Podcastを提供して下さっていたため勉強しました。 第1回から第3回まで聞いた内容のまとめを記します。 第1回 OTF誕生の背景 open.spotify.com Icebergが生まれた背景 データレイクに対してTr…
下記記事を読み、SnowflakeでORDER BY句を利用しても問題ない理由をSnowflakeのアーキテクチャを学びながら理解することができたのでまとめました。 zenn.dev Snowflake マイクロパーティション 一般的にSQLは「ORDER BY LIMIT句は遅い」と言われています。 …