タグ

ブックマーク / www.yasuhisay.info (15)

  • BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog

    背景 & Disclaimer 自分自身はこれまでBigQuery Scriptingをほぼ使っていませんでした BigQuery自体は3年くらいの利用歴 SQL単発で済ませるのが苦しそうな場合は、Pythonなどのプログラミング言語 + ワークフローエンジンの組み合わせで戦っており、自分としては特に困っていなかった 社内で他の方が使うケースをぼちぼち見ることがある 自分は困っていなくても、社内のBigQueryユーザーでBigQuery Scriptingを使っていて困っている人がそれなりにいる 著者はそれなりのBigQueryユーザーがいる企業のデータ基盤の人間です さすがに「使ったことないので、分からないですねー」で済ませるわけにはいかなくなってきた そもそもどんなユースケースで便利なのかすらも分かっていない状態なので、便利そうに思える場合をまとめてみることにしました というわけで、

    BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog
  • BigQuery MLでスロット使用量が急増しているプロジェクトやユーザーを異常検知する - yasuhisa's blog

    背景 どうやって異常を検知するか BigQuery MLでの異常検知 検知できるモデルの種類 共通設定 データの前準備 モデルの学習 モデルを元にスロット使用量が異常に増加していないか予測する 所感 背景 BigQueryはオンデマンドとフラットレート(定額料金)がある オンデマンドはスキャン量がお金に直結するため、INFORMATION_SCHEMA.JOBS_BY_*などを使ってクエリ警察をしている方も多いはず INFORMATION_SCHEMAに代表されるデータ管理に役に立つ現場のノウハウを最近会社のTech Blogに書いたので、そちらも見てね 一方で、フラットレートに関しては定額使いたい放題のプランであるため、オンデマンドよりはクエリ警察をしていない場合もある 見れるなら見たいが、どうしても支出に直結するオンデマンドを優先して見てしまいがち。工数も限られている が、あまりに自由

    BigQuery MLでスロット使用量が急増しているプロジェクトやユーザーを異常検知する - yasuhisa's blog
  • dbtを触ってみた感想 - yasuhisa's blog

    データエンジニア系の勉強会で最近dbtがぱらぱらと話題に出てくるようになった & 4連休ということで、夏休みの自由研究がてらdbtを触ってみました。書いてる人のバックグラウンドは以下の通り。 DWHやデータマートの構築のためのETLツールを模索中(特にTの部分) プライベートではDataformを使っている 前職でも仕事の一部で使っていた 開発効率を計測するデータ基盤の管理にDataformを使ってみた - yasuhisa's blog 定期バッチ処理はArgo Workflows on GKEでやっている 触ってみないと肌感とか自分で運用できるかのイメージが湧かないのでね。 Dataformとの比較 細かいノウハウ 手元や番環境での動作 Argo Workflowとの連携 環境によってDWHの提供するバージョンを差し替える DWHやデータマートの外の情報をデータリネージに加える 既存

    dbtを触ってみた感想 - yasuhisa's blog
  • データウェアハウスのバージョン管理をどうやるか - yasuhisa's blog

    というのをチームで議論する機会があったので、書いてみます。「うちではこうしている」とか「ここはこっちのほうがいいんじゃない?」とかあったらコメントで教えてください。 背景 / 前提 データウェアハウスのテーブルを社内に広く提供したい 初期の提供時期が過ぎてしばらくすると、要望を元にスキーマの変更や集計ロジックの変更が入る (事前にレビューはもちろんするが)SQLのミスなどで以前のバージョンに戻したいといったことがありえる 他の部門では新しいバージョンをすでに使っていて、気軽に戻せないこともある データウェアハウスのバージョンを場面に応じて複数提供できると都合がよい 一方で、大多数のデータウェアハウスのユーザーは最新バージョンの利用だけでよいはず SSOT(Single Source of Truth)になっていて欲しいわけなので... 複数バージョン見えていると「どのバージョンを使えばいい

    データウェアハウスのバージョン管理をどうやるか - yasuhisa's blog
  • 昔は苦手だったモブプロを今は推進する側になっていた - yasuhisa's blog

    3~4年前はモブプロにめちゃくちゃ苦手意識があったんだけど、最近はなぜか(?)モブプロを推進していく旗振りをしている。モブプロの取り組み自体については今度会社のTech Blogに書く予定だけど、このエントリでは自分の心境の変化にフォーカスを当てる。人間、数年すると割と変わるもんだなぁと思って面白かったので、記録に残しておく。 モブプロが苦手だった頃 なぜモブプロしようとなったか 今はどうモブプロしているか 所感 モブプロが苦手だった頃 前職の開発チームにいた頃(3年前くらい)で、状況はこんな感じ。 7~8人くらいの規模の開発チーム 京都と東京でそれぞれメンバーは分かれているが、まだ物理出社している時期だったので、大きなディスプレイに写された自分の画面をみんなが見るスタイル 時間は60~90分くらいだったかな タイピストはガンガン交代するスタイルではなく、1回を1~2人のタイピストで回して

    昔は苦手だったモブプロを今は推進する側になっていた - yasuhisa's blog
  • コロナ禍での転職活動(データエンジニア)についてのメモ - yasuhisa's blog

    Twitterでは先に言っていましたが、現職のはてなを3月末で退職します。3/19が最終出社日でした。はてなでの思い出はこちらに書きました。 そのため、転職活動をしたわけですが、コロナ禍での転職活動は平常時と異なる部分も結構ありました。また、データエンジニアとしての転職は初めての経験でした。誰かの参考になるかもしれないので、私が考えたことや感じたことをメモ書きとして残しておきます。 在宅勤務と就業可能な地域 Web上でのアウトプット データエンジニアという職種の多様性 転職にあたって重視したこと 魅力に感じた点 当然、不安もある 在宅勤務と就業可能な地域 カジュアル面談させてもらった企業さんは、ほぼ在宅勤務に移行済みだった 隔週や月一で物理出社という会社も半々くらい? 緊急自体宣言が出ていない時期(夏〜秋)にカジュアル面談させてもらったので、今は状況が違うかも カジュアル面談、採用面談もz

    コロナ禍での転職活動(データエンジニア)についてのメモ - yasuhisa's blog
  • データ分析を元にFAQサイトを継続的に改善する - yasuhisa's blog

    FAQサイト、サポート問い合わせをせずとも自分で疑問を解決できて便利ですよね。でも、検索した単語が一件もヒットしないと、ちょっとガッカリしてしまします。そういったガッカリを減らすために、簡単なデータ分析を使ってFAQサイトを継続的に改善する話を書いてみます。 ...というのも、自分が仕事で関わっているMackerelでは最近FAQをリニューアルしたからなのでした。 MackerelのFAQではZendesk Guideを利用していますが、Zendesk Guideは便利なAPIが用意されているので、それと既存のデータ基盤を組み合わせて改善していく形です。 FAQサイト内の検索語を列挙する まず、FAQサイト内でどういった単語が検索されているのかを列挙します。Google Tag Manager経由でFirebase Analyticsにデータを飛ばすと閲覧状況が分かりますが、そのログをBi

    データ分析を元にFAQサイトを継続的に改善する - yasuhisa's blog
  • BigQueryのテーブルのメタデータをCloud Data Catalogで管理する - yasuhisa's blog

    自分が使いたいと思ったBigQuery上のリソース(tableやview)、内容を事前に完全に把握できている、ということは結構少ないのではないかと思います。そういったときに手助けをしてくれるのがメタデータです。BigQueryのリソースに対するメタデータを、Cloud Data Catalogのタグとして付与する方法を紹介します。Cloud Data Catalogを使うことで、分析者が必要なリソースに素早く辿り付いたり、正確な分析をするためのサポートができます。 BigQuery関連のAudit logを元に、以下の情報をData Catalogのタグに入れた。 - 最後にクエリを投げた{日, 人} - クエリを投げられた回数 「あまり使われていないので、信用できないデータかも」「最後にXXXさんがクエリ投げてるから、詳細詳しいかも」みたいな用途を想定してる pic.twitter.co

    BigQueryのテーブルのメタデータをCloud Data Catalogで管理する - yasuhisa's blog
  • カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました - yasuhisa's blog

    第3回 データアーキテクト(データ整備人)を”前向きに”考える会という勉強会で、CREとしてデータ基盤を整備する活動についてオンライン登壇しました。 カスタマーサクセスのためのデータ整備人の活動記録 from syou6162 イベント登壇はまあまあやってきたはずなんですが、今回の登壇は初めて要素が満載でした。 CREとして初めての登壇 これまでは研究者 or アプリケーションエンジニアとして登壇 今年の2月にCREになったばかりなので、私がCREについて語ってもいいんかいな...みたいなところはありますよね と言いつつ、偉そうに語ってしまった データ基盤に関する初めての登壇 これまでは機械学習や自然言語処理に関する登壇がメイン 関連: データに関連するいくつかの見方と私 - yasuhisa's blog 初めてのオンライン登壇 意図せず(?)YouTuberデビューを果してしまった..

    カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました - yasuhisa's blog
  • はてな社内でKaggleハッカソンを行ないました(TakingDataリベンジマッチ編) - yasuhisa's blog

    先週末、はてな社内でKaggleハッカソンを行ないました。丸一日、各自好きなKaggleのコンペに取り組んで、得られた知見を共有するという会です。 自分は以前TalkingDataというコンペに参加していたのですが、データサイズが結構大きく、一月くらいやってみたももの試行錯誤に四苦八苦してしまい、途中で離脱していました...。このハッカソンでは、そういったデータセットでも何とかできるようになろう!ということを目標にして参加しました。もちろん1日だけではさすがに時間が足りないので、ハッカソン前の10日くらいは定時後にちまちま作業をやっていました。 以下はハッカソン終了後に使った発表資料です。Kaggle上位の人にとっては当たり前のことしか書いてないかもしれませんが、社内でこういった知見をじわじわと貯めていくことが大事だと思っています。なお、ハッカソン終了後にAWSのでかいインスタンスを借りて

    はてな社内でKaggleハッカソンを行ないました(TakingDataリベンジマッチ編) - yasuhisa's blog
  • Go言語でWebアプリを書くときにオートリロードどうするといいの問題 - yasuhisa's blog

    Go言語を書く際、成果物がシングルバイナリになるのは便利です。deployするときや他人に使ってもらうときに、それだけ渡せば使ってもらえるので。cliツールやapiサーバーを書くときにはこの方式で困っていなかったのですが、いわゆるWebアプリをGo言語で書くときのベストプラックティスが分からなかったのでエントリにしておきます。 前提 Go言語側は重厚なフレームワークは特に使わない net/httpやhtml/templateといった標準ライブラリを使う フロント側はVue.js シングルバイナリを作るまでの過程 以下の過程をMakefileに書いてmake buildとやってシングルバイナリを作っていました。 webpackJavaScript関係をbundle.jsという感じで一つのファイルにまとめる go-assets-builderを使って、index.htmlbundle.js

    Go言語でWebアプリを書くときにオートリロードどうするといいの問題 - yasuhisa's blog
  • 社内でKaggleの布教活動をやっている話 - yasuhisa's blog

    最近、社内勉強会で機械学習についてエンジニアに説明する機会があり、その際にKaggleについても説明しました。一方で うーん、「Kaggler はパラメータチューニングやアンサンブル等の自明でインクリメンタルな改善『しか』できない」というような誤解はどうやって解いていけばいいんだろう。— im132nd (@im132nd) 2018年4月4日 という話もあり、(特にデータサイエンティスト以外の職種の人が)Kaggleをやる意義/メリットについてまとめてみました。ガッと勢いで書いたので、項目に結構被りがあります。なお、書いている人はKaggleほぼ初心者であまり説得力がないです。Kaggle Masterの人がもっといいエントリを書いてくれるのを期待しています、議論の叩き台エントリです!! Kaggleをやる意義/メリット 様々なデータセットを触ることができる kernelでデータ分析

    社内でKaggleの布教活動をやっている話 - yasuhisa's blog
  • KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤 - yasuhisa's blog

    週末KagglerとしてavazuのCTR予測コンペに参加しました。Kaggleは機械学習版のISUCONだと思ってもらえばよいです。コンペ自体は終わっているので、late submiteであまり意味はないかもしれません、練習です。leaderboard上で上位10%以内に行けたので、そこまでの試行錯誤をメモしておきます。謎ノウハウ(?)を持っているガチ勢じゃないと上位に行けないものかと思っていましたが、基に忠実にやればこれくらいの順位(上位7.6%)に行けましたし、他の人の工夫を垣間見えるという意味でも現場の機械学習やり始めたエンジニアにお薦めできそうでした。 参加の動機 目標感: 頑張りすぎずに上位10%以内に入る 試行錯誤 AthenaとRedashによる探索的データ解析 ベンチマークをまず超える 線形分類器でシンプルな特徴量 時系列要素を忘れていて過学習発生 特徴量エンジニアリン

    KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤 - yasuhisa's blog
  • AWS Lambda上で鯖(Mackerel)の曖昧性問題を機械学習で解決しよう - yasuhisa's blog

    この記事は、はてなエンジニア Advent Calendar 2017の1日目の記事です。 サービスに関連する言及のみを観測したい こんにちは。Mackerelチームでアプリケーションエンジニアをやっているid:syou6162です。サービスを運営していると、サービスに関するtweetをslackに流して定期的に観測しているといった方は多いと思います。観測するモチベーションは様々ですが サービスの不具合に一早く気が付ける もちろんテストや動作確認はやっているのが前提だと思いますが、それでも気づけないものも出てきます 新しい機能を出した際にユーザーの反応が直に見れるため、開発者としてはモチベーションが上がる 問い合わせまではないが、どういう機能要望などがあるか知ることができる などが挙げられると思います。 問題点 Mackerelチームでもサービスに関するtweetを定期的に観測しています。

    AWS Lambda上で鯖(Mackerel)の曖昧性問題を機械学習で解決しよう - yasuhisa's blog
  • 機械学習をプロダクトに入れる際に考える採用基準について - yasuhisa's blog

    サービスに機械学習技術(例えばSVM)を入れる際に、「この機械学習技術番サービスに投入しても大丈夫なものか?」を考える基準がまとまっていると人に説明するときに便利だなとふと思ったのでまとめてみました。散々言われ尽くされている話だとは思います。 前提 考慮に入る採用基準 予測精度 (コードの)メンテナンスの容易性 計算オーダー 学習時 予測時 挙動のコントロールのしやすさ/予測説明性の容易さ チューニングの必要性 その他 まとめ 前提 機械学習がプロダクトの主要な武器になる(例えば最近話題になっているGoogle翻訳におけるNMT)ものではなく、サービスにデータがまずあり、機械学習でデータを活用することにより、そのサービスを支えていくようなものを前提に考えています(例えばCGMサービスのスパム判定)。また、投稿内容は私個人の意見であり、所属組織を代表するものではありませんとお断りしておき

    機械学習をプロダクトに入れる際に考える採用基準について - yasuhisa's blog
    slay-t
    slay-t 2016/11/22
  • 1