Data Engineering Studyの共同主催者であり、ETL & ワークフローサービス「trocco®︎(トロッコ)」を開発する株式会社primeNumberがお届けする、データエンジニアのための最新ニュースまとめです。
データエンジニアの皆さんが普段利用されているDWH/ETL/BIツールに関する最新アップデートや、界隈の最新トピックをまとめて配信しております。
忙しい方や、サクッと最新情報をキャッチアップしたい方向けに、主要なニュースをピックアップして独自にまとめています。
毎月更新でニュースをお届けしていますので、ニュースの新着メール通知をご希望の方はこちらのフォーム(https://forms.gle/ZHUrxtfRZzPXxWZP6)よりご登録ください。
Google BigQueryのニュースまとめ
BigQueryクラウドコンソールのUIアップデート
Webブラウザ上からBigQueryに対してクエリを実行できる「BigQueryクラウドコンソール」に以下のアップデートが入りました。(※リリース自体は1月14日にされていたみたいですが、順次適用されていたため今回のニュースに含ませていただきました)
- マルチタブ対応
- 「クエリ履歴」「保存したクエリ」「ジョブ履歴」が画面下部に固定表示されるように
- クエリエディタに「自動補完」「キーワード検索」機能追加
参考: Google公式アナウンス
SQLから列の削除オペレーションが可能に(preview版)
Standard SQLにALTER TABLE DROP COLUMN構文が追加されました。
2020年10月に列追加(ALTER TABLE ADD COLUMN)構文が追加されましたが、その削除版がプレビューリリースされました。
今まで列の追加・削除オペレーションを実現するには、API/CLI/UIコンソールから実行するしかなかったのですが、今回のアップデートによりクエリからオペレーションが可能になりました。
SCHEMAの操作をクエリでオペレーション可能に(GA版)
Standard SQLにCREATE/ALTER/DROP SCHEMA構文が追加されました。
今までスキーマの追加・削除・変更オペレーションを実現するには、API/CLI/UIコンソールから実行するしかなかったのですが、今回のアップデートによりクエリからオペレーションが可能になりました。
データを簡単にサンプリングできるTABLESAMPLE句の追加(preview版)
クエリのFROM句にTABLESAMPLE句を追加することで、簡単にデータのサンプリングを行うことが出来るようになりました。
例えば以下のようなクエリを書くことで、スキャン量を10%に削減しながらテーブルの概算レコード数を算出することができます。
SELECT COUNT(*)
FROM trocco.pv_logs TABLESAMPLE SYSTEM (10 PERCENT)
従来であればWHERE RAND() < 0.1のようにクエリでサンプリングしていましたが、これだとテーブルが全スキャンされてしまうという欠点がありました。今回のリリースにより、スキャン量を減らしつつサンプリングする事ができるようになりました。
ちなみにBigQueryでは1GBを超えるテーブルについては、データを複数の「ブロック」という単位で内部的に保持するそうですが、このブロックをサンプリングすることでスキャン量を減らしているのだとか。
なので10 PERCENTと指定しても、厳密に10%のデータでサンプリングされるわけではないらしいので注意です。
テーブル内の全データをスキャンせず、コストや処理時間を削減しながら分析を行いたい場合に利用できるかと思います。
テーブルのParquetエクスポート(preview版)
BigQuery内にあるテーブルは、CSV/JSON(Lines)/Avro形式でGoogle Cloud Storageにエクスポートすることが出来ますが、今回のリリースでParquet形式でのエクスポートに対応しました。なお、圧縮形式はSNAPPYのみの対応です。
preview版ということで以下のような制約があるそうです。
- GUIのコンソールでは利用できず、CLI等から利用できる
- レコード型や配列型は1行で出力される
- DATETIME/TIME型でエクスポートしたものは、再度インポートすることが出来ない(?)
BigQuery内のデータをアーカイブさせる際などは、Parquet形式にしておくと再利用性が高なるなどのメリットがあるため、正式版になったら利用したい人は多そうですね。
その他のリリース
その他、BigQueryには以下のリリースがありました。
- BIGNUMERIC型のフィールドをサポート(精度: 76.76、スケール: 38)
- JSON extraction functionsサポート(JSON_EXTRACT_STRING_ARRAY、JSON_QUERY_ARRAY、JSON_VALUE_ARRAY)
- INFORMATION_SCHEMA.TABLESにDDL用の列を追加(preview)
- 列の名前が300文字まで増加(ASCIIのみ)
- Materialized ViewがGA版に
Amazon Redshiftのニュースまとめ
Redshiftデータ共有(データシェアリング)が正式リリース
2020年12月にプレビュー版としてリリースされていたデータ共有機能が正式リリースされました。
クラスタ内のデータを、別のクラスタからアクセスできるようにデータをシェアすることが出来ます。
これまでアクセス負荷を軽減させるために、複数のクラスタを構築し、クラスタ間でデータを同期するためには実データのコピーが必要でしたが、そういった作業が不要になります。
なお、RA3インスタンスのみが対象となります。
参考1: AWS公式アナウンス
参考2: DevelopersIOの試してみた記事
クロスデータベースクエリのGA版リリース
今までデータベースをまたいだクエリ実行は出来ませんでしたが、RA3インスタンスのみを対象にデータベースをまたいだクエリ実行ができるようになりました。
参考1: AWS公式アナウンス
参考2: DevelopersIOの試してみた記事
Query Editorアップデート
AWSコンソール上からRedshiftに接続・クエリ実行できる「Query Editor」に以下のアップデートが入りました。
- 拡張VPCルーティングが有効化されているクラスタへのクエリ実行
- クエリ実行上限時間が10分から24時間に引き上げ
- 接続と認証情報を安全に保存するためにAWS Secret Managerがサポート
その他アップデート
その他、Redshiftには以下のアップデートがありました。
- Redshift Spectrumがアジアパシフィック (大阪)リージョンで利用可能に(3/23)
ETLツールのニュースまとめ
trocco®️(トロッコ)がGit連携に対応
ETL & ワークフローサービス「trocco(トロッコ)」が、ETLなどの各種設定情報をGitHubなどでバージョン管理できるようになりました。
参考: trocco公式リリースノート
その他ニュースまとめ
S3 Object Lambdaリリース
S3オブジェクトにGETリクエストが送られた際、任意の処理を実行してからレスポンスを返す機能がリリースされました。
S3上にあるCSVに対し、行のフィルタリングなどを行った上で変換する等が可能になります。
参考1: AWS公式アナウンス
参考2: DevelopersIOの試してみた記事
以上、Data Engineering News 2021年2〜3月号でした。
毎月更新でニュースをお届けしておりますので、ニュースの新着メール通知をご希望の方はこちらのフォーム(https://forms.gle/ZHUrxtfRZzPXxWZP6)よりご登録ください。
こんなニュースを知りたい!といったご要望もお待ちしております。