Data Engineering Newsとは?

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

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

毎月更新でニュースをお届けしておりますので、ニュースの新着メール通知をご希望の方は以下フォームよりご登録下さい。
https://forms.gle/ZHUrxtfRZzPXxWZP6

目次

Google BigQueryのニュースまとめ

トランザクション(Multi-statement transactions)のサポート

RDBMSではお馴染みのトランザクション機能がプレビュー版でリリースされました。

1つ以上のテーブルでの行の挿入や削除などの操作、および変更をアトミックに処理を行い、コミットまたはロールバックを行えるようになりました。

クエリ例

Copy to Clipboard

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

権限操作命令(data control language, DCL)のサポート

SQLによる権限の付与・除外の操作としておなじみのGRANT、REVOKEはGAリリース、OBJECT_PRIVILEGESはプレビュー版としてリリースされました。

GRANT

ユーザにBigQueryのリソースへの権限を付与する

  • SQL記述例
Copy to Clipboard

 

REVOKE

ユーザにBigQueryのリソースへの権限を除外する

SQL記述例

Copy to Clipboard

 

INFORMATION_SCHEMA.OBJECT_PRIVILEGES ビュー

メタ管理ビューのひとつ。各行にリソースとその操作権限情報を含む結果を返します

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

データ型に対する型変換関数のGA版リリース

以下のデータ型変換用の関数がGA版としてリリースされました。

  • PARSE_BIGNUMERIC / PARSE_NUMERIC
    • STRING型からBIGNUMERIC/NUMERIC型に変換します。
  • CAST
    • STRING, DATE, DATETIME, TIME, TIMESTAMP, NUMERIC,BYTES型の変換をサポートしました。
  • INT64型のエイリアス(INT, SMALLINT, INTEGER, BIGINT, TINYINT, BYTEINT)
    • 他のRDBMSの場合桁数による違いがありますが、BigQueryでは全てINT64型のエイリアスとして定期されたとのことです。
  • ST_GEOGFROM
    • STRING または BYTES の値の式を GEOGRAPHY の値に変換します。

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

ALTER COLUMN SET OPTIONS ステートメントのGA版リリース

ALTER COLUMN SET OPTIONS がGA版でリリースされました。
カラムの説明(description)を書き込むことができます。

SQL例

Copy to Clipboard

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

 

Table-valued Functions (TVF, テーブル値関数)がプレビュー版でリリース

Table-valued Functions (TVF, テーブル値関数)がプレビュー版でリリースされました。
TVFはユーザ定義関数の一つで、テーブル結果を返す関数になります。
振る舞いはテーブルビューと似ていますが、パラメータを持つことが特徴です。

定義例

Copy to Clipboard

利用例

Copy to Clipboard

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

 

Googleトレンド(US)のデータセットがプレビュー版で公開

USのGoogleトレンドのデータセットがBigQueryのpublic datasetとして公開されました。
内容は過去5年間のUSでのデイリー上位25位のワード、25個の急上昇ワードが含まれているとのことです。

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

 

テーブルスナップショットがプレビュー版でリリース

テーブルのスナップショットの作成がリリースされました。

元テーブルに存在する同じデータや作成後に追加されたデータについては課金されず、変更・削除されたデータについてのみ課金される仕組みとのことです。

ほとんどのユースケースに置いてテーブルコピーをして保持するよりもコストが抑えられそうです。

主な制約としては

  • 元テーブルと同一リージョンにのみ配置可能
  • 変更操作はできない
  • クエリ実行回数上限など

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

行レベルのアクセス制御がGA版でリリース

これまでデータアクセスの制限として、プロジェクト、データセット、テーブル、そしてカラム単位でのアクセス制限がサポートされていましたが
今回のリリースから行レベルセキュリティを使用することで、
設定したユーザー条件に基づいて行単位でのアクセス制御ができるようになりました。

データのアクセス制御を行う手段として他に

  • 承認済みビュー
  • テーブルを分割

などの方法がありますが、今回リリースされた行レベルアクセスセキュリティとの比較しているものが公式ドキュメントに記載されています。

ポイントとしては

  • 承認済みビュー・行レベルアクセスの場合はクエリエラーメッセージなどから、保護された行の情報を特定されてしまう可能性がある
  • 不正な操作をモニタリングできるように監査ロギングをセットで利用することを推奨している
  • クエリの課金バイト数は行レベルセキュリティのフィルタでなく、通常のWHERE句と同じ方法で計算される
  • 行レベルアクセスを設定したテーブルに対し、レガシーSQLクエリはエラーになる

などがありました。

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

 

データ型の制約を指定するパラメータのサポート

以下のデータ型で、長さや桁数をに制限をつけられるようになりました。

  • STRING(L): Lは整数値で、文字列の最大文字数を指定します。指定値を超える値を割り当てようとした場合には OUT_OF_RANGE エラーを返します。
  • BYTES(L): Lは整数値で、最大バイト数を指定します。指定値を超える値を割り当てようとした場合には OUT_OF_RANGE エラーを返します。
  • NUMERIC(P) / NUMERIC(P, S): 最大精度がP、最大スケールSを整数値で指定します。最大スケール範囲: 0 ≤ S ≤ 9 最大精度範囲: max(1, S) ≤ P ≤ S + 29
  • BIGNUMERIC(P) / BIGNUMERIC(P, S): 最大精度がP、最大スケールSを整数値で指定します。最大スケール範囲: 0 ≤ S ≤ 38 最大精度範囲: max(1, S) ≤ P ≤ S + 38

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

Amazon Redshiftのニュースまとめ

Amazon Redshift が列レベルの上書きで大文字と小文字を区別しない照合順序をサポート

並べ替え・グループ化・LIKE検索・正規表現検索など比較ベースのオペレーションで、大文字小文字の区別をしない設定が可能になりました。なお、データとしては大文字小文字が区別されて保持されています。

参考1: AWS公式アナウンス

Snowflakeのニュースまとめ

Snowparkをプレビュー提供開始

好きな言語でETL/ELT、データプレパレーション、フィーチャーエンジニアリングなどのワークロードを実装し、Snowflake上で実行できるようになりました。

現時点では、言語としてはScalaのみの対応で、AWS上でホストされているSnowflakeアカウントでのみ利用可能とのことです。

参考: Snowflake公式リリースノート

Java UDFsをプレビュー提供開始

Javaでユーザー定義関数を記述し、それらを組み込み関数のように呼び出すことができるようになりました。関数はインラインもしくはjarファイルで指定可能のようです。

こちらも現時点ではプレビュー版で、AWS上でホストされているSnowflakeアカウントでのみ利用可能とのことです。

参考: Snowflake公式リリースノート

地理空間データのサポート

GEOGRAPHY データ型が追加されました。

緯度/経度地、WKT、WKBなどのデータの場合、GEOGRAPHY型に保存するとクエリパフォーマンスの向上が期待できます。

また、GEOGRAPHY データ型を操作する地理空間関数が用意されています。

参考: Snowflake公式ドキュメント

Snowflake SQL API

Snowflakeのデータを参照、更新するためのREST APIが、プレビュー版として提供開始されました。

現時点で以下の操作が可能とのことです。

  • SQLステートメントの実行
  • SQLステートメントの実行状況確認
  • SQLステートメントのキャンセル

参考: Snowflake公式リリースノート

クラウドストレージ内のファイルセットから列定義の検出

クラウドストレージ内の半構造化データファイルから、列定義の自動検出機能が提供開始されました。

この機能により標準ランディングテーブルや外部テーブルの作成が容易に行えるようになります。

参考: Snowflake公式リリースノート

Snowflake Data Marketplace の一般提供開始

プロバイダーとしてデータを公開したり、コンシューマーとしてデータの購入が可能になりました。

参考: Snowflake公式リリースノート

Lookerのニュースまとめ

マテリアライズドビューのサポート

永続的派生テーブル(PDT)を作成する際、マテリアライズドビューを利用できるようになりました。

従来からサポートしているPDTとはテーブルの更新方法が異なります。
PDTがLookerで永続化を管理するのに対し、マテリアライズドビューはデータベースがテーブルを更新します。

なお、マテリアライズドビューは現在、BigQueryとRedshiftで利用可能とのことです。

参考: Looker公式リリースノート

Looker Expressionでcase / whenが使用可能に

表計算時などにcase/whenが使用できるようになりました。

例えばこれまでif文でネストさせる必要があった箇所で、より簡単に表現が可能になります。

Lookerのラーニングプラットフォームがオープン

ビジネスユーザー、LookML開発者、Looker管理者のそれぞれのロールに合わせたレッスンが公開されました。(3つの中から自分のロールを選択してレッスンを受ける形になります)

なお、日本語へのローカライズは未対応です。

参考: Looker公式リリースノート

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

Googleアドマネージャーで取得可能なフィールドが追加

以下のフィールドを取得することが出来るようになりました。

  • Line item ID
  • Order ID
  • Creative ID
  • Ad unit ID (top level)
  • Placement ID
  • Country ID
  • City ID
  • Master and Companion creative ID
  • App ID

参考: Google公式リリースノート

値の書式を保持したままのデータエクスポートが可能に

CSV、エクセル、SpreadSheetへのエクスポートの際に、数値や日付の書式を維持したままデータをエクスポートすることが可能になりました。

エクスポート時に「値の書式に合わせる」を選択することで有効になります。

参考: Google公式リリースノート

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

設定変更の履歴管理・ロールバック機能をリリース

転送設定の変更履歴をビジュアライズし、任意の地点にロールバック出来る機能がリリースされました。

詳しくはこちらのリリースノートをご参照下さい。

SSOログインに対応

SAML認証によるSingle Sign On (SSO) に対応しました。
OneLoginやOktaといったSAML2.0に対応した各種サービスがご利用いただけます

ワークフロータスクのエラーハンドリング機能の追加

これまではタスクが成功した場合にしか後続タスクが実行することができませんでした。
タスクエラー時も後続タスクを続行 を有効にすることで、タスクがエラーの場合でも次のタスクが実行できるようになります

新着ニュースのメール通知

毎月更新でニュースをお届けしておりますので、ニュースのメール通知をご希望の方は以下フォームよりご登録下さい。
https://forms.gle/ZHUrxtfRZzPXxWZP6
(「こんなニュースを知りたい!」というようなご意見・ご要望も著者Twitterアカウントまでお気軽にDM下さい!)

trocco®︎(トロッコ)をもっと知る

trocco®︎(トロッコ)の詳細を記載した資料をお送りいたします。
下記よりお申し込み下さい!

資料請求はこちら