こんにちは、小林寛和(@hiro-koba)と申します。私はデータエンジニアのための勉強会「Data Engineering Study」の共同主催者をやったり、ETL & ワークフローサービス「trocco®︎(トロッコ)」を運営する株式会社primeNumberの取締役CPOを務めているデータエンジニアです。

データエンジニアの皆さんが普段利用されているDWH/ETL/BIツールに関する最新アップデートや、界隈の最新トピックをまとめて配信しております。
お忙しい方や、サクッと最新情報をキャッチアップしたい方向けに、主要なニュースをピックアップして独自にまとめています。

毎月更新でニュースをお届けしていますので、ニュースの新着メール通知をご希望の方はこちらのフォームよりご登録ください。

Google BigQueryのニュースまとめ

APPENDS関数が利用可能になりました(Preview)

テーブルの変更履歴をテーブルとして取得することができる、APPENDES関数が利用可能になりました。
現在はINSERTなどによる追記履歴のみが取得可能で、削除は表示されない点に注意が必要です。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
Work with change history

BigQueryのクエリキュー機能が利用可能となりました(Preview)

クエリキューが有効な場合、利用可能なコンピューティング リソースに基づいてクエリの同時実行が動的に決定されます。同時実行数を超えたクエリは、十分な容量が確保されるまで、キューで待機されます。

クエリキューを使用しない場合、BigQuery は、同時に実行するインタラクティブ クエリの数を100個 に制限します。この上限を超えるクエリは、割り当てエラーを返します。

クエリキューを使用する

データセットにタグを付与可能になりました(Preview)

データセットに対してResource Manager タグを付与することが可能になりました。
これによりIAMポリシーをデータセットに対して条件付きで適用することが可能になります。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
データセットにタグを付ける

BI EngineのPreferredTables機能が利用可能になりました(Preview)

BIツール等との統合に使用されるインメモリ分析エンジンであるBI Engineにおいて、アクセラレーションするテーブルを指定できるようになりました。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
BI Engine preferred tables

BigQuery OmniでReservation、Access Control DCLが利用可能になりました(Preview)

BigQuery Omniで以下の機能が利用可能になりました。

  • 料金モデルを柔軟に切り替えることができるReservation機能
  • GRANT, REVOKEといったDCLステートメントによるアクセス制御

tables.get() APIのリクエストで使用できるフィールドにTableMetadataViewが追加されました

テーブルの一覧を取得するためのAPIであるtables.get()において、TableMetadataViewというフィールドを指定できるようになりました。
例えば、BASICという値を設定すると、numRowsやnumBytesなどのストレージ統計が含まれないため、レイテンシーの改善が見込めます。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
Method: tables.get

組織、プロジェクト単位でのデフォルトの設定をすることが可能になりました(Generally Available)

以下の値を、組織またはプロジェクト単位で設定することが可能になりました。

  • default_time_zone:タイムゾーンに依存するSQL関数で使用するデフォルトのタイムゾーン
  • default_kms_key_name:テーブルデータを暗号化するための、クラウド鍵管理サービスのデフォルトの鍵
  • default_query_job_timeout_ms:クエリジョブがタイムアウトするまでのデフォルトの時間

より詳しく知りたい方は、以下の参考リンクもご覧ください。
Manage default configurations

確定的暗号化SQL関数が利用可能となりました(Generally Available)

確定的暗号化SQL関数を利用すると、同一の平文とキーから常に同一の暗号文が生成されます。
そのため、暗号化されたカラムに関しても、GROUP BYやJOINにおいて、平文と同様に使用することができます。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
Cloud KMS 鍵を使用した SQL の列レベルの暗号化

バッチ/インタラクティブなSQLトランスレータが利用可能となりました(Generally Available)

別のSQL言語からBigQuery標準SQLクエリへの変換を行うSQLトランスレータ機能が、バッチとインタラクティブなモード双方で利用可能となりました。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
インタラクティブな SQL トランスレータを使用してクエリを変換する
バッチ SQL トランスレータを使用してスクリプトを移行する

また、以下の機能もプレビューとして利用可能になりました

システム変数@@dataset_project_idが利用可能になりました(Generally Available)

@@dataset_project_idに値を設定すると、クエリ内のでデータセットにプロジェクトIDが指定されていない場合、その値がプロジェクトIDとして使用されます。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
システム変数のリファレンス

その他の変更

  • クエリ結果を使ったデータポータルでの探索が可能になりました(Generally Available)
  • クラウドコンソールを使用して、BigQuery Omniから外部クラウドへのアクセスを制限するためのVPC Service Controlsを設定できるようになりました(Generally Available)

Amazon Redshiftのニュースまとめ

今月の大きなアップデートはありませんでした。

Snowflakeのニュースまとめ

プレビュー から GA(一般公開)になったもの

Unistore(プライベートプレビュー)

Unistoreは、Snowflakeプラットフォーム上で、
トランザクションデータと分析データを組み合わせて利用する新しいワークロードとのことです。

一般的にウェブアプリケーションで利用されるデータベースは
MySQLなどのOLTP(オンライントランザクション処理)を扱えるデータベースが必要とされます。
そのため、蓄積されたデータの分析を行う際には
SnowflakeなどのOLAP(オンライン分析処理)を得意とするデータベースで実施するために
ETLツールなどを用いて、データを定期的にロードするパイプラインを構築する必要があります。

今回SnowflakeはHybrid TablesというOLTPに特化したテーブルが用意されたことで
Snowflake上でアプリケーション用のデータベースを構築することができるようになりました。

これにより、Snowflakeのプラットフォーム上で一貫したデータ管理ができるようになり
上記のデータパイプラインはSnowflakeのみ構築でき、リアルタイム分析はもちろん、
セキュリティやデータの運用保守を簡素化を期待できそうです。

より詳しく知りたい方は以下の参考リンクも御覧ください。

Native Application Framework(プライベートプレビュー)

これまで Snowflake Marketplace のアプリケーションは
Snowflakeプラットフォームの外部のサービスにデータが流れる必要がありましたが、

今回のリリースでSnowflakeプラットフォーム内部でアプリケーションが動くもの
(=ネイティブアプリケーション)を構築・販売することができるようになるとのことです。

より詳しく知りたい方は以下の参考リンクも御覧ください。

Python対応Snowpark API (プレビュー)

Snowparkとはアプリケーションコードでデータパイプラインを構築し、
Snowflake上で実行できる仕組みです。

これまでは Java, Scalaが利用できましたが、今回のリリースでPythonが利用できるようになりました。

より詳しく知りたい方は以下の参考リンクも御覧ください。

Python UDF / UDF Batch Interface / UDTFs / Stored Procedures (プレビュー)

  • UDF(user-defined functions、ユーザ定義関数)
  • UDF batch API(Pandas DataFrameを受け取り、ArrayもしくはSeriesを返す関数)
  • UDTFs (user-defined table functions、テーブル関数)
  • Stored Procedures

これらについてもPythonで記述できるようになりました。

より詳しく知りたい方は以下の参考リンクも御覧ください。

DML操作レイテンシの改善

秒間100ジョブ以上のDML操作が同時実行できるようになったとのことです。
これにより、負荷の高いDML操作を含むワークロードなどでパフォーマンス改善が期待できるようです。

より詳しく知りたい方は以下の参考リンクも御覧ください。

Snowpipe のエラー通知を Google Cloud Pub/Sub、Azure Event Gridに対応(プレビュー)

SnowpipeはSnowflakeへのデータロード処理を自動化する仕組みです。

処理エラー通知はこれまでAWS SNS(Simple Notification Service)でサポートされていましたが、
今回のリリースで

  • Google Pub/Sub
  • Microsoft Azure Event Grid
    にもプレビュー版として対応されました。

より詳しく知りたい方は以下の参考リンクも御覧ください。

タスクのDAGサポート(プレビュー)

Snowflakeのタスクとは、単一もしくは複数のクエリ、テーブルストリームに対し
順序を定義し実行する仕組みです。

これまでは依存する親タスクは1つしか定義できなかったものが
複数の親タスクを定義することができるようになりました。
この制約はグラフ理論の用語では、有向非巡回グラフ(Directed Acyclic Graph: DAG)というものになります。

より詳しく知りたい方は以下の参考リンクも御覧ください。

タグベースのマスキングポリシー(プレビュー)

タグにマスキングポリシーを指定することで
タグが指定された列に対して、自動的に保護する機能です。

これにより、ポリシーを設定したタグを作成しておけば、保護する必要のある列にそのタグを加えるだけでポリシーが適用できるようになり、データ保護の取り組みの簡素化が期待できます。

より詳しく知りたい方は以下の参考リンクも御覧ください。

Lookerのニュースまとめ

今月のLookerの大きなニュースはありませんでした。

Googleデータポータルのニュースまとめ

BigQueryのテーブル情報やクエリ実行結果をデータポータルで簡易的に可視化できるようになりました

BigQueryのテーブル情報やクエリの実行結果を簡単にデータポータルに連携できるようになりました。

テーブル情報
クエリ実行結果

上記の画像のように連携することでデータポータルが開きテーブル情報やクエリ実行結果を可視化することができるようになります。

テーブル情報の可視化


連携後はデータポータルが自動でグラフを作ってくれますが、上記のように見づらいグラフが生成されることが多いと思います。
そのため、ユーザーさんの調べたい内容に応じてグラフを修正すると良いかなと思います。

詳しい操作方法についてはこちらをご覧ください。

Linking APIが一般公開になりました

Linking APIは、レポートテンプレートにURL経由でデータを設定することができる機能となります。
Linking APIは、下記のようなURL構成となります。

https://datastudio.google.com/reporting/create?
  c.reportId=<テンプレートとして使用したいデータポータルのレポートID>
  &ds.connector=googleSheets
  &ds.spreadsheetId=<スプレッドシートID>
  &ds.worksheetId=<スプレッドシートのワークシートID>

Linking APIを使用することで、ユーザーさんがボタン操作でデータソースを切り替えたりしなくて済むようになります。
Linking APIの使用方法についてはこちらをご覧ください。

その他のデータポータルのリリース情報を詳しく知りたい方はリリースノートをご覧ください。

Tableauのニュースまとめ

データインサイトの文章化

ダッシュボードの要約を自動的に生成する機能が追加されました。
ダッシュボードに「データストーリー」オブジェクトをドロップし、いくつかのセットアップをすると自動でサマリーが表示されます。

詳細は公式Docsをご確認ください。

ETLサービス「trocco(トロッコ)」のニュースまとめ

troccoの直近のアップデートをご紹介します。

データカタログ

全般

データカタログ画面でタブ情報を URL に保持するように

タブを遷移してブラウザバックで元の画面に戻ったときに、遷移前の箇所に戻れるようになりました。
これにより、他のユーザ様とより簡単にデータカタログの特定画面を共有できるようになりました。

クエリエディタ

クエリエディタで、ON 句にサジェストが表示されるようになりました。

データカタログに登録されている依存関係をもとに、条件のサジェストが表示されるようになりました。
これにより、より高速且つ正確にクエリを作成することが可能となりました。
image.png

転送設定

転送元 Google Ad Manager にて、最上位の広告ユニットを表示するか全ユニットを表示するか指定できるように

子、孫広告単位の深い階層のレポートも取得できるようになりました。
image.png

転送元 Shopify にて、ターゲットに Metafield を指定できるようになりました。

Shopify 側にて独自に定義した Metafield のデータを取得できるようになりました。
product や order など、各種対象単位で取得することができます。
image.png

ワークフロー

ワークフロータスクに trocco 一括登録が追加

一括登録に紐づく転送設定を一括で実行することができます。

image.png
image.png

その他、詳しいアップデートは以下リリースノートをご参照下さい。
https://documents.trocco.io/docs/release-note-2022-06


以上、Data Engineering News 2022年3月のアップデートまとめでした。

毎月更新でニュースをお届けしておりますので、ニュースの新着メール通知をご希望の方はこちらのフォームよりご登録ください。

こんなニュースを知りたい!というようなご意見・ご要望も著者Twitterアカウントまでお気軽にDM下さい!

hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。