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

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

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

Google BigQueryのニュースまとめ

BigQuery パートナーセンター が開設しました (Preview)

BigQuery をより活用するためのパートナーツールを紹介するBigQuery パートナーセンターが誕生しました。

その他GAとなった機能

Amazon Redshiftのニュースまとめ

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

Amazon Athenaのニュースまとめ

Google Cloud Storageへのクエリがサポートされました

Amazon AthenaからGoogle Cloud Storageのデータに対してクエリを実行することができるようになりました。

詳しい設定方法などはを公式ドキュメントご覧ください。

Snowflakeのニュースまとめ

新しいSQL関数 MIN_BY / MAX_BY

MIN_BY / MAX_BY

  • 指定された列の最小値または最大値を含む行を検索し、その行にある別の列の値を返します。

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

Amazon S3 互換ストレージの使用(プレビュー)

Amazon S3 API 準拠したオンプレミスまたはプライベートクラウド内のソフトウェア
外部ステージおよび外部テーブルを作成することができるようになりました。

利用の際はSnowflakeサポートへの連絡が必要になります。
また、public test suiteというテスト環境も提供されており、事前に検証することもできるようです。

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

Python表形式ストアドプロシージャ(プレビュー)

Snowparkデータフレームを使用してPythonストアドプロシージャから表形式のデータを返すことができるようになりました。

例)従業員のテーブルを作成し、ストアドプロシージャを使用して、列が文字列と一致する行をフィルターする

  1. 従業員テーブルを作成する
CREATE OR REPLACE TABLE employees(id NUMBER, name VARCHAR, role VARCHAR);
INSERT INTO employees (id, name, role) VALUES
(1, 'Alice', 'op'),
(2, 'Bob', 'dev'),
(3, 'Cindy', 'dev');
  1. ストアドプロシージャを定義する
CREATE OR REPLACE PROCEDURE filterByRole(tableName VARCHAR, role VARCHAR)
RETURNS TABLE(id NUMBER, name VARCHAR, role VARCHAR)
LANGUAGE PYTHON
RUNTIME_VERSION = '3.8'
PACKAGES = ('snowflake-snowpark-python')
HANDLER = 'filter_by_role'
AS
$$
from snowflake.snowpark.functions import col

def filter_by_role(session, table_name, role):
   df = session.table(table_name)
   return df.filter(col("role") == role)
$$;
  1. 実行例
CALL filterByRole('employees', 'dev');
>>     +----+-------+------+
       | ID | NAME  | ROLE |
       +----+-------+------+
       | 2  | Bob   | dev  |
       | 3  | Cindy | dev  |
       +----+-------+------+

RETURNS TABLE(...) の列型として、GEOGRAPHY型は指定できないようです。

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

メモ化可能な関数(Memoizable Functions)のサポート(プレビュー)

メモ化可能な関数(Memoizable Functions)は
ユーザー定義関数 (UDF) を呼び出した結果をキャッシュし、
後で出力が必要になったときにキャッシュされた結果を返します。

行アクセスポリシーやマスキングポリシー内で参照されるマッピングテーブルでの複数列のなど、
複雑なクエリなどでパフォーマンスを向上させることが期待できそうです。

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

新規ビューテーブル

Snowflakeアカウント情報の各種管理情報が取得できるビューが追加されました。

  • OBJECT_DEPENDENCIES ビュー
  • PASSWORD_POLICIES ビュー
  • SESSION_POLICIES ビュー

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

Snowflakeスクリプト変数をストアドプロシージャからのスカラー戻り値に設定する

CALL ステートメントで新しい INTO句を用いて
Snowflakeスクリプト変数のストアドプロシージャからスカラー戻り値をキャプチャできます。

DECLARE
  ret1 NUMBER;
BEGIN
  CALL my_procedure('Manitoba', 127.4) into :ret1;
  RETURN ret1;
END;

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

Snowsight ワークシートのバージョン履歴の保持

90日分のワークシートのバージョン履歴とその結果を保持するようになりました。
それ以降のデータは定期的に削除されます。

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

GA(一般公開)となった機能リリース

  • カラムリネージ(列の変更履歴)機能
    • INSERT、MERGE、CTASなどのテーブルへの変更操作に対し
      列単位での履歴情報が参照できるようになりました。
    • 2022年10月にプレビューで発表されました。Data Engineering Newでの紹介記事はこちら

Lookerのニュースまとめ

Looker 23.0 がリリースされました

埋め込みダッシュボードのテーマ設定

埋め込みダッシュボードのテーマ設定用のラボ機能が追加されました。
詳細は以下の公式ドキュメントをご確認ください。
埋め込みダッシュボードと Explore のテーマの作成と適用  |  Looker  |  Google Cloud

BI Engine が最適化されました

Bi Engine が最適化され、BigQuery 接続を使用する LookML クエリのパフォーマンスが向上しました。この機能はクエリランタイムの変更のみでクエリ結果に影響はありません。

Looker Studio Connector が GA になりました

Looker Studio と接続し、Looker Studio のデータソースとして追加することで、Looker Studio 内で Looker Explore にアクセスできるようになります。
詳細は以下の公式ドキュメントをご確認ください。
Looker Studio に接続する  |  Google Cloud

Looker Studio(旧: Googleデータポータル)のニュースまとめ

BigQuery ジョブにラベルがつくようになりました

Looker Studio から発行された BigQuery ジョブに requestor:looker_studio ラベルがつくようになりました。

Looker コネクタが GA になりました

Looker Studio レポートのデータソースとして、Looker Explore を追加できるようになりました。
詳細は以下の公式ドキュメントをご確認ください。
Looker Studio に接続する  |  Google Cloud

レポートエディター内の検索性が向上しました 

データパネル内の検索において、コンポーネントを選択すると選択中のコンポーネント内のフィールドを検索し、なにも選択していない状態だと、レポートに含まれるデータソース内を検索するようになりました。

Cloud SQL for MySQL コネクタでプライベートIP接続をサポート

Cloud SQL for MySQL でプライベートIP構成を使用できるようになりました。
Looker Studio からプライベート接続でのクエリを許可するには、Cloud SQL for MySQL のインスタンス設定で有効化する必要があります。
詳細は以下の公式ドキュメントをご確認ください。[
インスタンスの作成  |  Cloud SQL for MySQL  |  Google Cloud

dbtのニュースまとめ

dbt-core v1.4がリリースされました。

詳細はhttps://github.com/dbt-labs/dbt-core/releases/tag/v1.4.0をご覧ください。

dbt CloundのIDEが改善されました。

Syntax HighlightなどのIDE上での開発体験が向上されました。

詳細は公式のリリースノートをご覧ください

dbt Labsは今後数ヶ月に渡ってIDEの体験向上に注力していくようで、自動保存、個別ファイルのリバート機能、Linting/SQL Fluffを含める(研究開発)、などが予定されているようです。

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

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


データカタログ

Snowflake版データカタログが公開 🎉

  • Snowflake版のデータカタログ機能が公開されました。
    • Snowflakeアカウントに紐づくデータに対して、データカタログを作成できます。
    • Snowflake版データカタログが対応する機能について、詳しくは各データストア対応機能一覧を参照ください。 image

ワークフロー定義

ワークフロー定義の複製が可能に 🎉

  • ワークフロー定義が、詳細画面右上より複製できるようになりました。
    image

ワークフロー定義の複製はさまざまな用途にお使いいただけます。
以下で、かんたんに運用例を紹介します。

  • テスト環境の構築
    • 本番運用しているワークフロー定義を複製し、一部分をテスト環境用に差し替えることで、素早くテスト環境を構築できます。
  • テンプレートの運用
    • あらかじめ、あるワークフロー定義をテンプレートとして用意します。テンプレートを複製することで、類似するワークフローを手軽に複数作成できます。
    • また、複製機能を使うことでGoogle BigQueryデータチェックも、かんたんに再利用できるようになりました。

dbt連携

対応バージョンがv1.3にアップデート 🎉

  • troccoが対応するdbtのバージョンが、v1.2からv1.3へアップデートされました。
  • 新バージョンについて、詳しくはdbt-core v1.3.0を参照ください。

接続情報

PostgreSQL接続情報にて、JDBCドライバーのバージョンが選択可能に 🎉

  • PostgreSQLサーバーに接続するJDBCドライバーのバージョンを選択できるようになりました。
  • ご利用のPostgreSQLのバージョンに合わせて、ドライバーのバージョンを選択してください。
    • PostgreSQL 8.2以上の場合:JDBC Driver 42.5.1
    • PostgreSQL 8.2未満の場合:9.4 1205 JDBC 41
    image

転送設定

転送元Google Adsにて、取得できるリソースタイプが追加 🎉

APIアップデート

転送元Facebook Ad Insights・転送先Facebook オフラインコンバージョン

  • 上記に利用しているFacebook APIが、v14からv15へアップデートされました。
  • 新バージョンについて、Meta for Developersのドキュメントを参照ください。

その他、以下のような改修などが加わっております。

  • データカタログ – テーブル情報画面
  • テーブル情報画面に、カラム参照一覧へのリンクが追加されました。
    image
  • リンクをクリックすると、該当テーブル内に定義されているカラム参照の一覧が表示されます。
    image

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


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

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

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

hirokazu.kobayashi

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