クラスメソッド データアナリティクス通信(AWSデータ分析編) – 2022年11月号

2022.11.07

データアナリティクス事業本部のコンサルティングチームの石川です。コンサルティングチームメンバーを中心に、日々AWSのアナリティクス関連サービスのアップデートを追っています。メンバー内で業務に取り入れられそうかを中心に確認しているので、一部取り上げられていないものもあるかもしれませんが、参考になりましたら幸いです。

Amazon Redshift

新機能・アップデート

2022/10/05 - Amazon Redshift Serverless now supports resource tagging

Amazon Redshift Serverlessは、ネームスペースやワークグループなどのリソースのタグ付けをサポートするようになりました。タグ付けにより、リソースにキーと値のペアを割り当て、部門、請求グループ、本番/検証/開発環境ごとにリソースを整理することができます。

Amazon Redshift Serverlessのリソースタギングを使用すると、データウェアハウスリソースの簡略化されたビューを作成し、チームやプロジェクト間でより簡単に課金管理を行うことができます。これは、多数のアカウントや地域にわたってデータウェアハウスの利用を拡大する際に不可欠なものです。

2022/10/27 - Announcing general availability of SQL Notebooks support in Amazon Redshift Query Editor

Amazon RedshiftのQuery Editor v2で利用できる新しいSQL Notebookインターフェースは、これまでパブリックプレビューでしたが、一般利用開始(GA)になりました。SQL Notebookは、ドキュメント、視覚化、コラボレーション機能を備えた単一のNotebookに整理することで、複数のSQLクエリで作業で利用できるようになります。データアナリストやデータサイエンティストなどのユーザーが、関連するクエリと情報をまとめて使いやすくすることで、データ分析をより効率的に実行できるようにします。

高度な分析に携わるデータユーザーは、SQL NotebookのSQLセルを使って、データ分析に必要なクエリを1つの文書に埋め込むことができる機能です。クエリの結果を簡単に視覚化することができます。SQLノートブックをチームメンバーと共有し、Markdownセルを使用してクエリのドキュメントを提供することで、複雑なデータ分析タスクであっても、他のメンバーが学習曲線を容易に作成することができます。組み込み機能の「バージョン履歴」を使用して、SQL および Markdown セルの変更点を追跡することができます。また、エクスポートとインポート機能を使用することで、必要に応じてAWSアカウントやリージョン間でSQL Notebooksを簡単に移動することができます。

Amazon Athena

新機能・アップデート

2022/10/13 - Amazon Athena announces upgraded query engine (Version 3 !!)

Amazon Athena Engine Version 3について、弊社のブログで解説しています。

Amazon Athenaは、SQLクエリエンジンをアップグレードし、Trinoオープンソースプロジェクトの最新機能を搭載しました。Athenaエンジンバージョン3には、50以上の新しいSQL関数、30の新機能、90以上のクエリパフォーマンスの向上が含まれています。また、Athenaはオープンソースソフトウェア管理における継続的インテグレーションアプローチを導入し、TrinoおよびPrestoプロジェクトとの連携を強化し、Athenaエンジン内で統合および調整されたコミュニティの改良に迅速にアクセスできるようにします。

Athenaエンジンバージョン3は、バージョン2の全機能を含みながら、rank-based 統計を高精度で近似するために使用できるT-Digest関数、最適化された地理空間クエリを実行する新しい地理空間関数、不正検出やセンサーデータ分析などのアプリケーションでデータパターンを識別するためのMATCH_RECOGNIZEなどの新しいクエリ構文など、多数の拡張機能が追加されています。シンプルなエンジンアップグレードプロセスにより、既存のワークグループを自動的にエンジンバージョン3にアップグレードするよう設定することができ、手動での確認や介在は必要ありません。

AWS Glue

新機能・アップデート

2022/10/13 - AWS Glue introduces Git integration

Git統合機能の紹介と使い方について、弊社のブログで解説しています。

AWS Glueは、広く利用されているオープンソースのバージョン管理システムであるGitとの統合を提供するようになりました。AWS Glueは、再利用可能なジョブを使用して、ほぼすべてのスケールのデータセットに対して抽出、変換、ロード(ETL)タスクを実行するサーバーレスデータ統合サービスです。この機能により、お客様はGitHubとAWS CodeCommitを使用してAWS Glueジョブの変更履歴を管理し、既存のDevOps手法を適用してジョブをデプロイすることができます。これまでお客様は、開発環境から本番環境にジョブを移動するために、コード・バージョニング・システムとの統合を独自に設定し、ツールを構築する必要がありました。

AWS GlueにおけるGitの統合は、ビジュアルまたはコードベースのいずれであっても、すべてのAWS Glueジョブタイプで機能します。GitHubとAWS CodeCommitの両方との統合が組み込まれており、JenkinsやAWS CodeDeployなどの自動化ツールを使ってAWS Glueジョブを展開することもより簡単にできるようになる。この機能では、ジョブのダウンロードとアップロードを手動で行うオプションも追加されています。最後に、AWS Glue Studioのビジュアルエディタは、データソースとターゲットのパラメータ化をサポートし、新しいアカウントにジョブをデプロイする際にそれらを更新することができるようになりました。

2022/10/13 - AWS Glue Crawlers support incremental Amazon S3 crawling on existing AWS Glue Data Catalog tables

AWS Glueには、S3 Event Notificationsに基づいてGlue クローラを実行することができます。Glue クローラーは、データスキーマを抽出し、自動的にAWS Glue Data Catalogに入力することで、メタデータを最新の状態に保つことができます。S3のイベントに基づいてデータセットをクロールすることで、新たに取り込んだデータをお気に入りの分析ツールや機械学習ツールで素早く分析できるようになり、インサイトまでの時間が短縮されます。

今回のアップデートでは、データパイプライン内で実行されるAPIコールなど、クローラー以外の方法で作成されるカタログテーブルの増分クロールと更新に拡張します。この機能により、インクリメンタルクローリングはデータパイプラインからスケジュールされたGlue Crawlerにオフロードされ、クロールはS3イベントのインクリメンタルなものに減少することができるようになりました。

APIの変更点

2022/10/05 - 2 new 5 updated api methods

このSDKリリースでは、ソースコントロールプロバイダーとグルージョブの同期をサポートします。さらに、SourceControlDetails という新しいパラメータがジョブモデルに追加されます。

2022/10/27 - 4 updated api methods

カスタムcsv classifierを使用する際に、カスタムdatatypesをサポートするようにしました。

Amazon QuickSight

新機能・アップデート

2022/10/10 - Amazon QuickSight Q が、ユーザーベースのルールで行レベルのセキュリティ (RLS) を使用する、アクセス制限のあるデータセットに対する質問をサポート [英語]

QuickSight Q が、ユーザーベースのルールで行レベルのセキュリティ (RLS) を使用する、アクセス制限のあるデータセットに対する質問をサポートしました。閲覧者は、アクセス制限のあるデータセットを含むトピックについて質問し、RLS 設定の作成者が定義したアクセス制御ルールに基づく、正確かつ適切な回答を直ちに受け取ることができます。作成者は、既存のルールに追加の変更を加えることなく、RLS が有効なデータセットについての質問に対する回答として、Q トピックを作成できます。QuickSight Q は、RLS 設定で定義された既存のユーザーベースのルールを活用し、このルールを質問に対する回答だけではなく、質問の時間枠で提供されるオートコンプリートの推奨事項にもルールを適用します。したがって、RLS が有効なデータセットで作成された Q トピックは、常にユーザーが権限を付与されたデータを表示します。

2022/10/27 - Amazon QuickSight launches Customer Managed Keys (CMK) for SPICE data encryption

従来は AWS のマネージドキーを使って SPICE も SPICE 外のデータも暗号化されていましたが、SPICE に関してカスタマーマネージドキーという選択できるようになりました。KMS(CMK)によるSPICE データセットの暗号化の使い方について、弊社のブログで解説しています。

Amazon QuickSight は、アカウント管理者がカスタマーマネージドキー(CMK)を使用して SPICE データセットを暗号化し、管理するための新機能を提供開始しました。これまでQuickSightは、QuickSightサービス内に保存された顧客データの保護を完全に管理していました。新しいカスタマーマネージドキー(CMK)機能を使用することにより、QuickSightユーザーは、クリックでSPICEデータセットへのアクセスを取り消すことができ、SPICEデータセットへのアクセス方法を追跡する監査可能なログを保持することができるようになります。この機能により、セキュリティと透明性のレベルが向上し、SPICEデータセットの管理性が高まり、企業や政府機関のポリシーによるセキュリティ要件も満たすことができます。

2022/10/28 - Amazon QuickSight enables Row Level Security (RLS) on Dataset-as-a-source

従来は RLS が有効化されたデータセットから子データセットを作成することは出来ませんでしたが、今回のアップデートで RLS を有効化したデータセットから子データセットを作成することが出来るようになりました。

Amazon QuickSightは、Dataset-as-a-SourceにRow Level Security (RLS)の新機能を提供開始します。これは、現在のQuickSight Dataset-as-a-Source機能のセキュリティレベルを強化するためのフォローアップ機能です。これまで、QuickSightの親データセットのいずれかがRLSを有効にしている場合、その親データセットからの子データセットの作成はブロックされていました。今回の機能追加により、親データセットから引き継いだRLSルールで子データセットを作成できるようになりました。子データセットにクエリを実行すると、QuickSightは親データの上に親のRLSフィルタを適用します。

APIの変更点

2022/10/07 - 4 updated api methods

Amazon QuickSightは、DataSourceの作成と更新において、CredentialPairの代わりにSecretsManagerのSecret ARNをサポートするようになりました。このリリースでは、いくつかのマイナーなドキュメントの更新と、GeoSpatialColumnGroupの必須パラメータとしてのCountryCodeの削除も行われました。

Amazon MSK

新機能・アップデート

2022/10/27 - Amazon MSK Connect now supports private DNS hostnames for enhanced security

Amazon MSK Connectは、セキュリティを強化するためにPrivate DNSホストネームをサポートするようになりました。MSK ConnectのPrivate DNSホスト名のサポートにより、パブリックまたはプライベートドメイン名を参照するようにコネクタを構成することができます。コネクタは、VPCのDHCPオプションセットで構成されたDNSサーバーを使用してドメイン名を解決します。MSK Connectを使用して、VPC内のデータベース、データウェアハウス、およびその他のリソースにプライベート接続し、セキュリティニーズに準拠することができるようになりました。

APIの変更点

2022/10/13 - 2022/10/26 - 1 new 8 updated api methods

このリリースでは、Tiered Storage のサポートが追加されました。UpdateStorage では、サポートされているストレージ層のストレージモードを制御することができます。

Amazon EMR

新機能・アップデート

2022/10/13 - Monitor Amazon EMR Serverless jobs in real-time with native Spark and Hive Tez UI

EMR Serverlessでは、Apache SparkとHive TezのネイティブUIを使用してジョブの監視とデバッグができるようになりました。

Apache Spark & Hive Tez UIは、実行中および完了したジョブに関する詳細な情報を持つビジュアルインターフェイスを提供します。ジョブ固有のメトリクスや、各ジョブのイベントタイムライン、ステージ、タスク、エグゼキュータに関する情報に飛び込むことができます。

EMR Serverlessアプリケーションにジョブを投入すると、EMR Studioコンソールから実行中のジョブのリアルタイムSpark UIまたはHive Tez UIを表示したり、GetDashboardForJobRun APIを使って安全なURLをリクエストしたりすることができます。完了したジョブについては、EMR StudioコンソールからSpark History ServerまたはPersistent Hive Tez UIを表示することができます。

2022/10/27 - Announcing Amazon EMR Hive improvements: Metastore check (MSCK) command optimization and Parquet Modular Encryption

repair tableオプション(MSCK REPAIR table)の改善とParquetモジュール暗号化による暗号化および認証ができるようになりました。

Hiveユーザーは、Hiveメタストア内のパーティションメタデータを更新するために、メタストア・チェックコマンドをrepair tableオプション(MSCK REPAIR table)と共に実行しますが、テーブルに数千のパーティションがある場合、これらを実行すると各パーティションが存在するかを確認するために長い時間がかかる可能性があります。EMR 6.5では、HiveのMSCK repairコマンドに最適化を導入し、パーティションを取得する際のS3ファイルシステム・コールの回数を削減することで、MSCKコマンドのパフォーマンスが向上します(1万以上のパーティションで約15~20倍)。Amazon EMR 6.8からは、MSCK修復をより高速に実行するためにS3ファイルシステムの呼び出し回数をさらに減らし、この機能をデフォルトで有効にしています。

また、Amazon EMR Hiveのユーザーは、Parquetモジュール暗号化を使用してParquetファイル内の機密情報を暗号化および認証できるようになりました。Parquetモジュール暗号化を利用することで、パフォーマンスの低下がなく、きめ細かいアクセス制御が可能になり、列方向射影、述語プッシュダウン、エンコーディング、圧縮といったParquetの最適化機能を維持することができます。この機能は、Amazon EMR 6.6リリース以降で利用可能です。

2022/10/27 - Avoid runaway queries and improve query resiliency to spot interruptions with PrestoDB and Trino on EMR 6.8

Amazon EMR は、EMR リリース 6.8 に含まれる PrestoDB と Trino がアップデートされました。

EMR 6.8のPrestoDBとTrinoでは、長時間実行するクエリによるコスト超過を防ぐために、ストリクトモードと呼ばれる構成設定の恩恵を受けることができます。このようなクエリに対して管理者が対応できるように、特定のタイプのクエリを警告または拒否できるストリクトモードの設定を導入しています。例えば、パーティショニングされたカラムに述語を持たず、大規模なテーブルスキャンを引き起こすクエリ、大規模なテーブル間のクロスジョインを伴うクエリ、大量の行を無制限にソートするクエリなどです。クラスタ作成時にストリクトモードの設定を行うことができ、セッションのプロパティを使用して設定を上書きすることもできます。select、insert、create table as select、explanced analyzeの各クエリタイプにストリクトモードチェックを適用することが可能です。

また、Amazon EMR PrestoDBとTrinoは、コスト効率と信頼性の高いクエリの実行を支援するスポット中断を処理する新機能を追加しました。Amazon EMRのスポットインスタンスは、オンデマンドインスタンスよりも低コストで、Amazon EC2の空き容量でビッグデータワークロードを実行することができます。しかし、Amazon EC2は2分間の通知でスポットインスタンスを中断することができます。スポットノードが終了すると、PrestoDB/Trinoのクエリーが失敗します。このため、お客様はそのようなワークロードをスポットインスタンスで実行し、低コストを活用することができませんでした。EMR 6.7では、PrestoDB/Trinoエンジンに新しい機能を追加し、スポットの中断を検出し、そのノードで既存のクエリーが2分以内に完了できるかどうかを判断するようにしました。もしクエリーが完了できない場合は、すぐに失敗し、別のノードでクエリーを再試行します。Amazon EMR PrestoDB/Trinoエンジンはまた、再生されようとしているスポットノードに新しいクエリをスケジュールすることもありません。これら2つの新機能により、Amazon EMR上のPrestoDB/Trinoエンジンによる耐障害性の向上と、スポットノードでの経済的なクエリの実行という、両方の利点を得ることができます。

2022/10/31 - Amazon MSK now offers a new low-cost storage tier that scales to virtually unlimited storage

Amazon Managed Streaming for Apache Kafka (MSK) は、事実上無制限で低コストのストレージ層をもたらす階層型ストレージを提供するようになりました。階層型ストレージを使用すると、同じ Kafka API とクライアントを使用してデータを保存および処理しながら、既存の MSK ストレージ オプションよりもストレージ コストを 50% 以上節約できます。階層型ストレージを使用すると、予期しない処理の遅延を処理したり、新しいストリーム処理アプリケーションを構築したりするために、より長いセーフティバッファーが必要な場合に、簡単かつ費用対効果が高くなります。コンピューティングとストレージを個別にスケーリングできるようになり、運用が簡素化されました。

2022/10/31 - EMR 6.8 supports Apache Hudi 0.11.1 and Apache Iceberg 0.14.0

Amazon EMR リリース 6.8 では、Apache Hudi 0.11.1 と Apache Iceberg 0.14.0 をサポートされました。これらのフレームワークは、Amazon EMR on EC2、Amazon EMR on EKS、Amazon EMR Serverlessで使用できます。

Amazon EMR 6.8上のApache Hudi 0.11.1には、Spark 3.3.0のサポート、Multi-Modal IndexサポートとData Skipping with Metadata Tableの追加、ユーザーが異なる種類のインデックスを作成できる非同期インデクサ・サービス(例:files, bloom filter, column stats index)の追加、Amazon EMR 6.8上のApache EMS 0.11.1、Amazon EMR 6.8上のApache EMS 0.14.0があります。また、Spark SQL の改良により、プライマリーキーでないフィールドを使った Hudi テーブルのレコードの更新や削除、構文としてタイムスタンプを使ったタイムトラベルクエリのサポート、Flink 1.13.x と 1.14.x 両方のサポートと Map や Array などの複合データ型へのサポートなど Flink 統合の改良が含まれています。さらに、Hudi 0.11.1では、Amazon EMRリリース6.7で利用可能なHudi 0.11.0よりもバグフィックスされています。

Apache Iceberg 0.14.0 on Amazon EMR 6.8 は Spark 3.3.0 をサポートし、MERGE および UPDATE 文の Merge-on-read サポート、Z-order によるパーティションの書き換えサポート、複数の列に対するクエリー述語の効率性と類似データをまとめるためのパーティションの再組織、スパーククエリーにおけるスキャンプランの性能向上、Parquet bloom filters による行グループスキッピングサポートなどを含んでいます。

2022/10/31 - Amazon EMR release 6.8 now supports Apache Flink 1.15.1

Amazon EMR リリース 6.8 に Apache Flink 1.15.1 が含まれることになりました。Apache Flinkは、データストリームを処理するためのオープンソースのフレームワークとエンジンです。EMR 6.8のApache Flink 1.15.1には、Flink 1.15.0と比較して62のバグ修正、脆弱性の修正、およびマイナーな改良が施されています。主な機能は以下のとおりです。

データソース間の電子透かしアライメント(ベータ版): Flinkのイベントタイム処理は、データソースまたはウォーターマーク生成器によってストリームに挿入されるウォーターマークと呼ばれる特別なタイムスタンプ付き要素に依存しています。タイムスタンプtを持つウォーターマークは、タイムスタンプ<tのすべてのイベントがすでに到着しているという主張として理解することができる。透かしのアライメントは、イベントの速度が異なるソースを処理するときに便利です。たとえば、あるソースがアイドル状態のときや、あるソースが他のソースよりも比較的速くレコードを発行するときは、各ソースに対して別々に透かしのアライメントを有効にすることができます。Flinkは、最も速度の速いソースを一時停止し、透かしが揃うまで他のソースからレコードを読み続けることで透かしを揃える。

SQLのバージョンアップ : SQLで構造化されたデータのインポートとエクスポートを容易にするJSON関数であるJSONプランの導入。現在では、バージョンアップによってSQLクエリのトポロジーが変更され、バージョン間でスナップショットの非互換性が発生する可能性があります。このため、Flinkのバージョンアップが困難になっています。この機能により、テーブルAPIとSQLの両方が、異なるバージョン間で同じトポロジーを持つSQLクエリの計画をコンパイルし実行する方法を提供し、将来のバージョンアップをより確実にすることができます。この機能を試したいユーザーは、JSONプランを作成し、それを使って古い演算子構造に基づいてFlinkジョブをリストアすることができます。

イベント情報

アナリティクスに関するイベント情報

クラスメソッドで開催しているアナリティクスに関するイベント情報です。

機械学習に関するイベント情報

クラスメソッドで開催している機械学習に関するイベント情報です。

データ分析相談会 /データ分析環境構築支援

クラスメソッドのアナリティクス分野の支援では、AWS、Google Cloudを中心としたクラウド上でのデータ分析基盤環境づくりにおいてトータルでサポートしています。

このようなことでお困りではないですか?

  • 企業内に点在するデータを1箇所にまとめて分析したい
  • クラウド上で分析基盤を導入したい・・・
  • データを活用したいが、具体的に何から始めたらいいかわからない

データ分析の相談会、オーダーメイドの分析基盤構築の開発もおこなっています。お客様の課題にあわせた最適な構成をご提案いたします。お気軽にご相談ください。

データ分析相談会のお申込みはこちら

最後に

2022年10月に発表された、AWSのアナリティクス関連のアップデートについて、メンバーでピックアップした情報についてご紹介しました。

今月の注目のアップデートは、Amazon Athena Engine Version 3に対応でしょう。11月末にはre:Inventが控えており、11月も多くのアップデートがあることが期待できます。

今年のre:Invent2022 アナリティクス関連のセッションについて、事前にチェックすることをおすすめします!

Your guide to AWS Analytics at re:Invent 2022

クラスメソッド データアナリティクス通信(AWSデータ分析編) - 2022年11月号は以上です。