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

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

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

Google BigQueryのニュースまとめ

カラムレベルのデータマスキングが利用可能になりました(プレビュー)

従来の列レベルアクセス制御(column-level access control)は、権限のない列に対してのクエリが失敗する挙動でした。
データマスキング(dynamic data masking)では、クエリは失敗せずに設定により以下のマスキングが適用された状態で返されます。

  • NULL化
  • データ型ごとのデフォルト値(STRINGなら””(空文字)、INTEGERなら0など)
  • HASH(SHA256)化(JOINに利用することができます)

より詳しく知りたい方は、以下の参考リンクもご覧ください。
Introduction to dynamic data masking

BigQueryの大文字小文字を区別しない照合順序が利用可能になりました(プレビュー)

DDLでCOLLATE/DEFAULT COLLATE句に’und:ci’を指定することで有効になります。
※ 全てのカラムに設定したい場合は、DEFAULT COLLATEを使えます。

sample_columnには’BigQuery’という文字列が入っていますが、’bigquery’との比較でもヒットします。

より詳しく知りたい方は、以下の参考リンクもご覧ください。
照合の操作

Amazon Redshiftのニュースまとめ

新しいトランザクション分離レベルのサポート

新しいトランザクション分離レベルとしてSNAPSHOTがサポートされました。
従来の分離レベル SERIALIZABLE では複数のトランザクションが同時に開始され、同じテーブルに対して更新をすると、後から始まったトランザクションのほうはエラーで終了します。新しい分離レベルSNAPSHOTを利用すると同一のテーブルの異なる行に対して別々のトランザクションから同時に更新でき、同時実行性を高めることが可能になるようです。
プロビジョニングされたRedshiftクラスタでは SERIALIZABLE がRedshiftサーバレスではSNAPSHOTがデフォルトの分離レベルになります。

詳しくは公式ドキュメントをご覧ください。

Redshift MLで線形学習者アルゴリズムをサポート

Redshift MLでSageMakerの線形学習者(Linear Learner)のアルゴリズムのサポートがされました。
CREATE MODEL コマンドで model_type に LINEAR_LEARNER を指定すると、線形学習者アルゴリズムを使ったモデルを作成することができます。
線形学習者アルゴリズムは主に、広告のクリック率や売り上げの予測などに利用さています。

詳しくはリリースノートをご覧ください。

Snowflakeのニュースまとめ

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

  • Snowflakeスクリプト
  • Java用Snowpark API
  • Scala用Snowpark API (Azureでの一般公開)
  • Java UDFs (Azureでの一般公開)

※ 4月分でも紹介しましたが、リリースノートの情報が5月分に移行されていたため、再掲載しました。

AWS PrivateLink およびAzure Private Linkの設定のセルフサービスサポート

AWS PrivateLink、Azure Private Linkとは
それぞれのクラウドネットワークのプライベートIPアドレスを介して、各サービスへ接続するサービスです。
クラウドサービスのバックボーンネットワークに閉じることで、インターネットを回避でき
簡素な構成でプライベート通信を構築することができます。
※ この機能を有効にするには、Snowflake Business Critical以上のエディションにする必要があります。

これまでは上記サービスをSnowflakeの接続を準備する際に、Snowflakeのサポート担当者との連絡を取る必要がありました。今回のリリースで、サポートを介さずアカウント操作のみで接続有効化・承認・取り消しが行えるようになりました。

具体的には新規のSQL関数が追加されており、

  • SYSTEM$AUTHORIZE_PRIVATELINK: 認証と有効化
  • SYSTEM$GET_PRIVATELINK: 承認有無の確認
  • SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS: 承認済みエンドポイントのリストの確認
  • SYSTEM$REVOKE_PRIVATELINK: 無効化

ができるようになりました。

詳しくは公式ドキュメントを参照ください。

新しい SQL 関数

  • ARRAY_UNIQUE_AGG: 指定された列からのすべての個別の値を含む配列を返します。
with unique_test as (
  select 1 aa
  union all
  select 1
  union all
  select 2
  union all
  select 3
) 
select array_unique_agg(aa) from unique_test

+-------------------------+
| ARRAY_UNIQUE_AGG(A)     |
+-------------------------+
| [ 1, 2, 3]              |
+-------------------------+
  • ARRAY_UNION_AGG: 入力配列からのすべての個別の値(個別の値の和集合)を含む配列を返します。
create table union_test(a array);

insert into union_test
select parse_json(‘[ 1, 1, 2]’)
union all
select parse_json(‘[ 1, 2, 3]’);

-- Notice the multiset semantic (1 appears twice, because of the first input array)
select array_union_agg(a) from union_test;

+-------------------------+
| ARRAY_UNION_AGG(A)      |
+-------------------------+
| [ 1, 1, 2, 3]           |
+-------------------------+

詳しくは公式ドキュメントを参照ください。

Query Acceleration Service — Preview

この仕組みは、処理負荷のクエリなど一部のワークロードを
アカウントの持つウェアハウスとは別の共有リソースに処理を任せ、
システム全体のパフォーマンスの改善を図ることができるとのことです。

ユースケースとしては

  • アドホックな分析クエリ
  • 一時的に通常利用から外れたデータサイズを読み込むクエリ
  • その他多くのデータを読み込み、多くのフィルタ処理を含むクエリ

などに有用とのことです。

現在プレビュー版としてリリースされており、以下のリージョンで利用できます。

  • AWS – US West (Oregon)
  • AWS – US East (N. Virginia)
  • AZURE – East US 2 (Virginia)

Snowflakeサービスの共通リソースを利用するということもあり
パフォーマンスは実行タイミングなどに影響されるとのことです。

詳しくは公式ドキュメントを参照ください。

Lookerのニュースまとめ

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

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

ピボットテーブルでオプションの指標が使えるようになりました

オプションの指標とは、グラフや表に表示する指標をユーザーが選択できるようにする機能になります。
このオプションの指標がピボットテーブルでも使用することができるようになりました。

オプションの指標を使用するにはピボットテーブルのデータ操作時にオプションの指標にチェックします。

そうすることでピボットテーブル上でオプションの指標で指定した指標を選択できるようになります。

一部コネクタで作成するデータソースのデータ更新頻度が変更されました

下記のコネクターで作成するデータソースについて、データの更新頻度が1~50分ごとの分単位または1~12時間ごとの時間単位で更新できるようになりました。

  • MySQL
  • PostgreSQL
  • MS SQL Server
  • Amazon Redshift
  • CloudSQL for MySQL
  • Google Cloud Storage
  • Cloud Spanner

データ更新頻度を1~50分ごとの分単位または1~12時間ごとの時間単位で設定したい場合は、データ更新頻度のカスタムを選択することで設定することができます.

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

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

troccoの直近のアップデートをご紹介します。詳しいアップデートは以下リリースノートもご参照下さい。
https://documents.trocco.io/docs/release-note-2022-05

2022-05-30

データマート

  • データマート定義にて、Snowflakeで自由記述モードが追加されました。
    • SnowflakeのDWHに対して、DDL文など任意のクエリを発行していただくことが可能です。

2022-05-23

転送設定

  • 転送先Google Ads コンバージョンに拡張コンバージョンを追加しました。
    • これまでtroccoでは、転送先Google Adsとしてオフラインコンバージョンのみ対応していましたが、拡張コンバージョンにも対応しました。
    • それに伴い、「転送先Google Ads オフラインコンバージョン」は、「転送先Google Ads コンバージョン」と名称を変更しました。
  • 転送元ローカルファイルにて、STEP1で文字コードを指定できるようになりました。
  • 転送元Facebook Ads Insightsにて、レポートテンプレート機能が使えるようになりました。
    • 転送元Facebook Ads Insightsの転送設定編集画面STEP1で、レポート種別ごとに主なフィールドをテンプレートで取得できるようになりました。

データマート

  • BigQueryでのデータマート定義で自由記述モードを使用した際に、データ処理ロケーションを指定できるようになりました。
    • これまでクエリの対象はUSリージョンのみでしたが、対象データセットのリージョンを指定できます。

その他UI・UX

  • データマート定義一覧画面、ワークフロー定義一覧画面で最大50件まで定義情報を表示できるようになりました。

2022-05-16

転送設定

  • 転送元Shopifyにて、カスタムアプリに対応しました。
    • Shopifyの接続情報作成についても、カスタムアプリを選択できるようになりました。
  • 転送先としてZoho CRMが追加されました。
  • 転送設定一覧画面で最大50件まで転送設定を表示できるようになりました。

データカタログ

  • クエリディタにて、BigQueryのスキャン量を表示できるようになりました。
    • 同時に、無効なクエリを発行するとエラー箇所を返されるようになりました。

2022-05-02

転送設定

  • 転送元AmazonS3にて、解凍設定としてtar.gz形式が選択可能になりました。
    • tar.gz形式で解凍する場合は、解凍後の相対パスを正規表現で設定可能になりました。

データカタログ

  • ユーザー定義メタデータ更新時に、インデックスも同時に更新するようになりました。
    • ユーザー定義メタデータを更新すると同時に検索にヒットするようになりました。


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


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

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

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

hirokazu.kobayashi

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