よしたく blog

IT技術を中心に様々なことを書いています

【雑記】SNSをやめて、SNSを始めた

XはiPhoneから削除した。アンインストール。 見る端末はiPad miniだけにした。Wi-Fiモデル。セルラーではない。 外で見ないための制約だ。iPhoneに入っていると、隙間時間に開いてしまう。そこは意志で勝てない。入口を消すほうが確実だ。 もう一つ理由があ…

BuriKaigi 2026 に参加した

BuriKaigi 2026に参加した。 Burikaigiは2,3年前からX(旧: Twitter)で盛り上がっている様子を見ていて、以前から気になっていた。 2026年はカンファレンスの遠征もしてみたかったので、年始開催ということもあり、今年こそは...!と参加してみた。 BuriKai…

オホーツク海沿いドライブ旅行記 4〜5日目 - 知床から紋別、そして帰路へ

3日目はこちら yoshitaku-jp.hatenablog.com 出発 朝は知床第一ホテルのマルスコイで朝食をとり、知床を出発。天気も良く、気持ちの良いドライブ日和だった。 知床斜里町を抜ける途中、「天に続く道」にも立ち寄った。一直線に伸びる道がどこまでも続き、ま…

オホーツク海沿いドライブ旅行記 3日目 - 屈斜路から知床へ

2日目はこちら yoshitaku-jp.hatenablog.com 屈斜路湖・砂湯 朝は屈斜路プリンスホテルで朝食のバイキングをとり、湖畔を散歩してから出発した。 砂湯にも立ち寄り、湖畔を歩いて砂を掘ってみたが、少し暖かい程度で温泉という感じはしなかった。前日に線状…

オホーツク海沿いドライブ旅行記 2日目 - 稚内から屈斜路へ

1日目はこちら yoshitaku-jp.hatenablog.com ノシャップ岬 朝はノシャップ岬へ。岬の近くにある「樺太」という食堂でウニ丼を食べた。濃厚で新鮮なウニがのっていて、朝から贅沢な気分になった。 稚内駅 そのあと稚内駅へ。駅舎の中はおみやげコーナーがあり…

オホーツク海沿いドライブ旅行記 1日目 - 稚内へ

紋別から稚内へ 昼に紋別空港に着き、レンタカーを借りて稚内へ向かった。 天気は曇りで、翌日からは荒れそうな気配があった。 道はほとんど海沿いで、横には牧場や草原が広がっていた。途中で風車も目立ち、北海道らしい景色が続いた。 観光らしい寄り道は…

hello world

hello world

BigQueryの出力フォーマットをprettyjsonに変更する手順

BigQuery の bq コマンドでは、デフォルトの出力フォーマットはテーブル形式が使われます。 このデフォルトの出力形式を.bigqueryrc ファイルを使うことで、件数や行数が多くなっても見やすいprettyjson形式に変更します。 .bigqueryrc ファイルを作成する …

2024年の振り返り

今更だけど2024年を備忘録として振り返っておく。 私生活 2024年は、結婚式とその準備が私生活のすべてになった。奥様とは2023年10月に結婚し、年が明けた2024年1月に「そろそろ結婚式に向けて動き出したほうがいいかもね」と会話し、結婚式関連の相談カウン…

【Dataform】pre_operationsを使ってdelete insertを実現する方法

Dataform では incremental モードを使ってデータを積み上げていくことができます。 しかし、データを積み上げていくことのみしか出来ず、仮に一度実行した処理を再度実行すると同じデータがシンク先に書き込まれます。 要はDELETE INSERT には対応していな…

DataformCLIの2系を使ってBQに接続するまでの手順

2024 現在の Dataform は、Dataform 3 系の開発とttps://docs.dataform.co/(存在しない URL)にあった Docs の移行がおこなわれている。 最近 2 系の Docs にすぐ当たれない体験が増えてきたので、備忘録として残しておくー。 今回は Dataform CLI を使って…

supabaseで全件削除するための小技

supabase の Python ライブラリであるsupabase-pyでは、2024-03-06 時点で全件削除できるような実装はないらしい。 そこで擬似的に全件削除のようなことをしたいときにはひと工夫する必要がある。 supabase.com 削除するときのフィルター条件でneqを使って、…

Google Cloud Next Tokyo ’23 Day2に行った📝

DMM における AWS から BigQuery へのデータ基盤移行 / 合同会社DMM.com 背景 1500テーブル ほぼ日時処理 biから投げられる30000クエリ/ week 1500mau 新規テーブル・カラムの別作業が5回/week 課題 オペの省力化ができていないため、活用拡大にリソースを割…

Google Cloud Next Tokyo ’23 Day1に行った📝

基調講演 ハルシレーションを抑えるグラウンディングをし、事実に基づく生成AIにする Vertexがより協力になっていく話 Garden Codey 企業独自のコードベースから、出力をチューニングしてくれる https://zenn.dev/cloud_ace/articles/20230609codeyapisprevi…

gcloud auth loginとapplication-default loginの違いを整理した

記事の概要 Google Cloud SDKの認証コマンド、`gcloud auth login` と `gcloud auth application-default login` の違いについてまとめた。 gcloud auth login 目的 `gcloud` コマンドラインツールを使用するユーザー自身を認証するためのコマンドになる。 …

転職して1年を振り返る

はじめに 2022の振り返りと称した、半年の振り返りはこれになる。 yoshitaku-jp.hatenablog.com 1年間での主な業務と成果 主に - ETL処理を組む - バッチ処理の面倒をみる - 集計依頼に対応する - データ基盤の速度改善 - データ基盤のコスト削減 を実施して…

one secアプリがSNSの時間消費抑えに良かった

SNSの時間を抑えたいなと思っていたところone secにたどり着き、使ってみたところとても良かったので紹介します。 tl, dr SNSの時間消費にone secがよかった 対象のアプリが起動すると、one secの妨害が始まる 妨害のカスタマイズもできる one sec とは one …

GitHub ActionsでSQLFluffを実行する

SQLのLinterであるSQLfluffをCI /CDで回したかったので、GitHub Actionsで試してみた。今回は PR上でCIが回る checkout時のデータ量削減で、fetch-depth: 1の設定 リポジトリ内の全てのSQLファイルにLinterを実行するため、find . -name '*.sql' -type f | x…

BigQueryのメタデータからDDL文を確認する

BigQueryのメタデータからDDL文を確認する方法を調べた。以前、過去に作ったテーブルのDDL文がわからず困った時に役立った。 INFORMATION_SCHEMA.TABLESのddlカラムにDDL文が存在している。 SELECT table_name, ddl FROM `<project_id>.<dataset_name>.INFORMATION_SCHEMA.TABLES` WHER</dataset_name></project_id>…

【Python】ETLツールのLuigiをさわってみた

前回に引き続き、ETLツールをいろいろさわってみたいと思ったところから、今回はPython製のETLツールLuigiをさわってみた。 インストール pip install luigi バージョン確認 $ python --version Python 3.9.1 luigi 3.2.0 サンプルコード import luigi class…

【Python】ETLツールのPrefectをさわってみた

ETLツールをいろいろさわってみたいと思って、Python製のETLツールPrefectをさわってみた。 インストール pip install prefect バージョン確認 $ python --version Python 3.11.1 $ prefect --version 2.8.3 サンプルコード Prefect公式で提供されている「We…

Gitで空のコミットを作る

Git

チームメンバーへの共有の意味を兼ねてプルリクエストを作り、作業を始める前の作業想定やメモなどを書きたい時があった。しかし、そのプルリクエストを作るために、何かしら作業をしてコミットとプッシュをしなければいけなくなってしまうというジレンマも…

BigQueryの予約語のページ

BigQueryの予約語を調べてもなかなか公式ドキュメントに辿り着けず悲しかったので自分のブログにリンクする 予約済みのキーワード https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical?hl=ja#reserved_keywords 2023-02-08

【Google Colab】ログインしたGCPからログアウトする

Google ColabからGCPへログインした後、ユーザを切り替えたいなどの理由でログアウトしたいときに実行する方法です。 gcloudのrevokeコマンドを使ってログアウトする ! gcloud auth revoke Google Colabのランタイムを終了させる from google.colab import r…

【Google Colab】GCPへログインする

Google ColabからGCPへアクセスしたい場合は、次のコードを実行するとGoogleアカウントへのログインフォームが出てきます。 ログインが完了すると、Google Clund SDKのリクエスト確認の画面へ移動し、「許可」をクリックします。 次に認証用コードが発行され…

【Google Colab】%%writefile でセルの内容をファイルに書き出す

セルの内容をファイルに書き出す マジックコマンドの%%writefileを使うことでセルの内容を書き出す事ができる。 %%bash ls sample_data %%writefile sample.txt test1 test2 %%bash ls sample_data sample.txt %%bash cat sample.txt test1 test2 セルの内容…

【VS Code】Edit CSVを使って、ExcelライクにCSVを編集する

VS Code拡張機能のEdit CSVがとても便利だったので紹介する。 概要 Edit CSVはVS codeの拡張機能で、CSVファイルをExcel操作のように編集することができる。 紹介ページにも、次のように書いてある。 This extensions allows you to edit csv files with an …

2022 振り返り

いまさらとなってしまったが、2022年の振り返りをする。 ## 仕事 2022で自分の一番大きな変化といえば転職になる。7月までSIerでデータエンジニアの仕事をし、1ヶ月間有給消化後、9月から引き続きデータエンジニアとして事業会社で仕事をしている。 転職する…

GROUP BYで範囲を集計する

SQL

SQL の GROUP BY を使うとカラムのデータごとに集計できる。 例えば次のようなデータがあり、GROUP BY を使って SQL を実行する。 実行環境はsqlfiddleで、MySQL5.6を使った。 sqlfiddle.com データはテストデータ生成サイトで作った。 https://tm-webtools.…

Pythonのtranslateを使った文字の置換

Python のtranslateメソッドを使うとmaketransメソッドから生成される変換表を元に文字を置換できる。 https://docs.python.org/ja/3/library/stdtypes.html?highlight=str%20replace#str.translate https://docs.python.org/ja/3/library/stdtypes.html?hig…