SlideShare a Scribd company logo
1 of 55
© 2021 NTT DATA Corporation
大規模データ処理の定番OSS Hadoop / Spark
最新動向 - 2021秋
2021/11/17
NTTデータ
岩崎正剛 猿田浩輔
db tech showcase 2021
© 2021 NTT DATA Corporation
Hadoop
3
© 2021 NTT DATA Corporation
はじめに
• Hadoopの最近の動向を紹介
• 「最近」が指す範囲が長め?
• 最新動向を把握する方法と予備知識の比重が多め?
4
© 2021 NTT DATA Corporation
Hadoopとは?
• 大規模データ処理基盤
• 以下をセットで提供
• 分散ファイルシステム(HDFS)
• 計算リソース管理機構(YARN)
• 分散処理フレームワーク(MapReduce)
• 汎用的な(Linux)サーバを多数(〜10000台)使ってクラスタを構成
• 大量のデータを格納し、並列分散処理
• Googleが論文の形で紹介した技術を参考にして作られたオープンソース実装
• ASF(Apache Software Foundation)配下のプロジェクト
5
© 2021 NTT DATA Corporation
リリース履歴
2006/04 0.1.0
2009/09 0.20.1 : JIRAが(HADOOP, HDFS, MAPREDUCEに)分割
2011/12 1.0.0 : SVNからGitに移行
2012/05 2.0.0-alpha : YARN、NameNode-HA、protobuf RPC engine...
2013/08 2.1.0-beta
2013/10 2.2.0
2016/08 2.7.3
2016/09 3.0.0-alpha1 : Java 7サポート廃止、Erasure Coding、...
2017/10 3.0.0-beta1
2017/12 3.0.0
2018/04 3.1.0
2019/10 2.10.0
2020/07 3.3.0
2021/06 3.3.1
6
© 2021 NTT DATA Corporation
Hadoopを取り巻く環境の変化
• Hadoopのユーザ
• 〜PBのデータを処理したい
• 数十ノード〜のクラスタを構築できる
• クラウドサービスの拡充で多数のノードからなるクラスタ構築が容易になった
• 大規模データをマネージドなストレージサービスに保存できるようになった
• Hadoop as a serviceが提供されるようになった
• Amazon EMR、Azure HDInsight、Google Cloud Dataproc
• Hadoop以外の大規模データ処理基盤の選択肢が増えた
7
© 2021 NTT DATA Corporation
最近のHadoop
• コミッター: 235名、PMCメンバー: 121名
• Hadoopディストリビュータ、大規模利用企業の開発者が中心 (昔も今も)
• JIRA: 406件オープン、287件クローズ (直近の四半期あたり)
• GitHubプルリクエスト: 323件オープン、273件クローズ (直近の四半期あたり)
• その前の四半期と比べると微減?
• 3.2.3と3.3.2のリリース準備中
• 3.4.0リリースは未定
• 開発内容は、既存機能の改善、安定化が中心
• HDFS: Erasure Coding、Router-based Federationの改善、安定化
• YARN-10496: Support Flexible Auto Queue Creation in Capacity Scheduler
• MAPREDUCE-7341: Add a task-manifest output committer for Azure and GCS
• 大型の新機能は独立のプロジェクトに分離
• Ozone (オブジェクトストレージ)
• Submarine (機械学習プラットフォーム)
8
© 2021 NTT DATA Corporation
バージョニングと互換性
• <major>.<minor>.<maintenance>形式
• majorバージョン更新時のみ非互換な変更を行う(原則)
• 「非互換な変更」の定義はドキュメント参照
https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/Compatibility.html
• 既存のクラスタ/ユーザアプリケーションがそのまま動くかどうかが重要
• 新機能の追加は容易
• 既存機能の修正、削除は難しい
• 例外的に非互換な変更が入ることも稀にある
• 新規追加されたコードが問題を引き起こす
• セキュリティ関連の理由
• 非互換な変更を許容するかは、影響範囲を鑑みる
• 最近追加された機能に関するもので、まだproductionで使われていない(はず)
• 影響を受ける条件がレアケース
• Hadoopと、Hadoopに依存するミドルウェアとの間の互換性は壊れやすい(後述)
9
© 2021 NTT DATA Corporation
ソースコード
• Gitで管理されている
• (2011年以前はSubversionだった: https://svn.apache.org/repos/asf/hadoop/)
• 2019年5月から、ASFはGitHubを正式にインフラとして使うようになった
• https://blogs.apache.org/foundation/entry/the-apache-software-foundation-expands
• 以下のどちらも本家で相互にミラーされている
• https://github.com/apache/hadoop
• https://gitbox.apache.org/repos/asf/hadoop.git
• ほとんどのcontributionはGitHubのpull request経由で行われる
• JIRA(後述)への.patch添付も一応まだできる
10
© 2021 NTT DATA Corporation
ブランチ管理
• trunkブランチがupstream (SVNの名残)
• x.y.0リリース時にbranch-x.yが作られる
• x.y.0のリリースはさらにbranch-x.y.0を作ってそこでやる
• 同時にtrunkのバージョンはx.y+1.0-SNAPSHOTに繰り上げ
• contributionは原則trunkに対して行われる
• 必要性をコミッタが判断してbranch-x.yにcherry-pick/backport
• 特定のブランチにしか関係しない修正もたまにある
• 3〜4ブランチが維持されている
• いま生きてるのは以下
• trunk (3.4.0-SNAPSHOT)
• branch-3.3 (3.3.2-SNAPSHOT)
• branch-3.2 (3.2.4-SNAPSHOT)
• branch-2.10 (2.10.2-SNAPSHOT)
• 新しいbranch-x.yがリリースされると、古いものをEOLにするか議論される
11
© 2021 NTT DATA Corporation
JIRA
• HADOOP(Common), HDFS, YARN, MAPREDUCEの4プロジェクトに分かれている(変則的)
• 設計の議論と付加的な情報の管理はJIRA、パッチの投稿とレビューはGitHubという使い分けになった
• 修正がどのバージョンに入っているかは"Fix Version/s"フィールドからわかる
• いまtrunk, branch-3.3, branch-3.2, branch-2.10にcommitすると3.4.0, 3.3.2, 3.2.3, 2.10.2になる。
• CHANGELOGもここから自動生成
• 1 issueにつき1 commit (Squash and merge縛り)
• コミットメッセージにJIRA issueのIDとsubjectを入れる
• 例: HDFS-16091. WebHDFS should support getSnapshotDiffReportListing. (#3374)"
• git log --grepなどの手段で確認しやすい
12
© 2021 NTT DATA Corporation
メーリングリスト
• 正式な意思決定はメーリングリストで行うポリシー
http://www.apache.org/theapacheway/
• [DISCUSS]スレッドで議論してから[VOTE]スレッドで投票する
https://www.apache.org/foundation/voting.html
• MLも4つ(common, hdfs, mapreduce, yarn)に分かれている...
• User MLとDeveloper MLがあるが、動向を知りたい場合はDeveloper MLを見るとよい
13
© 2021 NTT DATA Corporation
サブプロジェクトの分離/統合
• HadoopはLucene(検索エンジン)(のsub projectのNutch(クローラ))の一部だった
• ソースコードが切り出され、独立のTop Level Project(TLP)になった
• 主要なHadoop関連プロジェクトはHadoopの一部だった
• ZooKeeper、HBase、Hive、...
• いまはそれぞれ独立のTLP
• 独立の開発者グループを持つ
• HadoopのinternalなAPIを(実は)使っていて互換性が崩れやすい
• 最近ではOzone(後述)とSubmarineがHadoopから分離してTLPに
• SliderはHadoop側に(YARN Serviceとして)統合された逆パターン
• hadoop-thirdparty(後述)のような、別ソースツリーだが開発体制は分かれていないパターンも
14
© 2021 NTT DATA Corporation
Ozone
• オブジェクトストレージ
• HDFSのスケーラビリティの限界を補完する位置付けで開発が始まった
• Amazon S3互換のREST APIと認証もサポート
• HDFSとは完全に独立したサービス
• もともとHadoopへの依存性は少ない
• 設定、認証、暗号化、FileSystemインタフェースなどの共通パーツのみ利用
• 2020/09: 1.0.0リリース
• 2021/04: 1.1.0リリース
• 1.2.0ではFileSystemインタフェース向けの最適化(HDDS-2939)が入る様子
• ディレクトリのリネーム/削除をO(1)でできるようにする
15
© 2021 NTT DATA Corporation
Hadoop Compatible File Systems
• HadoopのアプリケーションがHDFS以外のデータストアも透過的に使えるようにする仕組み
• Ozoneもこれを利用して既存アプリケーションが活用できるようにしている
• Azure Data Lake Storage gen2用モジュールの開発は最近活発
• see HADOOP-15407, HADOOP-15763, HADOOP-17736
• Amazon S3用のモジュールは元々利用者が多く、継続的に改善されている
• 2020/12にS3の一貫性の仕様が変わり、S3Guardは不要になった
• Amazon EMRで利用されているモジュールはAWSが独自に提供(非OSS)
• Google Cloud Storage用モジュールはサードパーティOSSとして公開されている
• https://github.com/GoogleCloudDataproc/hadoop-connectors/tree/v2.2.3/gcs
16
© 2021 NTT DATA Corporation
Hadoopエコシステム
• Hadoopと周辺ミドルウェア群を指す呼称
• Spark: 汎用的なAPIで並列分散処理アプリケーションを記述できるフレームワーク
• Hive: SQLライクな言語で並列分散処理アプリケーションを記述できる処理系
• HBase: GoogleのBigtableを参考に実装された分散キーバリューストア
• Ranger: アクセス制御のための管理基盤
• ...
• Hadoopに非互換な変更が入ると、依存するプロダクト側でも修正が必要
• プロダクト間の互換性を保つのは難しい
• 各プロダクトはそれぞれ独立の開発者グループが維持
• ミドルウェアが利用するライブラリのバージョン競合が起こりがち(Javaのdependency hell)
• see HBASE-22953 (HBaseのHadoop 3.3対応の例)
• どのバージョンの組み合わせでプロダクト群が機能するかは分りにくい
17
© 2021 NTT DATA Corporation
hadoop-thirdparty
• ミドルウェア間での依存ライブラリのバージョン競合を防ぐ仕組み
• maven-shade-pluginでrelocate(パッケージ名置換)したライブラリを独立したartifactとしてリリース
• transitive dependencyを隠蔽する
• 現時点では、Protocol Buffers、Guava、Jaegerが、含まれる
• 利用する側のコードはrelocation後のパッケージ名でimportする
<dependency>
<groupId>org.apache.hadoop.thirdparty</groupId>
<artifactId>hadoop-shaded-protobuf_3_7</artifactId>
</dependency>
hadoop-commonのpom.xml:
import org.apache.hadoop.thirdparty.protobuf.BlockingService;
RPC.java:
<relocation>
<pattern>com/google/protobuf</pattern>
<shadedPattern>org.apache.hadoop.thirdparty.protobuf</shadedPattern>
</relocation>
hadoop-thirdparty/hadoop-shaded-protobuf_3_7のpom.xml (を説明のために変数展開したもの):
18
© 2021 NTT DATA Corporation
Bigtop 3.0.0 (BIGTOP-3471)
• コミュニティベースのHadoopディストリビューション
• 先月(2021/10) 3.0.0がリリース
• Hadoop 3.2.2を中心にエコシステムのミドルウェアをパッケージング
• Hadoop 3.2.2
• Zookeeper 3.4.14
• HBase 2.2.6
• Phoenix 5.1.0
• Hive 3.1.2
• Spark 3.0.1
• Kafka 2.4.1
• ...
19
© 2021 NTT DATA Corporation
まとめ
• Hadoopも生まれて15年
• エコシステムと呼ばれる周辺ツール群が存在
• Hadoopのコア部分の開発(のスピード感)は以前より落ち着いた印象
• 安定化、改善、バグ修正は意外とアクティブ
• 大きな新機能は新規プロダクトとして実現されがち
• Hadoopクラスタの外側でも使われるパーツも提供
• Hadoop Compatible File Systems
• Bigtop 3.0.0がリリースされた
© 2021 NTT DATA Corporation
Spark
21
© 2021 NTT DATA Corporation
$ whoami
 猿田 浩輔
 株式会社NTTデータ 技術開発本部
 Apache Sparkコミッタ & PMCメンバ
 Hadoop/Sparkなど、OSSミドル関連のR&Dや技術支援
 普及活動の一環で講演や書籍執筆なども
 Twitter: @raspberry1123
© 2021 NTT DATA Corporation
Apache Spark 3.2
23
© 2021 NTT DATA Corporation
Apache Spark 3.2
本セッション実施時点での
最新フィーチャーリリース
日本時間で2021/10/19深夜に
リリースされた
Spark 3.1のリリース以降、1700以上のIssueが解決された
本セッションでは、特に多くのユーザに恩恵がある(と思われる)以下
2点を解説
①pandas API on Spark
②セッションウィンドウ
© 2021 NTT DATA Corporation
pandas API on Spark
25
© 2021 NTT DATA Corporation
Spark 3.0以降PySpark関連の大幅なアップデートが行われている
 昨今はPySparkで分析処理を行うユーザが増えており、その状況を鑑みたアップデートが
行われている
 もともとデータ分析の分野ではPythonが人気
 アップデートの一例
 Pythonicなエラーメッセージ (Spark 3.0)
 ビルトイン関数を含むPySparkのAPIがタイプヒントに対応 (Spark 3.1)
• IDEの補完機能と組み合わせたり、静的エラー解析が効くようになる
 公式ドキュメントの大幅な改善 (Spark 3.1)
• 目的のコンテンツを探しやすいように構造化
• クイックスタートガイドやサンプルコードも充実
• APIドキュメントも従来のreSTスタイルからnumpydocスタイルに変更(APIの
docstringの可読性が向上した)
 pandas APIのサポート (Spark 3.2)
26
© 2021 NTT DATA Corporation
Pythonユーザ向けのアップデートの一環として、pandas APIのサポートが導入された
 昨今はPySparkで分析処理を行うユーザが増えており、その状況を鑑みたアップデートが
行われている
 もともとデータ分析の分野ではPythonが人気
 アップデートの一例
 Pythonicなエラーメッセージ (Spark 3.0)
 ビルトイン関数を含むPySparkのAPIがタイプヒントに対応 (Spark 3.1)
• IDEの補完機能と組み合わせたり、静的エラー解析が効くようになる
 公式ドキュメントの大幅な改善 (Spark 3.1)
• 目的のコンテンツを探しやすいように構造化
• クイックスタートガイドやサンプルコードも充実
• APIドキュメントも従来のreSTスタイルからnumpydocスタイルに変更(APIの
docstringの可読性が向上した)
 pandas APIのサポート (Spark 3.2)
Pick Up!
27
© 2021 NTT DATA Corporation
データ分析では人気のpandas。でも計算機1台で処理しきれなくなったら・・・?
 pandasはデータ分析で用いられるデファクトスタンダードなライブラリのひとつだ
が、単一の計算機で処理しきれないデータを扱う場合pandas以外の方法
を検討する必要があった
 PySparkは選択肢のひとつとなり得るが、既存の資産を流用できなかったり、
従来pandasを利用してきたユーザにとって使いやすいAPIではなかった
 そこで、Koalasと呼ばれるプロジェクトが立ち上がった
28
© 2021 NTT DATA Corporation
What is Koalas?
 Koalas
 pandas互換のAPIで、Sparkのアプリケーションを
記述可能にする
 pandasユーザが使い慣れたAPIそのままに、処理を
スケールアウト可能
 https://github.com/databricks/koalas
 類似プロダクトのDaskと比較して、5倍程度高速という結果も
 https://www.slideshare.net/databricks/koalas-how-well-
does-koalas-work
 Spark 3.2からは、KoalasのコードがSparkにポートされ、Sparkの標準機
能として使えるようになる
 https://issues.apache.org/jira/browse/SPARK-34849
29
© 2021 NTT DATA Corporation
pandas API on Sparkを用いたSparkアプリケーション記述例
import pandas as pd
df = pd.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
Pandas
30
© 2021 NTT DATA Corporation
pandas API on Sparkを用いたSparkアプリケーション記述例
import pandas as pd
df = pd.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
import databricks.koalas as ks
df = ks.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
Pandas Koalas
31
© 2021 NTT DATA Corporation
pandas API on Sparkを用いたSparkアプリケーション記述例
import pandas as pd
df = pd.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
import databricks.koalas as ks
df = ks.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
import pyspark.pandas as ps
df = ps.read_csv(file)
df['x'] = df.y * df.z
df.describe()
df.plot.line(...)
Pandas Koalas
pandas API on Spark(Spark 3.2)
32
© 2021 NTT DATA Corporation
プロットもサポート
引用: https://www.slideshare.net/databricks/deep-dive-into-the-new-features-of-apache-spark-31
PandasやKoalasで実装済みのプロット機能を、Spark 3.2でも利用可能
33
© 2021 NTT DATA Corporation
まずは動かして体感すべし!
 pip install pysparkで簡単にインストール可能
 Live Notebookで試しに動かしてみるのもOK
• https://mybinder.org/v2/gh/sarutak/spark/d168315a18?filepath
=python%2Fdocs%2Fsource%2Fgetting_started%2Fquickstart_p
s.ipynb
© 2021 NTT DATA Corporation
セッションウィンドウ
35
© 2021 NTT DATA Corporation
Structured Streamingのおさらい
 Spark SQLをベースに設計された
ストリーム処理フレームワーク
 Spark Streamingと異なり、
クエリエンジンによる最適化の恩恵が受けられる
Spark Core
(実行エンジンおよび汎用的なデータ処理ライブラリ)
Spark
Streaming
(ストリーム処理)
Structured
Streaming
(ストリーム処理)
GraphX
(グラフ処理)
MLlib
(機械学習)
Spark SQL
(クエリ処理)
36
© 2021 NTT DATA Corporation
Structured Streamingのおさらい (データ処理モデル)
 ストリームデータをDataFrameのレコードとして扱う
 到着したレコードをDataFrameに追記し、そのDataFrameに対して
処理を行う
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
37
© 2021 NTT DATA Corporation
Structured Streamingのおさらい (データ処理モデル)
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
ストリームデータを
DataFrameの
レコードとして扱う
マイクロバッチを
定期的に起動し、
DataFrameに対して
クエリを発行する
結果を出力する
DataFrameに
対する数10ms -
数100msで完
了するマイクロ
バッチを連続的
に実行することで
ストリーム処理を
実現する
38
© 2021 NTT DATA Corporation
Structured Streamingのおさらい (データ処理モデル)
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
ストリームデータを
DataFrameの
レコードとして扱う
マイクロバッチを
定期的に起動し、
DataFrameに対して
クエリを発行する
結果を出力する
DataFrameに
対する数10ms -
数100msで完
了するマイクロ
バッチを連続的
に実行することで
ストリーム処理を
実現する
1回目
39
© 2021 NTT DATA Corporation
Structured Streamingのおさらい (データ処理モデル)
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
ストリームデータを
DataFrameの
レコードとして扱う
マイクロバッチを
定期的に起動し、
DataFrameに対して
クエリを発行する
結果を出力する
DataFrameに
対する数10ms -
数100msで完
了するマイクロ
バッチを連続的
に実行することで
ストリーム処理を
実現する
2回目
40
© 2021 NTT DATA Corporation
Structured Streamingのおさらい (データ処理モデル)
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
ストリームデータを
DataFrameの
レコードとして扱う
マイクロバッチを
定期的に起動し、
DataFrameに対して
クエリを発行する
結果を出力する
DataFrameに
対する数10ms -
数100msで完
了するマイクロ
バッチを連続的
に実行することで
ストリーム処理を
実現する
3回目
41
© 2021 NTT DATA Corporation
従来からサポートされているウィンドウ処理(タンブリングウィンドウ)
W1 W2 W3 W4
時刻
12:00 12:05 12:10 12:15 12:20
レコード
• 固定サイズの各タイムウィンドウごとに集約処理を行う
• レコードがどのウィンドウに属するかは、レコードに付与さ
れたタイムスタンプに基づいて決める
• 時間帯ごとの集計などに用いる
• タイムウィンドウごとにレコードの数を数える場合、上記
の例では右のような結果が得られる
タイムウィンドウ レコード数
12:00 - 12:05 2
12:05 - 12:10 1
12:10 - 12:15 3
12:15 - 12:20 2
42
© 2021 NTT DATA Corporation
従来からサポートされているウィンドウ処理 (スライディングウィンドウ)
W1
時刻
12:00 12:05 12:10 12:15 12:20
レコード
W2
W3
W4
12:25
タイムウィンドウ レコード数
12:00 - 12:10 3
12:05 - 12:15 2
12:10 - 12:20 4
12:15 - 12:25 5
• 固定サイズの各タイムウィンドウが重なるようにずらしな
がら集約処理を行う
• 時間変化を考慮した集計に用いる
• タイムウィンドウごとにレコードの数を数える場合、上記
の例では右のような結果が得られる
43
© 2021 NTT DATA Corporation
“セッション”を考慮した集約処理はこれまで難しかった
 ここで言うセッションとは、イベント同士を連続性のあるものとみなす時間範
囲のこと
 時系列で隣接するイベント同士が一定時間以内に発生していたら、そ
れらは同一セッションとみなすのが典型的な例
 例えばWebサイトにアクセスして、滞在している時間範囲をセッションと見な
して分析に役立てるケースもある
 アクセスログをイベントとして扱い、ログ間のタイムスタンプから連続性を
判定する
時刻
イベント
セッション1 セッション2 セッション3 セッション4
44
© 2021 NTT DATA Corporation
“セッション”を考慮した集約処理はこれまで難しかった
 従来のウィンドウ処理では不十分
 セッションの開始と終了を識別する仕組みが
備わっていない
 ウィンドウサイズが固定
 Spark 3.2からはセッションウィンドウがサポートされた
 Gap Durationで定義される時間に基づいて、セッションの開始と終
了を識別する
 セッションごとに可変なタイムウィンドウを生成できる
45
© 2021 NTT DATA Corporation
セッションウィンドウの例
時刻
12:04
レコード
※ Gap Durationは5分を想定
46
© 2021 NTT DATA Corporation
セッションウィンドウの例
時刻
12:04
W1
最初に到着したレコードのタイムスタンプから、新しいセッションが開始
レコード
※ Gap Durationは5分を想定
47
© 2021 NTT DATA Corporation
セッションウィンドウの例
直前に到着したレコードのタイムスタンプ + Gap Duration以内
のタイムスタンプが付与されたレコードは、同一セッションに含める
時刻
12:04
レコード
W1
12:07 12:09
※ Gap Durationは5分を想定
48
© 2021 NTT DATA Corporation
セッションウィンドウの例
時刻
12:04
レコード
W1
12:07 12:09 12:17
※ Gap Durationは5分を想定
49
© 2021 NTT DATA Corporation
セッションウィンドウの例
時刻
12:04
レコード
12:07 12:09
W1
12:17
12:14
W2
直前のレコードのタイムスタンプ + Gap
Durationがセッションの終了時刻
直前のレコードのタイムスタンプ + Gap Duration
以降に到着したレコードから新しいセッションを開始
※ Gap Durationは5分を想定
50
© 2021 NTT DATA Corporation
セッションウィンドウの例
W1
時刻
12:04 12:07 12:17 12:22 12:40
レコード
W2 W3
12:09 12:14
・・・
同様のロジックでセッションの開始と終了を判定していく
※ Gap Durationは5分を想定
51
© 2021 NTT DATA Corporation
他にもまだある、Apache Spark 3.2の重要なアップデート
 Push-based shuffle
 Adaptive Query Executionが
デフォルトで有効
 ANSI SQL互換のINTERVAL型の導入
 Scala 2.13対応
 etc
52
© 2021 NTT DATA Corporation
その他にも注目のアップデートが盛り沢山
 このほか主要なアップデートはリリースノートで要チェック
 https://spark.apache.org/releases/spark-release-3-2-0.html
© 2021 NTT DATA Corporation
まとめ
54
© 2021 NTT DATA Corporation
まとめ
 Apache Spark 3.2
 pandas APIが導入され、既存のpandasユーザが資産を流用したり、
使い慣れたAPIを利用しつつ、処理をスケールアウト可能
• pip install pysparkで簡単にインストールできる
• Live Notebookでお試しも可能
(https://mybinder.org/v2/gh/sarutak/spark/d168315
a18?filepath=python%2Fdocs%2Fsource%2Fgetting
_started%2Fquickstart_ps.ipynb)
 Structured Streamingでは、セッションウィンドウの導入により、これま
では難しかったセッションを考慮した集約処理が可能になった
 そのほか多くのアップデートについてはリリースノートをチェック
• https://spark.apache.org/releases/spark-release-3-
2-0.html
© 2021 NTT DATA Corporation
本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。

More Related Content

What's hot

AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤Yu Otsubo
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...Yahoo!デベロッパーネットワーク
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)NTT DATA Technology & Innovation
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and PerformanceMineaki Motohashi
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsYoshiyasu SAEKI
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座Samir Hammoudi
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることShingo Fukui
 

What's hot (20)

AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
Apache Spark 2.4 and 3.0 What's Next?
Apache Spark 2.4 and 3.0  What's Next? Apache Spark 2.4 and 3.0  What's Next?
Apache Spark 2.4 and 3.0 What's Next?
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and Performance
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 

Similar to 大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発表資料)

分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組みNTT DATA OSS Professional Services
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)NTT DATA Technology & Innovation
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)NTT DATA Technology & Innovation
 
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情Hideo Takagi
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)NTT DATA OSS Professional Services
 
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...NTT DATA Technology & Innovation
 
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~decode2016
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...Insight Technology, Inc.
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)NTT DATA Technology & Innovation
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...NTT DATA Technology & Innovation
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介bigt23
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化Nobuyori Takahashi
 

Similar to 大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発表資料) (20)

分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
 
Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介
 
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知るAI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 

More from NTT DATA Technology & Innovation

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発表資料)

  • 1. © 2021 NTT DATA Corporation 大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 2021/11/17 NTTデータ 岩崎正剛 猿田浩輔 db tech showcase 2021
  • 2. © 2021 NTT DATA Corporation Hadoop
  • 3. 3 © 2021 NTT DATA Corporation はじめに • Hadoopの最近の動向を紹介 • 「最近」が指す範囲が長め? • 最新動向を把握する方法と予備知識の比重が多め?
  • 4. 4 © 2021 NTT DATA Corporation Hadoopとは? • 大規模データ処理基盤 • 以下をセットで提供 • 分散ファイルシステム(HDFS) • 計算リソース管理機構(YARN) • 分散処理フレームワーク(MapReduce) • 汎用的な(Linux)サーバを多数(〜10000台)使ってクラスタを構成 • 大量のデータを格納し、並列分散処理 • Googleが論文の形で紹介した技術を参考にして作られたオープンソース実装 • ASF(Apache Software Foundation)配下のプロジェクト
  • 5. 5 © 2021 NTT DATA Corporation リリース履歴 2006/04 0.1.0 2009/09 0.20.1 : JIRAが(HADOOP, HDFS, MAPREDUCEに)分割 2011/12 1.0.0 : SVNからGitに移行 2012/05 2.0.0-alpha : YARN、NameNode-HA、protobuf RPC engine... 2013/08 2.1.0-beta 2013/10 2.2.0 2016/08 2.7.3 2016/09 3.0.0-alpha1 : Java 7サポート廃止、Erasure Coding、... 2017/10 3.0.0-beta1 2017/12 3.0.0 2018/04 3.1.0 2019/10 2.10.0 2020/07 3.3.0 2021/06 3.3.1
  • 6. 6 © 2021 NTT DATA Corporation Hadoopを取り巻く環境の変化 • Hadoopのユーザ • 〜PBのデータを処理したい • 数十ノード〜のクラスタを構築できる • クラウドサービスの拡充で多数のノードからなるクラスタ構築が容易になった • 大規模データをマネージドなストレージサービスに保存できるようになった • Hadoop as a serviceが提供されるようになった • Amazon EMR、Azure HDInsight、Google Cloud Dataproc • Hadoop以外の大規模データ処理基盤の選択肢が増えた
  • 7. 7 © 2021 NTT DATA Corporation 最近のHadoop • コミッター: 235名、PMCメンバー: 121名 • Hadoopディストリビュータ、大規模利用企業の開発者が中心 (昔も今も) • JIRA: 406件オープン、287件クローズ (直近の四半期あたり) • GitHubプルリクエスト: 323件オープン、273件クローズ (直近の四半期あたり) • その前の四半期と比べると微減? • 3.2.3と3.3.2のリリース準備中 • 3.4.0リリースは未定 • 開発内容は、既存機能の改善、安定化が中心 • HDFS: Erasure Coding、Router-based Federationの改善、安定化 • YARN-10496: Support Flexible Auto Queue Creation in Capacity Scheduler • MAPREDUCE-7341: Add a task-manifest output committer for Azure and GCS • 大型の新機能は独立のプロジェクトに分離 • Ozone (オブジェクトストレージ) • Submarine (機械学習プラットフォーム)
  • 8. 8 © 2021 NTT DATA Corporation バージョニングと互換性 • <major>.<minor>.<maintenance>形式 • majorバージョン更新時のみ非互換な変更を行う(原則) • 「非互換な変更」の定義はドキュメント参照 https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/Compatibility.html • 既存のクラスタ/ユーザアプリケーションがそのまま動くかどうかが重要 • 新機能の追加は容易 • 既存機能の修正、削除は難しい • 例外的に非互換な変更が入ることも稀にある • 新規追加されたコードが問題を引き起こす • セキュリティ関連の理由 • 非互換な変更を許容するかは、影響範囲を鑑みる • 最近追加された機能に関するもので、まだproductionで使われていない(はず) • 影響を受ける条件がレアケース • Hadoopと、Hadoopに依存するミドルウェアとの間の互換性は壊れやすい(後述)
  • 9. 9 © 2021 NTT DATA Corporation ソースコード • Gitで管理されている • (2011年以前はSubversionだった: https://svn.apache.org/repos/asf/hadoop/) • 2019年5月から、ASFはGitHubを正式にインフラとして使うようになった • https://blogs.apache.org/foundation/entry/the-apache-software-foundation-expands • 以下のどちらも本家で相互にミラーされている • https://github.com/apache/hadoop • https://gitbox.apache.org/repos/asf/hadoop.git • ほとんどのcontributionはGitHubのpull request経由で行われる • JIRA(後述)への.patch添付も一応まだできる
  • 10. 10 © 2021 NTT DATA Corporation ブランチ管理 • trunkブランチがupstream (SVNの名残) • x.y.0リリース時にbranch-x.yが作られる • x.y.0のリリースはさらにbranch-x.y.0を作ってそこでやる • 同時にtrunkのバージョンはx.y+1.0-SNAPSHOTに繰り上げ • contributionは原則trunkに対して行われる • 必要性をコミッタが判断してbranch-x.yにcherry-pick/backport • 特定のブランチにしか関係しない修正もたまにある • 3〜4ブランチが維持されている • いま生きてるのは以下 • trunk (3.4.0-SNAPSHOT) • branch-3.3 (3.3.2-SNAPSHOT) • branch-3.2 (3.2.4-SNAPSHOT) • branch-2.10 (2.10.2-SNAPSHOT) • 新しいbranch-x.yがリリースされると、古いものをEOLにするか議論される
  • 11. 11 © 2021 NTT DATA Corporation JIRA • HADOOP(Common), HDFS, YARN, MAPREDUCEの4プロジェクトに分かれている(変則的) • 設計の議論と付加的な情報の管理はJIRA、パッチの投稿とレビューはGitHubという使い分けになった • 修正がどのバージョンに入っているかは"Fix Version/s"フィールドからわかる • いまtrunk, branch-3.3, branch-3.2, branch-2.10にcommitすると3.4.0, 3.3.2, 3.2.3, 2.10.2になる。 • CHANGELOGもここから自動生成 • 1 issueにつき1 commit (Squash and merge縛り) • コミットメッセージにJIRA issueのIDとsubjectを入れる • 例: HDFS-16091. WebHDFS should support getSnapshotDiffReportListing. (#3374)" • git log --grepなどの手段で確認しやすい
  • 12. 12 © 2021 NTT DATA Corporation メーリングリスト • 正式な意思決定はメーリングリストで行うポリシー http://www.apache.org/theapacheway/ • [DISCUSS]スレッドで議論してから[VOTE]スレッドで投票する https://www.apache.org/foundation/voting.html • MLも4つ(common, hdfs, mapreduce, yarn)に分かれている... • User MLとDeveloper MLがあるが、動向を知りたい場合はDeveloper MLを見るとよい
  • 13. 13 © 2021 NTT DATA Corporation サブプロジェクトの分離/統合 • HadoopはLucene(検索エンジン)(のsub projectのNutch(クローラ))の一部だった • ソースコードが切り出され、独立のTop Level Project(TLP)になった • 主要なHadoop関連プロジェクトはHadoopの一部だった • ZooKeeper、HBase、Hive、... • いまはそれぞれ独立のTLP • 独立の開発者グループを持つ • HadoopのinternalなAPIを(実は)使っていて互換性が崩れやすい • 最近ではOzone(後述)とSubmarineがHadoopから分離してTLPに • SliderはHadoop側に(YARN Serviceとして)統合された逆パターン • hadoop-thirdparty(後述)のような、別ソースツリーだが開発体制は分かれていないパターンも
  • 14. 14 © 2021 NTT DATA Corporation Ozone • オブジェクトストレージ • HDFSのスケーラビリティの限界を補完する位置付けで開発が始まった • Amazon S3互換のREST APIと認証もサポート • HDFSとは完全に独立したサービス • もともとHadoopへの依存性は少ない • 設定、認証、暗号化、FileSystemインタフェースなどの共通パーツのみ利用 • 2020/09: 1.0.0リリース • 2021/04: 1.1.0リリース • 1.2.0ではFileSystemインタフェース向けの最適化(HDDS-2939)が入る様子 • ディレクトリのリネーム/削除をO(1)でできるようにする
  • 15. 15 © 2021 NTT DATA Corporation Hadoop Compatible File Systems • HadoopのアプリケーションがHDFS以外のデータストアも透過的に使えるようにする仕組み • Ozoneもこれを利用して既存アプリケーションが活用できるようにしている • Azure Data Lake Storage gen2用モジュールの開発は最近活発 • see HADOOP-15407, HADOOP-15763, HADOOP-17736 • Amazon S3用のモジュールは元々利用者が多く、継続的に改善されている • 2020/12にS3の一貫性の仕様が変わり、S3Guardは不要になった • Amazon EMRで利用されているモジュールはAWSが独自に提供(非OSS) • Google Cloud Storage用モジュールはサードパーティOSSとして公開されている • https://github.com/GoogleCloudDataproc/hadoop-connectors/tree/v2.2.3/gcs
  • 16. 16 © 2021 NTT DATA Corporation Hadoopエコシステム • Hadoopと周辺ミドルウェア群を指す呼称 • Spark: 汎用的なAPIで並列分散処理アプリケーションを記述できるフレームワーク • Hive: SQLライクな言語で並列分散処理アプリケーションを記述できる処理系 • HBase: GoogleのBigtableを参考に実装された分散キーバリューストア • Ranger: アクセス制御のための管理基盤 • ... • Hadoopに非互換な変更が入ると、依存するプロダクト側でも修正が必要 • プロダクト間の互換性を保つのは難しい • 各プロダクトはそれぞれ独立の開発者グループが維持 • ミドルウェアが利用するライブラリのバージョン競合が起こりがち(Javaのdependency hell) • see HBASE-22953 (HBaseのHadoop 3.3対応の例) • どのバージョンの組み合わせでプロダクト群が機能するかは分りにくい
  • 17. 17 © 2021 NTT DATA Corporation hadoop-thirdparty • ミドルウェア間での依存ライブラリのバージョン競合を防ぐ仕組み • maven-shade-pluginでrelocate(パッケージ名置換)したライブラリを独立したartifactとしてリリース • transitive dependencyを隠蔽する • 現時点では、Protocol Buffers、Guava、Jaegerが、含まれる • 利用する側のコードはrelocation後のパッケージ名でimportする <dependency> <groupId>org.apache.hadoop.thirdparty</groupId> <artifactId>hadoop-shaded-protobuf_3_7</artifactId> </dependency> hadoop-commonのpom.xml: import org.apache.hadoop.thirdparty.protobuf.BlockingService; RPC.java: <relocation> <pattern>com/google/protobuf</pattern> <shadedPattern>org.apache.hadoop.thirdparty.protobuf</shadedPattern> </relocation> hadoop-thirdparty/hadoop-shaded-protobuf_3_7のpom.xml (を説明のために変数展開したもの):
  • 18. 18 © 2021 NTT DATA Corporation Bigtop 3.0.0 (BIGTOP-3471) • コミュニティベースのHadoopディストリビューション • 先月(2021/10) 3.0.0がリリース • Hadoop 3.2.2を中心にエコシステムのミドルウェアをパッケージング • Hadoop 3.2.2 • Zookeeper 3.4.14 • HBase 2.2.6 • Phoenix 5.1.0 • Hive 3.1.2 • Spark 3.0.1 • Kafka 2.4.1 • ...
  • 19. 19 © 2021 NTT DATA Corporation まとめ • Hadoopも生まれて15年 • エコシステムと呼ばれる周辺ツール群が存在 • Hadoopのコア部分の開発(のスピード感)は以前より落ち着いた印象 • 安定化、改善、バグ修正は意外とアクティブ • 大きな新機能は新規プロダクトとして実現されがち • Hadoopクラスタの外側でも使われるパーツも提供 • Hadoop Compatible File Systems • Bigtop 3.0.0がリリースされた
  • 20. © 2021 NTT DATA Corporation Spark
  • 21. 21 © 2021 NTT DATA Corporation $ whoami  猿田 浩輔  株式会社NTTデータ 技術開発本部  Apache Sparkコミッタ & PMCメンバ  Hadoop/Sparkなど、OSSミドル関連のR&Dや技術支援  普及活動の一環で講演や書籍執筆なども  Twitter: @raspberry1123
  • 22. © 2021 NTT DATA Corporation Apache Spark 3.2
  • 23. 23 © 2021 NTT DATA Corporation Apache Spark 3.2 本セッション実施時点での 最新フィーチャーリリース 日本時間で2021/10/19深夜に リリースされた Spark 3.1のリリース以降、1700以上のIssueが解決された 本セッションでは、特に多くのユーザに恩恵がある(と思われる)以下 2点を解説 ①pandas API on Spark ②セッションウィンドウ
  • 24. © 2021 NTT DATA Corporation pandas API on Spark
  • 25. 25 © 2021 NTT DATA Corporation Spark 3.0以降PySpark関連の大幅なアップデートが行われている  昨今はPySparkで分析処理を行うユーザが増えており、その状況を鑑みたアップデートが 行われている  もともとデータ分析の分野ではPythonが人気  アップデートの一例  Pythonicなエラーメッセージ (Spark 3.0)  ビルトイン関数を含むPySparkのAPIがタイプヒントに対応 (Spark 3.1) • IDEの補完機能と組み合わせたり、静的エラー解析が効くようになる  公式ドキュメントの大幅な改善 (Spark 3.1) • 目的のコンテンツを探しやすいように構造化 • クイックスタートガイドやサンプルコードも充実 • APIドキュメントも従来のreSTスタイルからnumpydocスタイルに変更(APIの docstringの可読性が向上した)  pandas APIのサポート (Spark 3.2)
  • 26. 26 © 2021 NTT DATA Corporation Pythonユーザ向けのアップデートの一環として、pandas APIのサポートが導入された  昨今はPySparkで分析処理を行うユーザが増えており、その状況を鑑みたアップデートが 行われている  もともとデータ分析の分野ではPythonが人気  アップデートの一例  Pythonicなエラーメッセージ (Spark 3.0)  ビルトイン関数を含むPySparkのAPIがタイプヒントに対応 (Spark 3.1) • IDEの補完機能と組み合わせたり、静的エラー解析が効くようになる  公式ドキュメントの大幅な改善 (Spark 3.1) • 目的のコンテンツを探しやすいように構造化 • クイックスタートガイドやサンプルコードも充実 • APIドキュメントも従来のreSTスタイルからnumpydocスタイルに変更(APIの docstringの可読性が向上した)  pandas APIのサポート (Spark 3.2) Pick Up!
  • 27. 27 © 2021 NTT DATA Corporation データ分析では人気のpandas。でも計算機1台で処理しきれなくなったら・・・?  pandasはデータ分析で用いられるデファクトスタンダードなライブラリのひとつだ が、単一の計算機で処理しきれないデータを扱う場合pandas以外の方法 を検討する必要があった  PySparkは選択肢のひとつとなり得るが、既存の資産を流用できなかったり、 従来pandasを利用してきたユーザにとって使いやすいAPIではなかった  そこで、Koalasと呼ばれるプロジェクトが立ち上がった
  • 28. 28 © 2021 NTT DATA Corporation What is Koalas?  Koalas  pandas互換のAPIで、Sparkのアプリケーションを 記述可能にする  pandasユーザが使い慣れたAPIそのままに、処理を スケールアウト可能  https://github.com/databricks/koalas  類似プロダクトのDaskと比較して、5倍程度高速という結果も  https://www.slideshare.net/databricks/koalas-how-well- does-koalas-work  Spark 3.2からは、KoalasのコードがSparkにポートされ、Sparkの標準機 能として使えるようになる  https://issues.apache.org/jira/browse/SPARK-34849
  • 29. 29 © 2021 NTT DATA Corporation pandas API on Sparkを用いたSparkアプリケーション記述例 import pandas as pd df = pd.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) Pandas
  • 30. 30 © 2021 NTT DATA Corporation pandas API on Sparkを用いたSparkアプリケーション記述例 import pandas as pd df = pd.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) import databricks.koalas as ks df = ks.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) Pandas Koalas
  • 31. 31 © 2021 NTT DATA Corporation pandas API on Sparkを用いたSparkアプリケーション記述例 import pandas as pd df = pd.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) import databricks.koalas as ks df = ks.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) import pyspark.pandas as ps df = ps.read_csv(file) df['x'] = df.y * df.z df.describe() df.plot.line(...) Pandas Koalas pandas API on Spark(Spark 3.2)
  • 32. 32 © 2021 NTT DATA Corporation プロットもサポート 引用: https://www.slideshare.net/databricks/deep-dive-into-the-new-features-of-apache-spark-31 PandasやKoalasで実装済みのプロット機能を、Spark 3.2でも利用可能
  • 33. 33 © 2021 NTT DATA Corporation まずは動かして体感すべし!  pip install pysparkで簡単にインストール可能  Live Notebookで試しに動かしてみるのもOK • https://mybinder.org/v2/gh/sarutak/spark/d168315a18?filepath =python%2Fdocs%2Fsource%2Fgetting_started%2Fquickstart_p s.ipynb
  • 34. © 2021 NTT DATA Corporation セッションウィンドウ
  • 35. 35 © 2021 NTT DATA Corporation Structured Streamingのおさらい  Spark SQLをベースに設計された ストリーム処理フレームワーク  Spark Streamingと異なり、 クエリエンジンによる最適化の恩恵が受けられる Spark Core (実行エンジンおよび汎用的なデータ処理ライブラリ) Spark Streaming (ストリーム処理) Structured Streaming (ストリーム処理) GraphX (グラフ処理) MLlib (機械学習) Spark SQL (クエリ処理)
  • 36. 36 © 2021 NTT DATA Corporation Structured Streamingのおさらい (データ処理モデル)  ストリームデータをDataFrameのレコードとして扱う  到着したレコードをDataFrameに追記し、そのDataFrameに対して 処理を行う https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
  • 37. 37 © 2021 NTT DATA Corporation Structured Streamingのおさらい (データ処理モデル) https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html ストリームデータを DataFrameの レコードとして扱う マイクロバッチを 定期的に起動し、 DataFrameに対して クエリを発行する 結果を出力する DataFrameに 対する数10ms - 数100msで完 了するマイクロ バッチを連続的 に実行することで ストリーム処理を 実現する
  • 38. 38 © 2021 NTT DATA Corporation Structured Streamingのおさらい (データ処理モデル) https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html ストリームデータを DataFrameの レコードとして扱う マイクロバッチを 定期的に起動し、 DataFrameに対して クエリを発行する 結果を出力する DataFrameに 対する数10ms - 数100msで完 了するマイクロ バッチを連続的 に実行することで ストリーム処理を 実現する 1回目
  • 39. 39 © 2021 NTT DATA Corporation Structured Streamingのおさらい (データ処理モデル) https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html ストリームデータを DataFrameの レコードとして扱う マイクロバッチを 定期的に起動し、 DataFrameに対して クエリを発行する 結果を出力する DataFrameに 対する数10ms - 数100msで完 了するマイクロ バッチを連続的 に実行することで ストリーム処理を 実現する 2回目
  • 40. 40 © 2021 NTT DATA Corporation Structured Streamingのおさらい (データ処理モデル) https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html ストリームデータを DataFrameの レコードとして扱う マイクロバッチを 定期的に起動し、 DataFrameに対して クエリを発行する 結果を出力する DataFrameに 対する数10ms - 数100msで完 了するマイクロ バッチを連続的 に実行することで ストリーム処理を 実現する 3回目
  • 41. 41 © 2021 NTT DATA Corporation 従来からサポートされているウィンドウ処理(タンブリングウィンドウ) W1 W2 W3 W4 時刻 12:00 12:05 12:10 12:15 12:20 レコード • 固定サイズの各タイムウィンドウごとに集約処理を行う • レコードがどのウィンドウに属するかは、レコードに付与さ れたタイムスタンプに基づいて決める • 時間帯ごとの集計などに用いる • タイムウィンドウごとにレコードの数を数える場合、上記 の例では右のような結果が得られる タイムウィンドウ レコード数 12:00 - 12:05 2 12:05 - 12:10 1 12:10 - 12:15 3 12:15 - 12:20 2
  • 42. 42 © 2021 NTT DATA Corporation 従来からサポートされているウィンドウ処理 (スライディングウィンドウ) W1 時刻 12:00 12:05 12:10 12:15 12:20 レコード W2 W3 W4 12:25 タイムウィンドウ レコード数 12:00 - 12:10 3 12:05 - 12:15 2 12:10 - 12:20 4 12:15 - 12:25 5 • 固定サイズの各タイムウィンドウが重なるようにずらしな がら集約処理を行う • 時間変化を考慮した集計に用いる • タイムウィンドウごとにレコードの数を数える場合、上記 の例では右のような結果が得られる
  • 43. 43 © 2021 NTT DATA Corporation “セッション”を考慮した集約処理はこれまで難しかった  ここで言うセッションとは、イベント同士を連続性のあるものとみなす時間範 囲のこと  時系列で隣接するイベント同士が一定時間以内に発生していたら、そ れらは同一セッションとみなすのが典型的な例  例えばWebサイトにアクセスして、滞在している時間範囲をセッションと見な して分析に役立てるケースもある  アクセスログをイベントとして扱い、ログ間のタイムスタンプから連続性を 判定する 時刻 イベント セッション1 セッション2 セッション3 セッション4
  • 44. 44 © 2021 NTT DATA Corporation “セッション”を考慮した集約処理はこれまで難しかった  従来のウィンドウ処理では不十分  セッションの開始と終了を識別する仕組みが 備わっていない  ウィンドウサイズが固定  Spark 3.2からはセッションウィンドウがサポートされた  Gap Durationで定義される時間に基づいて、セッションの開始と終 了を識別する  セッションごとに可変なタイムウィンドウを生成できる
  • 45. 45 © 2021 NTT DATA Corporation セッションウィンドウの例 時刻 12:04 レコード ※ Gap Durationは5分を想定
  • 46. 46 © 2021 NTT DATA Corporation セッションウィンドウの例 時刻 12:04 W1 最初に到着したレコードのタイムスタンプから、新しいセッションが開始 レコード ※ Gap Durationは5分を想定
  • 47. 47 © 2021 NTT DATA Corporation セッションウィンドウの例 直前に到着したレコードのタイムスタンプ + Gap Duration以内 のタイムスタンプが付与されたレコードは、同一セッションに含める 時刻 12:04 レコード W1 12:07 12:09 ※ Gap Durationは5分を想定
  • 48. 48 © 2021 NTT DATA Corporation セッションウィンドウの例 時刻 12:04 レコード W1 12:07 12:09 12:17 ※ Gap Durationは5分を想定
  • 49. 49 © 2021 NTT DATA Corporation セッションウィンドウの例 時刻 12:04 レコード 12:07 12:09 W1 12:17 12:14 W2 直前のレコードのタイムスタンプ + Gap Durationがセッションの終了時刻 直前のレコードのタイムスタンプ + Gap Duration 以降に到着したレコードから新しいセッションを開始 ※ Gap Durationは5分を想定
  • 50. 50 © 2021 NTT DATA Corporation セッションウィンドウの例 W1 時刻 12:04 12:07 12:17 12:22 12:40 レコード W2 W3 12:09 12:14 ・・・ 同様のロジックでセッションの開始と終了を判定していく ※ Gap Durationは5分を想定
  • 51. 51 © 2021 NTT DATA Corporation 他にもまだある、Apache Spark 3.2の重要なアップデート  Push-based shuffle  Adaptive Query Executionが デフォルトで有効  ANSI SQL互換のINTERVAL型の導入  Scala 2.13対応  etc
  • 52. 52 © 2021 NTT DATA Corporation その他にも注目のアップデートが盛り沢山  このほか主要なアップデートはリリースノートで要チェック  https://spark.apache.org/releases/spark-release-3-2-0.html
  • 53. © 2021 NTT DATA Corporation まとめ
  • 54. 54 © 2021 NTT DATA Corporation まとめ  Apache Spark 3.2  pandas APIが導入され、既存のpandasユーザが資産を流用したり、 使い慣れたAPIを利用しつつ、処理をスケールアウト可能 • pip install pysparkで簡単にインストールできる • Live Notebookでお試しも可能 (https://mybinder.org/v2/gh/sarutak/spark/d168315 a18?filepath=python%2Fdocs%2Fsource%2Fgetting _started%2Fquickstart_ps.ipynb)  Structured Streamingでは、セッションウィンドウの導入により、これま では難しかったセッションを考慮した集約処理が可能になった  そのほか多くのアップデートについてはリリースノートをチェック • https://spark.apache.org/releases/spark-release-3- 2-0.html
  • 55. © 2021 NTT DATA Corporation 本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。