タグ

BigQueryに関するmasutaka26のブックマーク (44)

  • 列ストア形式のDBはなぜ分析ワークロードに適しているのか

    行ストアの場合 テーブルが行ストア形式で書かれている場合、各行のデータは一緒に保存されます。この図では、2019年シーズンの0~17歳のグループのデータをブロック1に配置しています。この形式は、コンピュータ・システムが新しいデータを新しいブロックに書き込むことでテーブルに追加できるため、トランザクション作業には最適です。しかし、「2019年シーズン、全年齢層の平均入院率はどのくらいか」という質問に関心がある場合、システムは2019年のデータを含む各ブロックを読み込む必要があります。この単純化した例では、3ブロックのデータを読み込む必要があります。この保存方法は、多くのデータ行の要約を必要とすることが多い分析ワークロードでは、比較的時間がかかる可能性があります。 列ストアの場合 カラム・ストア形式では、カラムのデータをまとめて保存します。例えば、年の列のデータは図のブロック1に示されています

    列ストア形式のDBはなぜ分析ワークロードに適しているのか
  • 次世代データ基盤:データレイクハウスを Google Cloud で実現する

    はじめに こんにちは、クラウドエース データソリューション部の松です。 普段はデータ基盤や MLOps の構築をしたり、Google Cloud 認定トレーナーとしてトレーニングを提供しております。また、昨年は Google Cloud Partner Top Engineer 2024 に選出されました。今年も Goodle Cloud 界隈を盛り上げていけるよう頑張っていきたいと思います。 クラウドエース データソリューション部 について クラウドエースのITエンジニアリングを担う システム開発統括部 の中で、特にデータ基盤構築・分析基盤構築からデータ分析までを含む一貫したデータ課題の解決を専門とするのが データソリューション部 です。 弊社では、新たに仲間に加わってくださる方を募集しています。もし、ご興味があれば エントリー をお待ちしております! 今回は、次世代データ基盤であるデ

    次世代データ基盤:データレイクハウスを Google Cloud で実現する
  • より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ

    はじめに こんにちは、久しぶりに技術系の記事を書きます、株式会社カンムで機械学習エンジニアをしている fkubota です。 今日はSQLについてです。 弊社に入社してから毎日のようにSQLのクエリを書いてきました。 クエリを書き始めてからもう3年が経とうとしています。 日々クエリを書きながら少しずつ自分のスタイルが出来上がってきているのを日々実感しています。 僕は 正確で 読みやすく 再利用しやすいクエリを 高速に 生み出すための工夫を重ねてきました。 結果的にテスト駆動開発ぽいスタイルが生まれたので今日は紹介してみようと思います。 似たような記事がないので少しドキドキですが温かい気持ちで読んでもらえると嬉しいです。 対象読者 対象読者は、分析のためにクエリを書いている人とします。 プロダクトに乗せるクエリというより、ビジネス的になにか示唆を得たいときにクエリを書く人を想定します。 痛み

    より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ
    masutaka26
    masutaka26 2024/02/07
    BigQuery の ERROR 関数を利用した方法。考え方は dbt のテストにも使える。非常に参考になる。
  • tblsでBigQueryのデータセットのドキュメントを生成する - Qiita

    エントリでは、tblsでBigQueryのデータセットのドキュメントを生成するところまでを紹介します。 "既にGCPプロジェクトとデータセットは作成済み" というところから説明したいと思います。 ただ、今回はGCPが公開しているプロジェクト bigquery-public-data と、そのデータセットの1つ census_bureau_international を利用しますので、必ずしもデータセットを用意する必要はありません。 1. サービスアカウントの作成とキーファイルのダウンロード tblsでBigQueryのデータセットにアクセスするときは、設定ファイル tbls.yml で、以下のようにDSNを指定します。 # tbls.yml dsn: bq://bigquery-public-data/census_bureau_international?creds=/path/to

    tblsでBigQueryのデータセットのドキュメントを生成する - Qiita
    masutaka26
    masutaka26 2023/03/21
    "サービスアカウントの権限は「BigQueryメタデータ閲覧者」で良いです"
  • BigQuery で ROW_NUMBER(), RANK() を使うな!

    どういうことか たとえば created_at が最も新しいレコード 1 件だけ取ってきたいとか、成績のよいレコード上位 5 件を取ってきたいといったとき、よくある方法として RANK() や ROW_NUMBER() のような番号付け関数を使う方法が思い浮かぶと思いますが、BigQuery ではこれらの関数ではなく ARRAY_AGG() 集計分析関数を使うことが推奨されています。 先に結論を ARRAY_AGG() を使うことでクエリの計算を最適化でき、スロット使用量(計算量)が少なく済みます。スロット使用量の上限を定めている場合、非効率なクエリがいくつも実行されるとキューイングされる可能性があるため理由がなければ ARRAY_AGG() を使いましょう。 ドキュメントによれば ORDER BY 句が各 GROUP BY 句のトップレコードを除くすべてを捨てることができるため効率がいい

    BigQuery で ROW_NUMBER(), RANK() を使うな!
    masutaka26
    masutaka26 2023/03/12
    RANK() はよく使われているイメージ。チリツモで遅くなるのだろうね
  • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

    この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

    BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
    masutaka26
    masutaka26 2023/01/29
    配列やハッシュなどの JSON や、Object 的な値を処理する例。たまに必要になってググるよね
  • 【新機能】LOAD DATA文(Cross-cloud transfer)でS3のファイルをBigQueryテーブルへロードできるようになりました | DevelopersIO

    データアナリティクス事業部、池田です。 昨日、BigQueryの LOAD DATA 文(Cross-cloud transfer)が GA となりました。 【 BigQuery release notes > November 09, 2022 】 【 Cross-cloud transfer from Amazon S3 】 ※執筆時点では日語のガイドは未更新 もともと BigQuery Omni の 外部テーブル でAmazon S3など別クラウドのストレージを参照することはできました。 ↓この辺は以前ブログにしています。 S3からBigQueryへ連携する方法いろいろ(Omni/Transfer Service) ※現在はストレージへのアクセスなどは BigLake の機能として整備されました。 ただし、S3の場合、その外部テーブルは aws-us-east-1 という特別なリ

    【新機能】LOAD DATA文(Cross-cloud transfer)でS3のファイルをBigQueryテーブルへロードできるようになりました | DevelopersIO
  • BigQueryのセキュリティ対策手順

    風音屋では、データエンジニア、データアナリスト、データコンサルタントを募集しています。 書籍執筆者やOSSコントリビューターなど、業界を代表する20名以上のアドバイザーと一緒にベストプラクティスを追求できる環境です。 ぜひカジュアルトークをお申し込みください。 風音屋アドバイザーの山田雄(@nii_yan)です。 データ活用においてセキュリティ対策が最重要トピックであることは言うまでもありません。 風音屋でBigQueryの導入支援を行うにあたって、どのようなセキュリティ対策を行っているのかをご紹介します。 この記事の全体像 この記事は2つのパートに分かれています。 最初に、BigQuery導入プロジェクトを始めるにあたって、セキュリティ観点でどのようなコミュニケーションが必要になるかを説明します。 次に、一般的な情報セキュリティ対策である「抑止」「予防」「検知」「回復」の4つの観点にもと

    BigQueryのセキュリティ対策手順
    masutaka26
    masutaka26 2022/08/31
    Google Group で IAM を設定したいのだけどなぜか権限を与えられず、アカウント単位で設定してしまうこと多いんだよなあ...。BigQuery に限らない GCP 全般の話で
  • Looker User Meetup Online #8 で『BigQuery経由で使うGoogleスプレッドシートのスキーマ管理』の話をした - Feedforce Developer Blog

    こんばんは id:masutaka26 です。 日、Looker User Meetup Online #8 で『BigQuery経由で使うGoogleスプレッドシートのスキーマ管理』の話をしてきました。Looker User Meetup は 5 回目の参加、発表は初めてです。 いくつかネタはあったのですが、今回のテーマは「Lookerまでのデータデリバリー、みんなどうしてる?」ということもあり、この 2 年で確立した方法を紹介することとなりました。 bq CLI ではなく、terraform で管理している方もいらっしゃいました。terraform の更新に追随するのはそれなりに大変だと思いますが、これならスキーマ定義と、実際のスキーマの差異検知は出来そうですね。 「dbt seed」を使っている方もいらっしゃるようでした。今回 2 つの発表があった dbt ですが、全く触ったことが

    Looker User Meetup Online #8 で『BigQuery経由で使うGoogleスプレッドシートのスキーマ管理』の話をした - Feedforce Developer Blog
    masutaka26
    masutaka26 2022/07/21
    さっき Looker User Meetup Online #8 で話してきました。そういえば久々の登壇です #Looker #lookermeetup
  • BigQuery View とパーティション - pokutuna

    masutaka26
    masutaka26 2022/07/06
    割と謎なんだよなあ。「このクエリを実行すると、xx MB が処理されます。」を完全に信じて良いものか
  • BigQueryで時を遡って過去のテーブルを再構成する - ZOZO TECH BLOG

    はじめに こんにちは、データシステム部データ基盤ブロックSREの纐纈です。 記事では、過去に遡ってBigQueryのデータを参照する方法(以下、タイムトラベルと呼びます)をご紹介します。また、この機能はBigQueryが提供している、変更または削除されたデータにアクセスするタイムトラベルとは異なることをご了承ください。 開発背景 この機能は過去データを日次スナップショットより細かい粒度で見たい、また障害対応時に障害発生前などピンポイントで時間指定して参照したいという要望を受け、開発することになりました。 さらに、BigQueryからこの機能を作るのに役立ちそうなテーブル関数という機能がリリースされたのもきっかけとなりました。 cloud.google.com テーブル関数とは、事前にパラメータを使って定義したクエリをエイリアスのようにテーブルとして保存して、そのテーブルに対して関数を実行

    BigQueryで時を遡って過去のテーブルを再構成する - ZOZO TECH BLOG
    masutaka26
    masutaka26 2022/05/17
    テーブル関数自体を知らなかった。こんなゴッツい機能を作るくらいには、課題がゴッツかったということか。
  • BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog

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

    BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog
    masutaka26
    masutaka26 2022/03/14
    知らなかった。Looker 使えない時に使えるかな? "BigQuery Scriptingは複数のSQLのステートメントの集合を一つのリクエストで実行できる機能です"
  • bigquery-utils/udfs/community at master · GoogleCloudPlatform/bigquery-utils

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    bigquery-utils/udfs/community at master · GoogleCloudPlatform/bigquery-utils
    masutaka26
    masutaka26 2022/01/19
    BigQuery デフォルトで使えるユーザー定義関数。url_keys や week_of_month など普通に便利。当然標準 SQL ではないので、他 DB への乗り換えは難しくなる
  • BigQueryMLで太陽光発電量を予測して、DataPortalに表示する - Qiita

    機械学習にBigQuery MLを利用する意図としては、BigQueryのSQLを利用して大きなデータを扱えるメリットを活かすことです。 BigQuery MLについては、GCP公式ページをご参照下さい。 ・BigQuery ML BigQuery ML では、既存の SQL ツールやスキルで機械学習を使用できるため、データ アナリストも機械学習を簡単に利用できます。アナリストは、BigQuery ML を使用して BigQuery に ML モデルを構築し、評価できます。スプレッドシートなどのアプリケーションに少量のデータをエクスポートする必要はありません。また、データ サイエンス チームの限られたリソースを待つ必要もありません。 BigQuery MLによるモデルの作り方は、GCP公式ページをご参照下さい。 ・The CREATE MODEL statement 前回の記事にて、以下の

    BigQueryMLで太陽光発電量を予測して、DataPortalに表示する - Qiita
    masutaka26
    masutaka26 2021/12/27
    BQML って SQL にこんな感じにモデルを設定するんだ
  • GA4+BigQuery ハンドブック / ga4_bigquery

    Transcript GA4+BigQuery ハンドブック Ver 1.0.0α しんゆう @data_analyst_ 資料について • GA4+BigQueryはまだオフィシャルサイトにも情報が少 なく手探り状態 • そこでいろいろな情報を1つにまとめておくことは有用だ と考えた • まだまだ取り組み始めたばかりなので間違いや効率の悪い 方法を見つけたら教えていただけると幸いです 資料について About 資料について • 2021/10/13 α版公開 更新履歴 About 名前:しんゆう @data_analyst_ ブログ:データ分析とインテリジェンス https://analytics-and-intelligence.net 最近の活動:データを使いやすくする人 (データアーキテクトまたはデータ整備人) スライドが表示されているページの下段にある説明欄からも リンクが

    GA4+BigQuery ハンドブック / ga4_bigquery
    masutaka26
    masutaka26 2021/10/13
    今の仕事だと Funnel.io でやると思うけどまだ調べてないので一応ブクマ
  • NULL sorting in BigQuery

    masutaka26
    masutaka26 2021/08/13
    2020/5/1 から BigQuery では、ORDER BY 句に NULLS FIRST または NULLS LAST を付けられるようになった。ORDER BY で NULL が先頭と最後のどちらに来るかは実装依存だが、ユーザーが制御可能になった。Oracle や PostgreSQL でも可能
  • 【BigQuery】時間単位のパーティショニングの動き

    はじめに 少し前のこと[1]ですが、BigQueryで時間単位のパーティショニングがGAしました。 (合わせて、月単位や年単位のパーティショニングも機能追加されています) やってみたこと これまでは「日単位のパーティショニング」しかできませんでした。 時間単位でパーティショニングができるのなら、わざわざ日単位を利用する必要がないのでは? と思ったので、動作検証をしてみました。投稿はその備忘録になります^^ 【検証目的】 「時間単位のパーティショニング」のクエリ記述方法 日付で検索した場合に「日単位のパーティショニング」とスキャン対象容量は同じになるか 時間単位のパーティショニングの設定 下記のようなCREATE TABLEのSQL文で作成します。 CREATE TABLE dataset.table01 ( field_name01 string options(description=

    【BigQuery】時間単位のパーティショニングの動き
    masutaka26
    masutaka26 2021/04/17
    へー "少し前のことですが、BigQueryで時間単位のパーティショニングがGAしました"
  • BigQuery×Lookerでクエリデータ量を強制的に抑えるMax Billing Gigabytesを試してみる #BigQuery #Looker | DevelopersIO

    エントリは、クラスメソッド BigQuery Advent Calendar 2020の23日目のエントリです。 私が投稿した2日目のエントリに引き続き、今回もLookerと関係する内容となります。 LookerでBigQueryを接続先としたとき、使用料を抑える際の基は「レコード数をバランス良く分けられる日付等のカラムでパーティショニングを施し、そのカラムに対してalways_filterやconditionally_filterを用いて、必ずフィルタがされるようにexploreの設計をすること」だと思います。 しかし、always_filter等のフィルタ設定はLookMLでexploreごとに記述をしないといけないため、記述を忘れてしまったり、パーティショニングをしていないカラムを設定してしまったり、人的ミスがたまに起こりうると私は考えています。 そんなとき、LookerではB

    BigQuery×Lookerでクエリデータ量を強制的に抑えるMax Billing Gigabytesを試してみる #BigQuery #Looker | DevelopersIO
    masutaka26
    masutaka26 2021/02/23
    そうそうそうこの記事
  • COVID-19 感染予測 (日本版) の公開について | Google Cloud 公式ブログ

    Google Cloud は今年 8 月に Harvard Global Health Institute とのパートナーシップのもとで COVID-19 Public Forecasts を公開しました。このサービスは予測開始日から将来 14 日間における米国内の COVID-19(新型コロナウイルス感染症)陽性者数や死亡者数などの予測を提供しています。この度、サービスを日にも拡張し、COVID-19 感染予測(日版)の提供を開始します。日版では予測開始日から将来 28 日間のあいだに予測される国内の陽性者数や死亡者数等の予測値を表示します。 米国で提供している COVID-19 Public Forecasts は AI と膨大な疫学的データを組み合わせ、さらに、時系列の予測を扱う斬新な機械学習のアプローチを採用することで実現しました。米国向けのこの初期モデルは今年 8 月に初

    COVID-19 感染予測 (日本版) の公開について | Google Cloud 公式ブログ
    masutaka26
    masutaka26 2021/01/08
    BigQuery のデータも公開されていたので、試しに LookML 書いたら割と簡単に Looker から使えてしまった・・・!
  • Google CloudがBigQueryでAWS、Azure上のデータを動かさずに分析できる「BigQuery Omni」を発表

    Google Cloudは2020年7月14日(米国時間)、アナリティクスサービス「BigQuery」のマルチクラウド対応を発表した。Amazon Web Services(AWS)やMicrosoft Azure上のデータを動かすことなく、BigQueryによるマルチクラウドのデータ分析ができる。 Google Cloudは同日、AWSの「Amazon S3」に対応したプライベートα版の提供を開始した。Azureへの対応は近い将来(「soon」)に行うという。 BigQuery Omniでは、Google Cloudがマルチクラウド対応を進めるマネージドKubernetesサービス、「Anthos」を活用する。BigQuery OmniとしてAWSやAzureに展開するAnthosクラスタ上で、BigQueryのクエリエンジンである「Dremel」をマネージドサービスとして動かす。その上

    Google CloudがBigQueryでAWS、Azure上のデータを動かさずに分析できる「BigQuery Omni」を発表