2024-02-01から1ヶ月間の記事一覧
1. I spent 3 hours figuring out how BigQuery inserts, deletes and updates data internally. Here’s what I found. ライトノベルのようなタイトルですね。BigQuery内部でどのようにファイルを管理しているかキレイな図で紹介してくれてます。 データを挿…
BigQueryでORDER BY句を使用する場合、デフォルトのNULLの順序はASCかDESCで異なる。ASCの場合はNULLが最初に来るし、DESCの場合はNULLが最後に来る。 NULLS FIRST is applied by default if the sort order is ascending. NULLS LAST is applied by default…
概要 EmbulkでMySQLからデータを抽出しようとしたら遅かったので、関連となるトピックを色々調べた。とりあえず参考リンクだけ貼っておく。 クエリ処理の流れ (Oracle) SQLの処理 (SQL Server) SELECT ステートメントを処理する <非公式> MySQL Logical Arch…
BigQueryの外部キー制約は強制適用されないため、外部キー参照先の値(またはNULLのみ)しか入らないようにユーザー側で管理する必要がある。 そこでDataplexを使用して定期的に外部キー制約に沿った値になっているか確認できないかと考えた。 調べたところ…
まったく知らなかったけど、BigQueryの主キー/外部キー制約は強制適用されない。。。 これは知らないと割と事故りそう。 わい)主キー設定したし、NULLだったらエラーになってくれるよねー。NULLが入らないから安心だな~ BigQuery)NULLでもオレ、全然いい…
BigQueryでは全行削除するときはDELETEを使った方が良い。 Timetravelで復元もできるし、DELETEより早いし、お金もかからない。 BigQuery公式 When performing a DELETE operation to remove all the rows from a table, use TRUNCATE TABLE statement inste…
O(1) オーダー テーブルから任意の1行を取り出す SELECT TOP 1 * FROM table; O(log N) オーダー インデックスが張られた列に対してのWHERE句による抽出 O(log N)なので、テーブルサイズが大きくなっても、あまり時間計算量は増えない O(N) オーダー 以下の…
BigQueryで、比較演算子で比較される対象のどちらかがNULLだと結果はNULLになる。以下のクエリの結果はどちらもNULLになる。 SELECT CAST(NULL AS INT64) < 1; SELECT CAST(NULL AS INT64) = CAST(NULL AS INT64); 以下の例だとNULL行と今日の日付の2行が存…
BigQueryでDELETE-INSERTしたい場合、 MERGE ~ ON FALSE WHEN NOT MATCHED BY SOURCE THEN DELETE WHEN NOT MATCHED BY TARGET THEN INSERT ROW を使用すると良い。DELETE-INSERTを行えるうえ、動作も早いらしい。 ON FALSEとすることで、NOT MATCHED BY SOU…
medium.com www.datacamp.com www.kdnuggets.com www.kdnuggets.com
BigQueryの外部テーブルでの allow_quoted_newlines オプション BigQuery で CSV ファイルから外部テーブルを作成する場合は、オプションが不足していないか確認してください。 ある日、元の CSV ファイルのフィールドの 1 つに引用符で囲まれた改行文字が含…
概要 IntelliJの設定項目を忘備としてメモしておく。 主に使うのはTerraformとPythonなのでそのあたりの設定。 Git Toolboxが超便利。 設定項目 Plugins File Watchers Git ToolBox Terraform and HCL File Watchersへの設定 terraform fmt flake8(カスタム…
概要 IntelliJで複数カーソルの使用方法を調べてみた。特に、覚えておくと重宝しそうなものに絞ってメモしておく。 覚えておきたい複数カーソル操作 キーボードを使用して現在のカーソルの上または下にカーソルを追加 Shiftを押しながら上下↑↓キーを押す そ…