SlideShare a Scribd company logo
1 of 49
Sparkによる
GISデータを題材とした時系列データ処理
Copyright © 2016 IHI Corporation All Rights Reserved.
2016.02.08 鈴木 由宇 (株式会社IHI)
土橋 昌 (株式会社NTTデータ)
Hadoop / Spark Conference Japan 2016
Copyright © 2016 IHI Corporation All Rights Reserved. 2
鈴木 由宇(株式会社IHI)
 異常診断アルゴリズム開発など製品
データ利活用に従事
 情報システム部 情報科学技術グ
ループ所属
土橋 昌(株式会社NTTデータ)
 Hadoop、Spark、Stormなど分散処
理を中心とした開発、研究に従事
 OSSプロフェッショナルサービス
Strata + Hadoop
World Singapore
でも登壇しました
自己紹介
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
3
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
4
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2016 IHI Corporation All Rights Reserved.
1. 背景と目的
IHIにおけるデータ収集・データ解析
5
主な利用目的 :
 メンテナンス (異常診断を含む)
 製品設計へのフィードバック
製品のセンサデータ GISデータ
主な利用目的:
 新サービス開発
Control
System
Mobile
phone
Customer
IHI
PC
PC
PDA
User sideDevice side Common Platform
Server
DB
・Inter net
・Private network
Control
System
Sensor
unit
CU
DCU : Data Collection Unit
CU : Communication Unit
DCU
CUDCU
CUDCU
共通PF
Copyright © 2016 IHI Corporation All Rights Reserved.
1. 背景と目的
IHIにおけるデータ収集・データ解析
6
センサデータおよびGISデータ = 多変量時系列データ
GISデータ
移動体A
移動体B
移動体A
移動体B
• 経度
• 緯度
• 速度
…
センサデータ
製品A
製品B
製品A
製品B
• 圧力
• 温度
• 流量
…
Copyright © 2016 IHI Corporation All Rights Reserved.
1. 背景と目的
IHIにおけるデータ収集・データ解析
7
ILIPSによりデータの収集・蓄積は進展
データの蓄積 ⇒ 大規模データの分析・活用
大規模データの分析・活用のための基盤が必要
Copyright © 2016 IHI Corporation All Rights Reserved.
1. 背景と目的
HadoopおよびSparkに対する期待
8
スケーラビリティ
オンメモリ処理により,実用的
な処理時間で計算を行う (特
に機械システムの異常診断)。
性能
DataFrame,MLlib(機械
学習)など豊富なライブラリによ
り,IHI既存のアルゴリズム実
装が容易になる。
 IHIでは,分析にはPython
およびRを使用。
柔軟性
時刻
Copyright © 2016 IHI Corporation All Rights Reserved.
1. 背景と目的
IHIにおける時系列データ処理の重要性
9
 本検討の目的 : Sparkを用いて時系列データを処理する際の特徴
を確認する。
 本検討では,GISデータを用いて評価を行った。
(多変量)時系列データ Spark
...
 データの並び順が非常に重要。
 Sparkにおけるいくつかの処理
(shuffleなど)は,データの並び順を
保証しない。
 並び順を担保するには,ソートなどの
APIが必要。
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
10
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
使用したGISデータ
11
GISデータの主な項目 :
 動的な情報
 データ受信時刻
 座標(緯度・経度)
 速度
 静的な情報
 移動体ID
 移動体の大きさ・種別
 目的地
 到着予想時刻
図 : GISデータ(ダミーデータ)
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
問題設定
12
港湾の混雑予測にGISデータを活用する。
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
問題設定
13
学習フェーズ
1. 移動体ごとにデータをソートする。
2. 時刻や座標の差分を計算する。
3. 累積和計算を用いて,目的地港
湾までの所要時間を算出する。
4. メッシュごとに所要時間を集計し,
所要時間マップを作成する。
5. 港湾ごとに滞在時間を集計し,滞
在時間分布を作成する。
目的地港湾
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
問題設定
14
予測フェーズ
1. 予測開始時刻を設定する。
2. 所要時間マップ・滞在時間分布を
用いて,移動体ごとの目的地港
湾への到着予想時刻・出発予想
時刻を算出する。
3. 移動体ごとの到着予想時刻・出発
予想時刻を集計し,移動体の数
の時間変化を予測する。
時刻
港湾における移動体の数
目的地港湾
予測開始時刻
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
検証項目: 移動体ごとの処理
15
 今回の発表では,「学習
フェーズのステップ1-3」(移動
体ごとの処理)に着目した。
 この処理では,データの並び
順が重要になる。
1. 移動体ごとにデータをソートする。
2. 時刻や座標の差分を計算する。
3. 累積和計算を用いて,目的地港
湾までの所要時間を算出する。
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
検証項目: 移動体ごとの処理
16
基本方針 : 移動体ごとのレコードを,1つのnumpy.arrayにセットする。
 主な長所
 移動体ごとのレコードの並び順は,ランダムにならない(移動体IDの並び順はラ
ンダムになる可能性がある)。
 NumPyの関数を処理に用いることができる。
 主な短所
 移動体ごとのレコード長については,スケーラビリティが少ない。
RDD
...
時系列
データ
numpy
.array
start goalID1
start goalID2
start goalID3
時刻
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
検証項目における3つの評価ポイント
17
vs. vs. vs.
移動体ごとのレコード長
に関する比較
移動体ごとのレコード長
を,150, 1,500,
15,000, および
150,000に変化させて
比較した。
レコード長の偏りの有無
に関する比較
移動体ごとのレコード長が
 一定(15,000)
 ばらつきあり(10 ~
30,000)
の2パターンで比較した。
データ保持方式(RDDと
DataFrame)の比較
データ保持方式を
 PySpark & RDD
 PySpark &
DataFrame (※)
の場合で比較した。
Point 1. Point 2. Point3.
RDDRDD RDD RDD RDD
評価ポイント : 以下の3つの条件において,処理時間を評価した。
Data-
Frame
※一部RDDが残存
Copyright © 2016 IHI Corporation All Rights Reserved.
2. Sparkを用いた時系列データ処理
DataFrameの概要
18
出典 : NTTデータ 「Apache Spark入門」,翔泳社
DataFrame : RDBMSのテーブルのように行と名前とデータ型が付与さ
れた列の概念を持つデータ構造。
[“ship01”, “00:00:00”, ...]
[“ship01”, “00:01:00”, ...]
RDD
…
RDDと比べると…
1. 短くて可読性の高いコードでデータ
操作が記述できる。
2. オプティマイザによる最適化が働く。
コードが書きやすく,読みやすい。
実装の詳細より,分析ロジックに集
中できる。
...
...
...
“ship01”
“ship01”
...
00:00:00
00:01:00
...
shipID
(StringType)
time
(TimestampType)
…
...
DataFrame
列名
データ型
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
19
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 1 : 移動体ごとのレコード長の増加
処理時間
20
45
372
3774
40980
0.06
0.65
6.57
65.8
0.01
0.10
1.00
10.00
100.00
1000.00
1
10
100
1000
10000
100000
150 1500 15000 150000
データサイズ[GB]
処理時間[sec]
1航路あたりのレコード数
処理時間
x 8.3
x 10.1
x 10.9
: 処理時間
[sec]
: データ
サイズ[GB]
 データサイズが線形に増加した際に,計算時間はやや非線形に増加
した。
処理時間
データサイズ
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 1 : 移動体ごとのレコード長の増加
21
結果の概要
 計算時間はやや非線形に増加したが,移動体ごとのレコード長が15,000以下の場
合は,計算時間のオーダーが極端に大きくなることは無かった。
 IHIにおいて,一度に処理する移動体ごとのレコード数は15,000以下のこ
とが多いため,現状ではNumPyによる処理は実用的であると言える。
 「複数の移動体にまたがる処理」など,より複雑な処理を行う場合は,
NumPyの関数以外の処理方法を検討する必要がある。
IHIにおけるセンサデータ・GISデータ分析の観点
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 2 : レコード長の偏りに関する比較
処理時間
22
 今回のユースケースでは,レコード長の偏りの有無に関係なく,処理
時間はほぼ同じだった。
3774 3762
6.57 6.59
0
2
4
6
8
10
0
1000
2000
3000
4000
5000
15000 30000
(with skew)
データサイズ[GB]
処理時間[sec]
1航路あたりのレコード数
処理時間 : 処理時間
[sec]
: データ
サイズ[GB]
近しい値処理時間 処理時間
データサイズ データサイズ
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 2 : レコード長の偏りに関する比較
23
結果の概要
 レコード長の偏りの有無に関係なく,処理時間はほぼ同じだった。
 最も大きなレコード長の移動体に関する処理は,処理全体のボトルネックには
ならなかった。
 「今回用いたデータセットの偏りが小さかったこと」が原因である可能性がある。
 分析対象製品データのレコード長は必ずしも全て同じではないが,偏りは小
さい傾向があるので,今回検討した処理方針は実用的であると言える。
 メッシュごとの集計処理を行った場合,ある特定のメッシュにレコードが集中し
て偏りが極端になった。この場合,このメッシュに関する処理は,処理全体
のボトルネックになった。
IHIにおけるセンサデータ・GISデータ分析の観点
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 3 : RDD vs. DataFrame
処理時間
24
 DataFrameによる計算時間の方が,RDDによる計算時間より短
かった。
処理時間[sec]
処理時間
0
5
10
15
20
25
30
35
40
45
50
150
0
50
100
150
200
250
300
350
400
450
500
1500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
15000
1航路あたりのレコード数
-13%
-46% -39%
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
150000
: PySpark & RDD
: PySpark & DataFrame
(一部RDD)
-16%
Copyright © 2016 IHI Corporation All Rights Reserved.
3. 結果の概要 / Point 3 : RDD vs. DataFrame
25
結果の概要
 DataFrameによる計算時間の方が,RDDによる計算時間より短かった。
※現実的な問題設定による検証だったため,計算が高速化された要因は複合的
であると考えられる。
⇒計算実行状況を確認しつつ,プログラム開発を進めるべきである。
 SparkのDataFrameは,有用な分析ツールとなりうる。
 DataFrameは,PythonやRユーザにとってなじみ深い。
 DataFrameにより,処理時間は短縮された。
 DataFrameにより,分析用のソースコードが見やすくなった。
 レコード長が大きいデータを処理する際に,DataFrameによる計算が中断
することがあった。
 メモリに関するパラメータを調整する必要があった。
IHIにおけるセンサデータ・GISデータ分析の観点
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
26
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2015 NTT DATA Corporation 27Copyright © 2016 NTT DATA Corporation 27
Sparkによるデータ処理の詳細
28Copyright © 2016 NTT DATA Corporation
CPUインテンシブ
NumPyなどのPythonライブ
ラリとの連携
行指向、列指向の計算
本アプリケーションのワークロード
29Copyright © 2016 NTT DATA Corporation
CPUインテンシブ
NumPyなどのPythonライブ
ラリとの連携
行指向、列指向の計算
本アプリケーションのワークロード
• レコード件数が多い
• ソートされたレコードについて
レコード間の関係を計算す
る処理が多い
30Copyright © 2016 NTT DATA Corporation
CPUインテンシブ
NumPyなどのPythonライブ
ラリとの連携
行指向、列指向の計算
本アプリケーションのワークロード
• 本のアプリケーションがPython
実装だったため
• Pythonだと効率的に記載できる箇所
もあるため
31Copyright © 2016 NTT DATA Corporation
CPUインテンシブ
NumPyなどのPythonライブ
ラリとの連携
行指向、列指向の計算
本アプリケーションのワークロード
多変量データを様々な軸で処理したい
ため、行/列方向の片方だけで閉じない
32Copyright © 2016 NTT DATA Corporation
 アプローチ1: PySpark + RDD
 アプローチ2: PySpark + DataFrame(一部RDD部分が残存)
データフォーマットに対する2種類のアプローチ
RDD
RDD’s record
DataFrame
t
t1 t2 tn
t1
t2
tn
• RDDのレコードにはあるセンサから得られた特定の
期間の時系列データを丸々保持
• 「時刻」は左図の横軸として表現される
• DataFrameのレコードにはある時刻に挙げられた
ひとつのレコードを保持
• DataFrameの各列には、レコードの時刻や
様々な属性情報が保持される
• 「時刻」は左図の縦軸として表現される
NumPy配列内の時系列データ
DataFrameのレコードに時系列データの
レコードを保持
Column Column Column
t
33Copyright © 2016 NTT DATA Corporation
•良い点
•NumPyなどのPythonライブラリを使用しやすい。
•時系列データがひとつのローカルなNumPy配列の変数に含まれるため、並び順が保証される
•RDDによる処理を直接的に記述可能
•注意が必要な点
•長い時刻のデータを扱うのが難しい
•スキーマがないため、複雑なデータ構造を扱う際にリーダビリティが低い
アプローチ1: PySpark + RDD(行指向)
•良い点
•PythonからDataFrameを使用しても実施の処理はJVMから呼び出されるため高速
•Project Tungstenに関する最適化の恩恵を受けられる
•時刻方向のスケーラビリティ
•DataFrameにビルトインの関数(数学的関数や時刻を扱うためのデータ型など)
•注意が必要な点
•DataFrame APIは、NumPyのAPIとかなり形式が異なる
•本プロジェクト実施時点でExperimental扱いのAPIを使用した。SparkにおいてExperimentalは
API仕様が変更される可能性があるため注意が必要。今回は一部不具合にも遭遇した。
アプローチ2: PySpark + DataFrame(列指向)
両アプローチの主な特徴
Copyright © 2015 NTT DATA Corporation 34Copyright © 2016 NTT DATA Corporation 34
アプローチ1に関する実施結果
35Copyright © 2016 NTT DATA Corporation
ポイント1: 航路長に関するスケーラビリティ(再掲)
データ処理基盤の観点からのまとめ
• 本ユースケースで目標としていたパフォーマンスは得られた
• データサイズに対する処理時間伸びは、完全に線形とは言い難い
• 処理時間の多くは、NumPy配列などを利用した処理自体に割かれており、
I/Oなどのリソースはあまり使用していなかった
45
372
3774
40980
0.06
0.65
6.57
65.8
0.01
0.10
1.00
10.00
100.00
1000.00
1
10
100
1000
10000
100000
150 1500 15000 150000
データサイズ[GB]
処理時間[sec]
1航路あたりのレコード数
処理時間
x 8.3
x 10.1
x 10.9
: 処理時間
[sec]
: データ
サイズ[GB]
処理時間
データサイズ
36Copyright © 2016 NTT DATA Corporation
 代表例としてあるスレーブノードのリソース使用量を例示
 タスクのタイムライン
 リソース消費傾向のまとめ
 Pythonによる演算時にCPUリソースを著しく使用し、計算リソースはよく使用された印象
 PySparkのRDDを用いた計算ではpython.daemonによって使用されるメモリ量の調整に注意
- DataFrameを用いる場合は挙動が異なり、JVMやSpark独自管理のオフヒープ領域を使用
Sparkによる処理を実行中のリソース使用傾向
Metric Min 25th percentile
Media
n
75th percentile Max
Duration 2 s 8 s 11 s 14 s 19 s
Scheduler Delay 3 ms 4 ms 4 ms 5 ms 39 ms
Task Deserialization Time 1 ms 2 ms 2 ms 2 ms 20 ms
GC Time 0 ms 0 ms 0 ms 0 ms 0.1 s
Result Serialization Time 0 ms 0 ms 0 ms 0 ms 1 ms
Getting Result Time 0 ms 0 ms 0 ms 0 ms 0 ms
CPU all CPU io wait Network
タスク実行のメトリクス表
今回は8コア中7コアを計算リソースとして割り当てた
37Copyright © 2016 NTT DATA Corporation
 背景:なぜPythonRDDを最初に利用したのか?
 DataFrameが利用可能な状態になる前に、すでにRDDに慣れていたため
 RDDはコレクションAPIとして考えと直感的であり、RDDレコード内で自由にPythonの処理を記述
できるため、データ分析者にとってはリーズナブルだったため
 PythonRDDを利用して処理を実装すると、スレーブノードでPython向けに起動する
pyspark.daemonというデーモン内で処理される
 pyspark.daemonの例
 オフヒープ領域のための予約しておくspark.yarn.executor.memoryOverhead の値をScala利用
時よりもかなり大きく設定して実行させた
 DataFrameを利用するときはこの限りではない。
PythonRDD利用時のPythonコード実行状況に注意
yarn 19633 0.1 0.0 166252 19528 ? S 19:28 0:00 python -m pyspark.daemon
yarn 19636 49.1 0.3 400336 250372 ? R 19:28 2:05 python -m pyspark.daemon
yarn 19638 48.1 0.3 382612 232648 ? S 19:28 2:02 python -m pyspark.daemon
(snip)
yarn 20614 7.1 0.0 166404 16304 ? S 19:32 0:02 python -m pyspark.daemon
yarn 20617 7.0 0.0 166404 16304 ? S 19:32 0:02 python -m pyspark.daemon
yarn 20626 0.0 0.0 166252 15660 ? S 19:33 0:00 python -m pyspark.daemon
38Copyright © 2016 NTT DATA Corporation
ポイント2: 航路長に関してSkewがある場合の挙動(再掲)
データ処理基盤の観点からのまとめ
• 今回のワークロードにおいて考えうるSkewの程度では、処理時間全体への影響は小さかった
• 一方で1航路あたりのレコード件数がより大きくなるとSkewによる影響が大きくなる
• 今回はGISデータを取り扱ったが、他のセンサデータを扱う場合、ひとつの時系列データの
件数が今回のユースケースよりも大きくなることもあるので注意が必要
3774 3762
6.57 6.59
0
2
4
6
8
10
0
1000
2000
3000
4000
5000
15000 30000
(with skew)
データサイズ[GB]
処理時間[sec]
1航路あたりのレコード数
処理時間 : 処理時間
[sec]
: データサイズ
[GB]
近しい値処理時間 処理時間
データサイズ データサイズ
39Copyright © 2016 NTT DATA Corporation
ポイント2: 航路長に関してSkewがある場合の挙動(再掲)
データ処理基盤の観点からのまとめ
• 今回のワークロードにおいて考えうるSkewの程度では、処理時間全体への影響は小さかった
• 一方で1航路あたりのレコード件数がより大きくなるとSkewによる影響が大きくなる
• 今回はGISデータを取り扱ったが、他のセンサデータを扱う場合、ひとつの時系列データの
件数が今回のユースケースよりも大きくなることもあるので注意が必要
3774 3762
6.57 6.59
0
2
4
6
8
10
0
1000
2000
3000
4000
5000
15000 30000
(with skew)
データサイズ[GB]
処理時間[sec]
1航路あたりのレコード数
処理時間 : 処理時間
[sec]
: データサイズ
[GB]
近しい値処理時間 処理時間
データサイズ データサイズ
Almost the sameProcessing time
Data size
Skewの影響が小さかったのは1タスクあたりの処理時間が全体
の処理時間に対して十分短く、処理の終わったエグゼキュータ
が順次タスクを実施することで待ち時間がすくなかったため。
エグゼキュータのタスクタイムライン
40Copyright © 2016 NTT DATA Corporation
 本ユースケースのロジックの中には、著しいSkewを生じるロジックが一部含まれていた
 例えば船舶が通過するエリアごとに集計処理を実施したい場合、今回のユースケースでは
「船舶がよく通るエリア」というものがあり、エリアの分け方やキーを工夫しないとSkewが生じ
る。
 Skewによる悪影響が生じていることを確認する簡単な方法は?
 SparkのUIから確認できるメトリクスやタイムラインビューが便利
 対策例
 混雑するエリアを分割して扱う
極端にSkewが生じた場合の挙動
時刻
並
列
実
行
さ
れ
る
タ
ス
ク
群
少数の時間のかかるタスクに引きずられて
全体の処理時間が長時間化している状態
Copyright © 2015 NTT DATA Corporation 41Copyright © 2016 NTT DATA Corporation 41
アプローチ2に関する実施結果
42Copyright © 2016 NTT DATA Corporation
インプットデータサイズに関するRDDとDataFrameの処理時間の差異(再掲)
データ処理基盤の観点からのまとめ
• 多くのケースについてDataFrame、列指向データ形式、および一部Project Tungstenの組み合わせのほうが
性能が良い結果が得られた
• DataFrameの方がアプリケーションのソースコードの可読性が高い
• RDDベースの処理からDataFrameベースの処理に段階的にマイグレート可能だった
• ただしデータフォーマットを行指向から列指向に変えたことにより、ロジック変更を必要とすることもあり、
行指向では不要だったシャッフルによる悪影響もあると考えられる
• Spark1.5時点ではExperimentalの実装を中心に、Spark1.6で改修されたバグ(SPARK-10309、10474)があった
• 新しく追加された機能周りは他のプロダクト同様、自分のユースケースで問題が起きないか注意が必要
処理時間[sec]
処理時間
0
5
10
15
20
25
30
35
40
45
50
150
0
50
100
150
200
250
300
350
400
450
500
1500
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
15000
1航路あたりのレコード数
-13%
-46% -39%
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
150000
: PySpark + RDD
: PySpark + DataFrame (一部RDD)
-16%
43Copyright © 2016 NTT DATA Corporation
 CPU利用傾向は明確に変化(以下、似たような処理をしている箇所)
 PythonRDDの実装とDataFrameの実装を併用する場合はメモリのチューニングに注意
処理実行中のあるスレーブノードリソース消費傾向
3.9min
Python
DataFrame
Tungsten
Pythonデーモンのメモリ領域
を使用する
DataFrameから利用される
JVMヒープやオフヒープ領域
が使用される
6.7min
 アプローチ1: PySpark + RDD  アプローチ2: PySpark + DataFrame
処理時間長い 処理時間短い
sysが出ているのがやや気になるが、同じデータサイズでは
DataFrameを活用した方がリソースに余裕が見られた。
これよりも大きなデータサイズでは、DataFrameでもCPUボトルネック再発。
※Spark1.6からメモリ管理機構が大きく変化し、オフヒープ周りのパラメータが追加されている。詳しくは公式ドキュメント、リリースノートを参照
http://spark.apache.org/docs/latest/configuration.html#memory-management
44Copyright © 2016 NTT DATA Corporation
 今回時系列データ処理にSparkを用いてみて現実的な使用感だったか?
 答えはYes. 大規模なデータを処理できる上にAPIが優れていることが特に大きなポイント
 総じて、気に止めておくべき点
Sparkを大規模な時系列データ処理に用いるときのポイント
RDDとDataFrameは、プログラマや分析者から見ると異なる使用感を得る
• RDD APIはコレクションAPIライク、DataFrameはPandas DataFrame APIライク(あるいはSQLライク)こ
れらのAPIは組み合わせて利用可能だが、PySparkの場合は特にメモリ管理に注意が必要
• Spark1.6で追加されたDatasetが成熟すると、より組み合わせやすくなる。
Project TungstenやDataFrameのウィンドウ関数などの新しく追加された機能はパ
ワフルだが、Spark1.5時点ではプロダクション適用に向けて改善が必要だった
• Spark1.6で解決された問題もあるためTungstenやDataFrameの機能を十分に生かすのあらば、なるべく
新しいバージョン利用がオススメ。
Sparkは便利なAPIを多数持っているが、本格的なユースケースには自前でのロ
ジック実装が必要。
• Spark本体に機能追加されることで対応されるもの(時刻を表す型など)もあるが、サードパーティが開発
する関連プロジェクトもあるのでSpark Packagesなどを確認することを推奨
45Copyright © 2016 NTT DATA Corporation
現実的なユースケースに則ったフィードバックを
実施する。また本プロジェクトでは特に時系列
データの取り扱いに着目する。
Sparkは機能追加の多い活発なプロダクトだ
が、安心して利用できるようにする活動も重
要。他の開発者と協力して不具合解消や安
定化に向けた取り組みを積極実施する。
開発コミュニティのメンバとしての貢献方針
Copyright © 2016 IHI Corporation All Rights Reserved.
AGENDA
46
1. 背景と目的
2. Sparkを用いた時系列データ処理
3. 結果の概要
4. 結果の詳細
5. まとめと今後の予定
Copyright © 2016 IHI Corporation All Rights Reserved.
5. まとめと今後の予定
まとめ
47
 特に,移動体ごとのレコード長が短く,偏りが小さい場合は,NumPyなど
Pythonのライブラリで処理が行えた。
 ただし,高サンプリングレートのデータなど,レコード長が極端に大きい場合は,
今回検討した手法以外の手法を検討する必要がある。
 Sparkは,IHIのGISデータ処理には有用であることが確認できた。
 処理時間は短縮され,ソースコードの可読性が高くなった。
 ただし,DataFrameの利用を判断する前に,アルゴリズムやデータの保持方
式を考慮することがより重要である。
 DataFrameは,IHIにおける分析では有用である可能性が確認できた。
 基本的な時系列データ処理について,Sparkの処理能力と特徴を評
価した。
 将来のサービス(GISデータを用いた港湾の混雑予測)を想定して,実
装・評価を行った。
Copyright © 2016 IHI Corporation All Rights Reserved.
5. まとめと今後の予定
今後の予定
48
今後は,データ処理基盤としてSparkの活用をさらに加速させ,
各種製品・サービスの高度化,ものづくりの高度化の実現を目指す。
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)

More Related Content

What's hot

大量のデータ処理や分析に使える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
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...NTT DATA Technology & Innovation
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Cloudera Japan
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxotato
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用cyberagent
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
Deep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningDeep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningTakuya UESHIN
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめOhyama Masanori
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...NTT DATA Technology & Innovation
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

大量のデータ処理や分析に使える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 発表資料)
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
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?
 
Hive on Tezのベストプラクティス
Hive on TezのベストプラクティスHive on Tezのベストプラクティス
Hive on Tezのベストプラクティス
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Deep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningDeep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance Tuning
 
Hadoop入門
Hadoop入門Hadoop入門
Hadoop入門
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

Viewers also liked

Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境
Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境
Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境Hadoop / Spark Conference Japan
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Hadoop / Spark Conference Japan
 
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発Ryo 亮 Kawahara 河原
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めオラクルエンジニア通信
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Hadoop / Spark Conference Japan
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016Yu Ishikawa
 
JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationTatsuhiro Chiba
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Nagato Kasaki
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 

Viewers also liked (9)

Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境
Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境
Hadoop / Spark Conference Japan 2016 ご挨拶・Hadoopを取り巻く環境
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
 
JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark application
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 

Similar to Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)

[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介Hinemos
 
リリース直前 Hinemos ver.6.0のご紹介
リリース直前 Hinemos ver.6.0のご紹介リリース直前 Hinemos ver.6.0のご紹介
リリース直前 Hinemos ver.6.0のご紹介Hinemos
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
IPDPS & HPDC 報告
IPDPS & HPDC 報告IPDPS & HPDC 報告
IPDPS & HPDC 報告Junya Arai
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopDataWorks Summit
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウFuture Of Data Japan
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習Hitoshi Sato
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729s. kaijima
 
VLDB2011勉強会 Research Session 18: MapReduce and Hadoop
VLDB2011勉強会 Research Session 18: MapReduce and HadoopVLDB2011勉強会 Research Session 18: MapReduce and Hadoop
VLDB2011勉強会 Research Session 18: MapReduce and HadoopHiroaki Shiokawa
 
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築Tanaka Yuichi
 
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)NTT DATA Technology & Innovation
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)NTT DATA OSS Professional Services
 
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsTakuya Iwatsuka
 

Similar to Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料) (20)

[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPANSAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
 
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
リリース直前 Hinemos ver.6.0のご紹介
リリース直前 Hinemos ver.6.0のご紹介リリース直前 Hinemos ver.6.0のご紹介
リリース直前 Hinemos ver.6.0のご紹介
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
IPDPS & HPDC 報告
IPDPS & HPDC 報告IPDPS & HPDC 報告
IPDPS & HPDC 報告
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729Data Scientist Workbench - dots0729
Data Scientist Workbench - dots0729
 
VLDB2011勉強会 Research Session 18: MapReduce and Hadoop
VLDB2011勉強会 Research Session 18: MapReduce and HadoopVLDB2011勉強会 Research Session 18: MapReduce and Hadoop
VLDB2011勉強会 Research Session 18: MapReduce and Hadoop
 
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
 
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
 

More from Hadoop / Spark Conference Japan

機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)Hadoop / Spark Conference Japan
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best PracticeHadoop / Spark Conference Japan
 
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたって
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたってHadoop / Spark Conference Japan 2019 ご挨拶・開催にあたって
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたってHadoop / Spark Conference Japan
 
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...Hadoop / Spark Conference Japan
 
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...Hadoop / Spark Conference Japan
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Hadoop / Spark Conference Japan
 
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)Hadoop / Spark Conference Japan
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)Hadoop / Spark Conference Japan
 
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)Hadoop / Spark Conference Japan
 
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)Hadoop / Spark Conference Japan
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)Hadoop / Spark Conference Japan
 

More from Hadoop / Spark Conference Japan (13)

機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
機械学習、グラフ分析、SQLによるサイバー攻撃対策事例(金融業界)
 
What makes Apache Spark?
What makes Apache Spark?What makes Apache Spark?
What makes Apache Spark?
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたって
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたってHadoop / Spark Conference Japan 2019 ご挨拶・開催にあたって
Hadoop / Spark Conference Japan 2019 ご挨拶・開催にあたって
 
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
 
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...
The Evolution and Future of Hadoop Storage (Hadoop Conference Japan 2016キーノート...
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
 
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
初めてのHadoopパッチ投稿 / How to Contribute to Hadoop (Cloudera World Tokyo 2014 LT講演資料)
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
 
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
 
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
 
The Future of Apache Spark
The Future of Apache SparkThe Future of Apache Spark
The Future of Apache Spark
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
 

Recently uploaded

論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
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
 
論文紹介: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
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案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
 

Recently uploaded (8)

論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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...
 
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
 
論文紹介: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
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
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」の紹介
 

Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)

  • 1. Sparkによる GISデータを題材とした時系列データ処理 Copyright © 2016 IHI Corporation All Rights Reserved. 2016.02.08 鈴木 由宇 (株式会社IHI) 土橋 昌 (株式会社NTTデータ) Hadoop / Spark Conference Japan 2016
  • 2. Copyright © 2016 IHI Corporation All Rights Reserved. 2 鈴木 由宇(株式会社IHI)  異常診断アルゴリズム開発など製品 データ利活用に従事  情報システム部 情報科学技術グ ループ所属 土橋 昌(株式会社NTTデータ)  Hadoop、Spark、Stormなど分散処 理を中心とした開発、研究に従事  OSSプロフェッショナルサービス Strata + Hadoop World Singapore でも登壇しました 自己紹介
  • 3. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 3 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 4. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 4 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 5. Copyright © 2016 IHI Corporation All Rights Reserved. 1. 背景と目的 IHIにおけるデータ収集・データ解析 5 主な利用目的 :  メンテナンス (異常診断を含む)  製品設計へのフィードバック 製品のセンサデータ GISデータ 主な利用目的:  新サービス開発 Control System Mobile phone Customer IHI PC PC PDA User sideDevice side Common Platform Server DB ・Inter net ・Private network Control System Sensor unit CU DCU : Data Collection Unit CU : Communication Unit DCU CUDCU CUDCU 共通PF
  • 6. Copyright © 2016 IHI Corporation All Rights Reserved. 1. 背景と目的 IHIにおけるデータ収集・データ解析 6 センサデータおよびGISデータ = 多変量時系列データ GISデータ 移動体A 移動体B 移動体A 移動体B • 経度 • 緯度 • 速度 … センサデータ 製品A 製品B 製品A 製品B • 圧力 • 温度 • 流量 …
  • 7. Copyright © 2016 IHI Corporation All Rights Reserved. 1. 背景と目的 IHIにおけるデータ収集・データ解析 7 ILIPSによりデータの収集・蓄積は進展 データの蓄積 ⇒ 大規模データの分析・活用 大規模データの分析・活用のための基盤が必要
  • 8. Copyright © 2016 IHI Corporation All Rights Reserved. 1. 背景と目的 HadoopおよびSparkに対する期待 8 スケーラビリティ オンメモリ処理により,実用的 な処理時間で計算を行う (特 に機械システムの異常診断)。 性能 DataFrame,MLlib(機械 学習)など豊富なライブラリによ り,IHI既存のアルゴリズム実 装が容易になる。  IHIでは,分析にはPython およびRを使用。 柔軟性
  • 9. 時刻 Copyright © 2016 IHI Corporation All Rights Reserved. 1. 背景と目的 IHIにおける時系列データ処理の重要性 9  本検討の目的 : Sparkを用いて時系列データを処理する際の特徴 を確認する。  本検討では,GISデータを用いて評価を行った。 (多変量)時系列データ Spark ...  データの並び順が非常に重要。  Sparkにおけるいくつかの処理 (shuffleなど)は,データの並び順を 保証しない。  並び順を担保するには,ソートなどの APIが必要。
  • 10. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 10 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 11. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 使用したGISデータ 11 GISデータの主な項目 :  動的な情報  データ受信時刻  座標(緯度・経度)  速度  静的な情報  移動体ID  移動体の大きさ・種別  目的地  到着予想時刻 図 : GISデータ(ダミーデータ)
  • 12. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 問題設定 12 港湾の混雑予測にGISデータを活用する。
  • 13. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 問題設定 13 学習フェーズ 1. 移動体ごとにデータをソートする。 2. 時刻や座標の差分を計算する。 3. 累積和計算を用いて,目的地港 湾までの所要時間を算出する。 4. メッシュごとに所要時間を集計し, 所要時間マップを作成する。 5. 港湾ごとに滞在時間を集計し,滞 在時間分布を作成する。 目的地港湾
  • 14. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 問題設定 14 予測フェーズ 1. 予測開始時刻を設定する。 2. 所要時間マップ・滞在時間分布を 用いて,移動体ごとの目的地港 湾への到着予想時刻・出発予想 時刻を算出する。 3. 移動体ごとの到着予想時刻・出発 予想時刻を集計し,移動体の数 の時間変化を予測する。 時刻 港湾における移動体の数 目的地港湾 予測開始時刻
  • 15. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 検証項目: 移動体ごとの処理 15  今回の発表では,「学習 フェーズのステップ1-3」(移動 体ごとの処理)に着目した。  この処理では,データの並び 順が重要になる。 1. 移動体ごとにデータをソートする。 2. 時刻や座標の差分を計算する。 3. 累積和計算を用いて,目的地港 湾までの所要時間を算出する。
  • 16. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 検証項目: 移動体ごとの処理 16 基本方針 : 移動体ごとのレコードを,1つのnumpy.arrayにセットする。  主な長所  移動体ごとのレコードの並び順は,ランダムにならない(移動体IDの並び順はラ ンダムになる可能性がある)。  NumPyの関数を処理に用いることができる。  主な短所  移動体ごとのレコード長については,スケーラビリティが少ない。 RDD ... 時系列 データ numpy .array start goalID1 start goalID2 start goalID3 時刻
  • 17. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 検証項目における3つの評価ポイント 17 vs. vs. vs. 移動体ごとのレコード長 に関する比較 移動体ごとのレコード長 を,150, 1,500, 15,000, および 150,000に変化させて 比較した。 レコード長の偏りの有無 に関する比較 移動体ごとのレコード長が  一定(15,000)  ばらつきあり(10 ~ 30,000) の2パターンで比較した。 データ保持方式(RDDと DataFrame)の比較 データ保持方式を  PySpark & RDD  PySpark & DataFrame (※) の場合で比較した。 Point 1. Point 2. Point3. RDDRDD RDD RDD RDD 評価ポイント : 以下の3つの条件において,処理時間を評価した。 Data- Frame ※一部RDDが残存
  • 18. Copyright © 2016 IHI Corporation All Rights Reserved. 2. Sparkを用いた時系列データ処理 DataFrameの概要 18 出典 : NTTデータ 「Apache Spark入門」,翔泳社 DataFrame : RDBMSのテーブルのように行と名前とデータ型が付与さ れた列の概念を持つデータ構造。 [“ship01”, “00:00:00”, ...] [“ship01”, “00:01:00”, ...] RDD … RDDと比べると… 1. 短くて可読性の高いコードでデータ 操作が記述できる。 2. オプティマイザによる最適化が働く。 コードが書きやすく,読みやすい。 実装の詳細より,分析ロジックに集 中できる。 ... ... ... “ship01” “ship01” ... 00:00:00 00:01:00 ... shipID (StringType) time (TimestampType) … ... DataFrame 列名 データ型
  • 19. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 19 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 20. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 1 : 移動体ごとのレコード長の増加 処理時間 20 45 372 3774 40980 0.06 0.65 6.57 65.8 0.01 0.10 1.00 10.00 100.00 1000.00 1 10 100 1000 10000 100000 150 1500 15000 150000 データサイズ[GB] 処理時間[sec] 1航路あたりのレコード数 処理時間 x 8.3 x 10.1 x 10.9 : 処理時間 [sec] : データ サイズ[GB]  データサイズが線形に増加した際に,計算時間はやや非線形に増加 した。 処理時間 データサイズ
  • 21. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 1 : 移動体ごとのレコード長の増加 21 結果の概要  計算時間はやや非線形に増加したが,移動体ごとのレコード長が15,000以下の場 合は,計算時間のオーダーが極端に大きくなることは無かった。  IHIにおいて,一度に処理する移動体ごとのレコード数は15,000以下のこ とが多いため,現状ではNumPyによる処理は実用的であると言える。  「複数の移動体にまたがる処理」など,より複雑な処理を行う場合は, NumPyの関数以外の処理方法を検討する必要がある。 IHIにおけるセンサデータ・GISデータ分析の観点
  • 22. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 2 : レコード長の偏りに関する比較 処理時間 22  今回のユースケースでは,レコード長の偏りの有無に関係なく,処理 時間はほぼ同じだった。 3774 3762 6.57 6.59 0 2 4 6 8 10 0 1000 2000 3000 4000 5000 15000 30000 (with skew) データサイズ[GB] 処理時間[sec] 1航路あたりのレコード数 処理時間 : 処理時間 [sec] : データ サイズ[GB] 近しい値処理時間 処理時間 データサイズ データサイズ
  • 23. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 2 : レコード長の偏りに関する比較 23 結果の概要  レコード長の偏りの有無に関係なく,処理時間はほぼ同じだった。  最も大きなレコード長の移動体に関する処理は,処理全体のボトルネックには ならなかった。  「今回用いたデータセットの偏りが小さかったこと」が原因である可能性がある。  分析対象製品データのレコード長は必ずしも全て同じではないが,偏りは小 さい傾向があるので,今回検討した処理方針は実用的であると言える。  メッシュごとの集計処理を行った場合,ある特定のメッシュにレコードが集中し て偏りが極端になった。この場合,このメッシュに関する処理は,処理全体 のボトルネックになった。 IHIにおけるセンサデータ・GISデータ分析の観点
  • 24. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 3 : RDD vs. DataFrame 処理時間 24  DataFrameによる計算時間の方が,RDDによる計算時間より短 かった。 処理時間[sec] 処理時間 0 5 10 15 20 25 30 35 40 45 50 150 0 50 100 150 200 250 300 350 400 450 500 1500 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 15000 1航路あたりのレコード数 -13% -46% -39% 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 150000 : PySpark & RDD : PySpark & DataFrame (一部RDD) -16%
  • 25. Copyright © 2016 IHI Corporation All Rights Reserved. 3. 結果の概要 / Point 3 : RDD vs. DataFrame 25 結果の概要  DataFrameによる計算時間の方が,RDDによる計算時間より短かった。 ※現実的な問題設定による検証だったため,計算が高速化された要因は複合的 であると考えられる。 ⇒計算実行状況を確認しつつ,プログラム開発を進めるべきである。  SparkのDataFrameは,有用な分析ツールとなりうる。  DataFrameは,PythonやRユーザにとってなじみ深い。  DataFrameにより,処理時間は短縮された。  DataFrameにより,分析用のソースコードが見やすくなった。  レコード長が大きいデータを処理する際に,DataFrameによる計算が中断 することがあった。  メモリに関するパラメータを調整する必要があった。 IHIにおけるセンサデータ・GISデータ分析の観点
  • 26. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 26 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 27. Copyright © 2015 NTT DATA Corporation 27Copyright © 2016 NTT DATA Corporation 27 Sparkによるデータ処理の詳細
  • 28. 28Copyright © 2016 NTT DATA Corporation CPUインテンシブ NumPyなどのPythonライブ ラリとの連携 行指向、列指向の計算 本アプリケーションのワークロード
  • 29. 29Copyright © 2016 NTT DATA Corporation CPUインテンシブ NumPyなどのPythonライブ ラリとの連携 行指向、列指向の計算 本アプリケーションのワークロード • レコード件数が多い • ソートされたレコードについて レコード間の関係を計算す る処理が多い
  • 30. 30Copyright © 2016 NTT DATA Corporation CPUインテンシブ NumPyなどのPythonライブ ラリとの連携 行指向、列指向の計算 本アプリケーションのワークロード • 本のアプリケーションがPython 実装だったため • Pythonだと効率的に記載できる箇所 もあるため
  • 31. 31Copyright © 2016 NTT DATA Corporation CPUインテンシブ NumPyなどのPythonライブ ラリとの連携 行指向、列指向の計算 本アプリケーションのワークロード 多変量データを様々な軸で処理したい ため、行/列方向の片方だけで閉じない
  • 32. 32Copyright © 2016 NTT DATA Corporation  アプローチ1: PySpark + RDD  アプローチ2: PySpark + DataFrame(一部RDD部分が残存) データフォーマットに対する2種類のアプローチ RDD RDD’s record DataFrame t t1 t2 tn t1 t2 tn • RDDのレコードにはあるセンサから得られた特定の 期間の時系列データを丸々保持 • 「時刻」は左図の横軸として表現される • DataFrameのレコードにはある時刻に挙げられた ひとつのレコードを保持 • DataFrameの各列には、レコードの時刻や 様々な属性情報が保持される • 「時刻」は左図の縦軸として表現される NumPy配列内の時系列データ DataFrameのレコードに時系列データの レコードを保持 Column Column Column t
  • 33. 33Copyright © 2016 NTT DATA Corporation •良い点 •NumPyなどのPythonライブラリを使用しやすい。 •時系列データがひとつのローカルなNumPy配列の変数に含まれるため、並び順が保証される •RDDによる処理を直接的に記述可能 •注意が必要な点 •長い時刻のデータを扱うのが難しい •スキーマがないため、複雑なデータ構造を扱う際にリーダビリティが低い アプローチ1: PySpark + RDD(行指向) •良い点 •PythonからDataFrameを使用しても実施の処理はJVMから呼び出されるため高速 •Project Tungstenに関する最適化の恩恵を受けられる •時刻方向のスケーラビリティ •DataFrameにビルトインの関数(数学的関数や時刻を扱うためのデータ型など) •注意が必要な点 •DataFrame APIは、NumPyのAPIとかなり形式が異なる •本プロジェクト実施時点でExperimental扱いのAPIを使用した。SparkにおいてExperimentalは API仕様が変更される可能性があるため注意が必要。今回は一部不具合にも遭遇した。 アプローチ2: PySpark + DataFrame(列指向) 両アプローチの主な特徴
  • 34. Copyright © 2015 NTT DATA Corporation 34Copyright © 2016 NTT DATA Corporation 34 アプローチ1に関する実施結果
  • 35. 35Copyright © 2016 NTT DATA Corporation ポイント1: 航路長に関するスケーラビリティ(再掲) データ処理基盤の観点からのまとめ • 本ユースケースで目標としていたパフォーマンスは得られた • データサイズに対する処理時間伸びは、完全に線形とは言い難い • 処理時間の多くは、NumPy配列などを利用した処理自体に割かれており、 I/Oなどのリソースはあまり使用していなかった 45 372 3774 40980 0.06 0.65 6.57 65.8 0.01 0.10 1.00 10.00 100.00 1000.00 1 10 100 1000 10000 100000 150 1500 15000 150000 データサイズ[GB] 処理時間[sec] 1航路あたりのレコード数 処理時間 x 8.3 x 10.1 x 10.9 : 処理時間 [sec] : データ サイズ[GB] 処理時間 データサイズ
  • 36. 36Copyright © 2016 NTT DATA Corporation  代表例としてあるスレーブノードのリソース使用量を例示  タスクのタイムライン  リソース消費傾向のまとめ  Pythonによる演算時にCPUリソースを著しく使用し、計算リソースはよく使用された印象  PySparkのRDDを用いた計算ではpython.daemonによって使用されるメモリ量の調整に注意 - DataFrameを用いる場合は挙動が異なり、JVMやSpark独自管理のオフヒープ領域を使用 Sparkによる処理を実行中のリソース使用傾向 Metric Min 25th percentile Media n 75th percentile Max Duration 2 s 8 s 11 s 14 s 19 s Scheduler Delay 3 ms 4 ms 4 ms 5 ms 39 ms Task Deserialization Time 1 ms 2 ms 2 ms 2 ms 20 ms GC Time 0 ms 0 ms 0 ms 0 ms 0.1 s Result Serialization Time 0 ms 0 ms 0 ms 0 ms 1 ms Getting Result Time 0 ms 0 ms 0 ms 0 ms 0 ms CPU all CPU io wait Network タスク実行のメトリクス表 今回は8コア中7コアを計算リソースとして割り当てた
  • 37. 37Copyright © 2016 NTT DATA Corporation  背景:なぜPythonRDDを最初に利用したのか?  DataFrameが利用可能な状態になる前に、すでにRDDに慣れていたため  RDDはコレクションAPIとして考えと直感的であり、RDDレコード内で自由にPythonの処理を記述 できるため、データ分析者にとってはリーズナブルだったため  PythonRDDを利用して処理を実装すると、スレーブノードでPython向けに起動する pyspark.daemonというデーモン内で処理される  pyspark.daemonの例  オフヒープ領域のための予約しておくspark.yarn.executor.memoryOverhead の値をScala利用 時よりもかなり大きく設定して実行させた  DataFrameを利用するときはこの限りではない。 PythonRDD利用時のPythonコード実行状況に注意 yarn 19633 0.1 0.0 166252 19528 ? S 19:28 0:00 python -m pyspark.daemon yarn 19636 49.1 0.3 400336 250372 ? R 19:28 2:05 python -m pyspark.daemon yarn 19638 48.1 0.3 382612 232648 ? S 19:28 2:02 python -m pyspark.daemon (snip) yarn 20614 7.1 0.0 166404 16304 ? S 19:32 0:02 python -m pyspark.daemon yarn 20617 7.0 0.0 166404 16304 ? S 19:32 0:02 python -m pyspark.daemon yarn 20626 0.0 0.0 166252 15660 ? S 19:33 0:00 python -m pyspark.daemon
  • 38. 38Copyright © 2016 NTT DATA Corporation ポイント2: 航路長に関してSkewがある場合の挙動(再掲) データ処理基盤の観点からのまとめ • 今回のワークロードにおいて考えうるSkewの程度では、処理時間全体への影響は小さかった • 一方で1航路あたりのレコード件数がより大きくなるとSkewによる影響が大きくなる • 今回はGISデータを取り扱ったが、他のセンサデータを扱う場合、ひとつの時系列データの 件数が今回のユースケースよりも大きくなることもあるので注意が必要 3774 3762 6.57 6.59 0 2 4 6 8 10 0 1000 2000 3000 4000 5000 15000 30000 (with skew) データサイズ[GB] 処理時間[sec] 1航路あたりのレコード数 処理時間 : 処理時間 [sec] : データサイズ [GB] 近しい値処理時間 処理時間 データサイズ データサイズ
  • 39. 39Copyright © 2016 NTT DATA Corporation ポイント2: 航路長に関してSkewがある場合の挙動(再掲) データ処理基盤の観点からのまとめ • 今回のワークロードにおいて考えうるSkewの程度では、処理時間全体への影響は小さかった • 一方で1航路あたりのレコード件数がより大きくなるとSkewによる影響が大きくなる • 今回はGISデータを取り扱ったが、他のセンサデータを扱う場合、ひとつの時系列データの 件数が今回のユースケースよりも大きくなることもあるので注意が必要 3774 3762 6.57 6.59 0 2 4 6 8 10 0 1000 2000 3000 4000 5000 15000 30000 (with skew) データサイズ[GB] 処理時間[sec] 1航路あたりのレコード数 処理時間 : 処理時間 [sec] : データサイズ [GB] 近しい値処理時間 処理時間 データサイズ データサイズ Almost the sameProcessing time Data size Skewの影響が小さかったのは1タスクあたりの処理時間が全体 の処理時間に対して十分短く、処理の終わったエグゼキュータ が順次タスクを実施することで待ち時間がすくなかったため。 エグゼキュータのタスクタイムライン
  • 40. 40Copyright © 2016 NTT DATA Corporation  本ユースケースのロジックの中には、著しいSkewを生じるロジックが一部含まれていた  例えば船舶が通過するエリアごとに集計処理を実施したい場合、今回のユースケースでは 「船舶がよく通るエリア」というものがあり、エリアの分け方やキーを工夫しないとSkewが生じ る。  Skewによる悪影響が生じていることを確認する簡単な方法は?  SparkのUIから確認できるメトリクスやタイムラインビューが便利  対策例  混雑するエリアを分割して扱う 極端にSkewが生じた場合の挙動 時刻 並 列 実 行 さ れ る タ ス ク 群 少数の時間のかかるタスクに引きずられて 全体の処理時間が長時間化している状態
  • 41. Copyright © 2015 NTT DATA Corporation 41Copyright © 2016 NTT DATA Corporation 41 アプローチ2に関する実施結果
  • 42. 42Copyright © 2016 NTT DATA Corporation インプットデータサイズに関するRDDとDataFrameの処理時間の差異(再掲) データ処理基盤の観点からのまとめ • 多くのケースについてDataFrame、列指向データ形式、および一部Project Tungstenの組み合わせのほうが 性能が良い結果が得られた • DataFrameの方がアプリケーションのソースコードの可読性が高い • RDDベースの処理からDataFrameベースの処理に段階的にマイグレート可能だった • ただしデータフォーマットを行指向から列指向に変えたことにより、ロジック変更を必要とすることもあり、 行指向では不要だったシャッフルによる悪影響もあると考えられる • Spark1.5時点ではExperimentalの実装を中心に、Spark1.6で改修されたバグ(SPARK-10309、10474)があった • 新しく追加された機能周りは他のプロダクト同様、自分のユースケースで問題が起きないか注意が必要 処理時間[sec] 処理時間 0 5 10 15 20 25 30 35 40 45 50 150 0 50 100 150 200 250 300 350 400 450 500 1500 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 15000 1航路あたりのレコード数 -13% -46% -39% 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 150000 : PySpark + RDD : PySpark + DataFrame (一部RDD) -16%
  • 43. 43Copyright © 2016 NTT DATA Corporation  CPU利用傾向は明確に変化(以下、似たような処理をしている箇所)  PythonRDDの実装とDataFrameの実装を併用する場合はメモリのチューニングに注意 処理実行中のあるスレーブノードリソース消費傾向 3.9min Python DataFrame Tungsten Pythonデーモンのメモリ領域 を使用する DataFrameから利用される JVMヒープやオフヒープ領域 が使用される 6.7min  アプローチ1: PySpark + RDD  アプローチ2: PySpark + DataFrame 処理時間長い 処理時間短い sysが出ているのがやや気になるが、同じデータサイズでは DataFrameを活用した方がリソースに余裕が見られた。 これよりも大きなデータサイズでは、DataFrameでもCPUボトルネック再発。 ※Spark1.6からメモリ管理機構が大きく変化し、オフヒープ周りのパラメータが追加されている。詳しくは公式ドキュメント、リリースノートを参照 http://spark.apache.org/docs/latest/configuration.html#memory-management
  • 44. 44Copyright © 2016 NTT DATA Corporation  今回時系列データ処理にSparkを用いてみて現実的な使用感だったか?  答えはYes. 大規模なデータを処理できる上にAPIが優れていることが特に大きなポイント  総じて、気に止めておくべき点 Sparkを大規模な時系列データ処理に用いるときのポイント RDDとDataFrameは、プログラマや分析者から見ると異なる使用感を得る • RDD APIはコレクションAPIライク、DataFrameはPandas DataFrame APIライク(あるいはSQLライク)こ れらのAPIは組み合わせて利用可能だが、PySparkの場合は特にメモリ管理に注意が必要 • Spark1.6で追加されたDatasetが成熟すると、より組み合わせやすくなる。 Project TungstenやDataFrameのウィンドウ関数などの新しく追加された機能はパ ワフルだが、Spark1.5時点ではプロダクション適用に向けて改善が必要だった • Spark1.6で解決された問題もあるためTungstenやDataFrameの機能を十分に生かすのあらば、なるべく 新しいバージョン利用がオススメ。 Sparkは便利なAPIを多数持っているが、本格的なユースケースには自前でのロ ジック実装が必要。 • Spark本体に機能追加されることで対応されるもの(時刻を表す型など)もあるが、サードパーティが開発 する関連プロジェクトもあるのでSpark Packagesなどを確認することを推奨
  • 45. 45Copyright © 2016 NTT DATA Corporation 現実的なユースケースに則ったフィードバックを 実施する。また本プロジェクトでは特に時系列 データの取り扱いに着目する。 Sparkは機能追加の多い活発なプロダクトだ が、安心して利用できるようにする活動も重 要。他の開発者と協力して不具合解消や安 定化に向けた取り組みを積極実施する。 開発コミュニティのメンバとしての貢献方針
  • 46. Copyright © 2016 IHI Corporation All Rights Reserved. AGENDA 46 1. 背景と目的 2. Sparkを用いた時系列データ処理 3. 結果の概要 4. 結果の詳細 5. まとめと今後の予定
  • 47. Copyright © 2016 IHI Corporation All Rights Reserved. 5. まとめと今後の予定 まとめ 47  特に,移動体ごとのレコード長が短く,偏りが小さい場合は,NumPyなど Pythonのライブラリで処理が行えた。  ただし,高サンプリングレートのデータなど,レコード長が極端に大きい場合は, 今回検討した手法以外の手法を検討する必要がある。  Sparkは,IHIのGISデータ処理には有用であることが確認できた。  処理時間は短縮され,ソースコードの可読性が高くなった。  ただし,DataFrameの利用を判断する前に,アルゴリズムやデータの保持方 式を考慮することがより重要である。  DataFrameは,IHIにおける分析では有用である可能性が確認できた。  基本的な時系列データ処理について,Sparkの処理能力と特徴を評 価した。  将来のサービス(GISデータを用いた港湾の混雑予測)を想定して,実 装・評価を行った。
  • 48. Copyright © 2016 IHI Corporation All Rights Reserved. 5. まとめと今後の予定 今後の予定 48 今後は,データ処理基盤としてSparkの活用をさらに加速させ, 各種製品・サービスの高度化,ものづくりの高度化の実現を目指す。