ブロックリファレンス

BLOCKS Reference

BigQuery

ストリームインサート

概要

このブロックは、BigQuery open_in_newテーブルへレコードを高速に挿入します。

ストリームインサートブロックの概念図
(画像をクリックすると拡大表示されます。)

このブロックを使用して挿入したレコードは、使用後30分ほどの間は、データ操作言語(DML)open_in_newUPDATEDELETEMERGEステートメントを使用した変更はできません。

ストリーミング(tabledata.insertallメソッドまたはStorage Write API)を使用してテーブルに書き込まれた行は、UPDATE、DELETE、MERGEステートメントを使用して変更することはできません。最近の書き込みとは、30分以内に行われたものを指します。テーブル内の他のすべての行は引き続き、UPDATE、DELETE、MERGEステートメントを使用して変更できます。ストリーミング データがコピー オペレーションで使用可能になるまでに最大90分かかることがあります。

データ操作言語(DML)の使用| BigQuery | Google Cloud

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCPサービスアカウント このブロックで使用するGCPサービスアカウントを選択します。
投入先のデータセット

投入先のデータセットIDを指定します。

変数展開の指定が可能][%形式の文字列書式の指定が可能]
投入先のテーブル

投入先のテーブルIDを指定します。

変数展開の指定が可能][%形式の文字列書式の指定が可能]
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
投入データの変数 投入データを参照する変数を指定します。

使用例

ここでは、News APIopen_in_newを使用して、「HTTP GET」ブロックと「ストリームインサート」ブロックを組み合わせ、最新のニュース記事データをBigQueryにリアルタイムで取り込む方法を紹介します。

  1. News APIのアカウントを作成open_in_newし、APIキーを取得します。
  2. HTTP GET」ブロックを以下のように設定します。
    プロパティ名
    URL https://newsapi.org/v2/top-headlines
    クエリーパラメーター
    キー バリュー
    country jp
    レスポンスを格納する変数 news_response
    リクエストヘッダー
    キー バリュー
    Authorization 取得したAPIキー
  3. 「ストリームインサート」ブロックを以下のように設定します。
    プロパティ名
    投入先のデータセット example
    投入先のテーブル news_top_headlines
    投入データの変数 news_response.articles

これら2つのブロックを組み合わせたフローを実行すると、News APIから取得した最新のニュース記事データが、リアルタイムでBigQueryのexample.news_top_headlinesテーブルにストリームインサートされます。

このテーブルのスキーマは以下のようになります。

名前 タイプ モード
source RECORD NULLABLE
source.id STRING NULLABLE
source.name STRING NULLABLE
author STRING NULLABLE
title STRING NULLABLE
description STRING NULLABLE
url STRING NULLABLE
urlToImage STRING NULLABLE
publishedAt TIMESTAMP NULLABLE
content STRING NULLABLE

あとは、BigQueryでこのテーブルを分析することで、ニュースのトレンドや話題をリアルタイムで把握できます。たとえば、以下のようなことが可能です。

  • 人気のキーワードや話題の抽出
  • ニュースソース別の記事数の集計
  • 特定のキーワードを含む記事の抽出
  • 記事公開数の時系列変化の可視化

このように、News APIとBigQueryを連携させることで、リアルタイムでニュースデータを収集・分析できるようになります。

News API以外にも、様々なデータソースとBigQueryを組み合わせることで、多様なリアルタイム分析が実現可能です。

この情報は役に立ちましたか?