SlideShare a Scribd company logo
1 of 22
SoftwareJapan 2014 ITフォーラムセッション
気象予報データ(数値予報GPV)を用いた
データビジュアライゼーション
2014年2月4日
先端IT活用推進コンソーシアム
クラウドテクノロジー活用部会
岡村 和英
(株式会社テクリエ)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2
<<< DEMONSTRATION >>>
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
<<< 数値予報GPVとは? >>>
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
数値予報GPVとは
• GPV = Grid Point Value:格子点値 ▶
– 観測気象データを基に、地球の大気の状態を格
子状に区切り、スーパーコンピュータで様々な
物理現象のシミュレーションを行なうことで、
各点の気象要素(気温、風、湿度など)の推移
予測(数値予報)を行い、その値を格納したも
の。
– 天気予報、注意報、警報などを支える重要な
データ
4
参考:
気象庁ホームページ – 数値予報とは
http://www.jma.go.jp/jma/kishou/know/whitep/1-3-1.html
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
主な数値予報モデル
• 全球モデル (GSM) ▶
– 主目的:短期、週間予報など
– 日本域 0.2度×0.25度(20Kmメッシュ)、全球域 0.5
度×0.5度 ▶
• メソモデル (MSM) ▶
– 主目的:防災情報
– 日本域のみ(北緯22.6~47.6度、東経120~150度)
– 地上面 0.05度×0.0625度(5Kmメッシュ)気圧面 0.1
度×0.0625度 ▶
5
参考:
気象庁ホームページ –数値予報モデルの種類、全球モデル、メソモデル
http://www.jma.go.jp/jma/kishou/know/whitep/1-3-4.html
http://www.jma.go.jp/jma/kishou/know/whitep/1-3-5.html
http://www.jma.go.jp/jma/kishou/know/whitep/1-3-6.html
(財)気象業務支援センター – MSM、GSMデータ概要
http://www.jmbsc.or.jp/hp/online/f-online0a.html
http://www.jmbsc.or.jp/hp/online/f-online0c.html
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
GPVデータファイルの形式
• 現在、気象庁が作成し気象業務支援センターから配信
されているGPVデータファイルはGSM、MSMとも
GRIB2 形式に統一されている。
– 詳細な内容及び形式については、気象業務支援セン
ター発行の技術資料に記載あり。
• GRIB形式とは、
– WMO(World Meteorological Organization:世界気象
機関)が策定したGPVデータの為のファイル格納方式。
– 大量のGPVデータをまとめて格納することを目的と
したフォーマット。
6
参考:
World Meteorological Organization: WMO International Codes
http://www.wmo.int/pages/prog/www/WMOCodes.html
(財)気象業務支援センター – 刊行資料
配信資料に関する技術情報(気象編)第205号 (書籍)
「平成18年3月からの数値予報もでるGPV等の変更について」
気象通報式及び国際地点番号表(平成22年版) (CD-ROM)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
GRIBファイルの構造
• MSM気圧面予報データの場合
7
Grid Definition Section (開始緯度経度、格子点数、間隔 等)
Product Definition Section (データ種別、予報時間、気圧 等)
Data Presentation Section (データ点数、データ形式 等)
Data Section (圧縮エンコードされたデータ)
Indicator Section (GRIB版番号、全体サイズ 等)
Identification Section (作成者識別、参照時刻 等)
End Section (終端マーカー)
繰り返し
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
GRIBファイルの内容
• MSM気圧面予報データの場合
8
参照時刻における
1000hPa等圧面の高度、風速、気温、上昇流速度、相対湿度
(緯度方向0.1度、経度方向0.125度間隔)
950hPa等圧面の高度、・・・・・
900hPa等圧面の・・・・・
100hPa等圧面の・・・・・
3時間後の・・・
6時間後の・・・
15時間後の・・・
~
~
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
<<< 開発内容 >>>
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
開発の背景
• 気象情報をクラウド上で容易に利用できるよ
うにしたい。
– 特定のパラメータ値に基づいて事前に作成され
た画像を取得するのではなく、要求に応じて任
意の画像を生成・表示するようにできないか?
– パブリッククラウド等を用いることで急激なア
クセス増加に応じて可変的にスケールの変更可
能なシステムに出来るのでは?
– 過去のデータへも容易かつ迅速にアクセスした
い。
10
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
システム概要
• GRIB2データパーサー
– GRIB2形式のバイナリファイルからGPVデータを読み
込む。
• KeyValueストアAPI
– GRIB2ファイルから読み込んだGPVデータをエリア分
割し、HBaseに書き出す。
– 指定されたエリアのGPVデータをHBaseから読み込む。
– 今回はMSM(日本周辺)のデータのみに対応。
• GPVビューアー
– GPVデータを3D表示する。
11
HBaseGRIB2 3D表示PutParse DrawGet
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
動作環境
• MacOS X または Windows
• Amazon EC2
– Amazon Linux 64bit × 5 smallインスタンス
(namenode & hmaster)
+ (4 × (datanode & regionserver))
• Java SE 7
• HBase 0.94.15 ▶
• Hadoop 1.2.1 ▶
– Amazon EC2上でHadoop+HBaseを分散稼働。
• JOGL (Java OpenGL)
– JogAmp JOGL 2.1.3 ▶
12
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
設計の趣旨
• 地上面データテーブル “MSM_JP_SURF”
• 気圧面データテーブル “MSM_JP_PALL”
• キー値(SURF 3時間単位、PALL 1時間単位)
– 「対象日時」+「緯度(5度単位)」+「経度(5度単
位)」
– 指定された緯度経度を中心とした±5度(10度)分を1エリア
として取り扱う(隣のエリアと半分重なっている)。
– 古い予報値を新しい予報値で順次上書きしていき、最終的に
は解析値(観測値から導出された値)に置き換わる。
• カラム構造
– “info”ファミリー:GRIBファイルの参照時刻、ファイル名。
– “griddef”ファミリー:データの開始緯度・経度、間隔、データ
点数など。
– データファミリー:‘データ種別識別値’をファミリー名、‘パラ
メータ値(気圧面であれば気圧値)’をカラム名として1エリ
ア分のGPVデータグリッドを実数値に展開したものをバイナリ
データとして格納。
13
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Family HGT TMP VVEL …
Qualifier
Key
1000
hPa
950
hPa
900
hPz
… 100
hPa
1000
hPa
950
hPa
… 1000
hPa
950
hPa
… …
00:00-25-125 …. …. …. …. …. …. …. …. …. …. …. ….
00:00-25-130 …. …. …. …. …. …. …. …. …. …. …. ….
00:00-25-135 …. …. …. …. …. …. …. …. …. …. …. ….
… …. …. …. …. …. …. …. …. …. …. …. ….
00:00-30-125 …. …. …. …. …. …. …. …. …. …. …. ….
00:00-30-130 …. …. …. …. …. …. …. …. …. …. …. ….
00:00-30-135 …. …. …. …. …. …. …. …. …. …. …. ….
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
できたこと
• HBaseにデータを格納することで、GRIB2から都
度読みだすより迅速に目的のデータを取得する
ことが出来る様になった。
• 複数のGRIB2ファイルに跨っていた過去データ
も容易に取得できるようになった。
しかし・・・
• GRIB2データに比べてかなり大きなリポジトリ
が必要になってしまうのでは?
– エンコードされた予報値(12bit)を実数値(64bit)に展
開・格納したことによる増加(約5倍)。
– エリアの重ね合わせによる増加(約4倍)。
– HBaseの仕組みによるオーバーヘッド。
15
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
リポジトリサイズの比較
• 気圧面15時間予報データ
– GRIB 48MB/ファイル → HBase 1GB
• その他に更新ログ等が加わる。
• 圧縮オプション(COMPRESSION=GZ)を有効にすれば、
130~170MB程度にまで縮小可能。
・・・ しかし、圧縮を行なうとHBaseが非常に遅くなる。
– CPUとIOのバランスが取れていない。
– クライアント側でデータ圧縮を行なった方が良さ
そう。(未対応)
16
• エンコードされた予報値(12bit)を実数値(64bit)に展開・格納し
たことによる増加(約5倍)。
• エリアの重ね合わせによる増加(約4倍)。
• HBaseのデータ保持方法によるオーバーヘッド。
予想通り!
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
リポジトリサイズの比較
• 1日分格納後・・・
– 気圧面15時間予報(48MB)
18~33時間予報(48MB)
36~39時間予報(16MB)
各3時間毎×8回=900MB → HBase 3.4GB
– 地上面15時間予報(61MB)
18~33時間予報(69MB)
36~39時間予報(23MB)
各3時間毎×8回=1.2GB→ HBase 4.4GB
• 3ヶ月分格納後・・・
– GRIB 190GB → HBase 330GB
17
テーブル作成時にmaxVersions=1に設定し、古い予報値を新
しい予報値で上書きした分だけ容量が削減されている。
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やってみてわかったこと(1)
• データ投入に非常に時間がかかる。
– local のHBaseクライアントアプリからEC2へ投入したとこ
ろ、 1ファイルの登録に25分もかかってしまった。
• localhost 内、HDFS未使用では90秒弱。
– GRIBファイルをアップロードし、EC2側で登録してみた。
• ファイル転送 20秒 + 登録 8分 ・・・ HDFSのオーバーヘッド?
• CPU利用率が100%に到達しているので、largeインスンタンスに
変更すればもう少し早くなるかもしれない。
– 領域分割しなければ60秒/ファイル、1分半~2分/日程
度。
• エリアの重ねあわせによってデータ量が4倍に増えているのに対
して、時間が8倍かかっている。
• 現在とテーブル設計が違うので、
今はもう少し速くなってるかも
しれない。
18
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やってみてわかったこと(2)
• 投入中にregionserverが異常終了(microインスタンス
利用時)
– Splittingが発生したタイミングで落ちている?メモリ不
足?
– Smallインスタンスに変更したら投入後も落ちなくなった。
• やっぱりメモリ不足?
• HDFSは大喰らい。
– HDFS上に置かれているHBase関連ファイルサイズが計
9GBであるのに、各HDFSデータノードが消費している
ディスク容量が計25GB。(replication=1)
• 増えたり減ったりなので回収されているような感じもする
が・・・
– HDFSがいっぱいになったらregionserverが異常終了。
• HBaseの.logsファイルをロストしたらしく、再起動もできなく
なってしまった。
• HBaseだけではなく、HDFSを再起動したところで復帰。
19
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やってみてわかったこと(3)
• TZ設定忘れに注意
– 古いデータで上書きしてしまった。
• maxfilesに注意
– サーバOSではあまり問題にならなかったが、デモ用
にデスクトップOS(Mac)上での環境構築を行った
ところ、ファイルオープン数が超過してHBaseが落ち
てしまった。
– 以前はMacでも問題なく動いていたが、今回、テー
ブルレイアウトを変更し、カラムを増やしたため、
同時にオープンするファイルが増えてしまった。
• 圧縮は遅い
– テーブル構造やデータ内容にも依存するが、圧縮が
あると目に見えて遅くなる。
– クライアント側の方が処理能力に余裕があるので、
圧縮済みのデータを格納する方がよさそうに思える。
20
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
まだまだやりたいこと
• GPVデータの加工表示
– 特定高度面における等圧線の表示
– 特定経路線における高度、等圧面の表示
– 異なる種類のデータ値の重ね合わせ表示
• 気圧、風向き、温度など
• GSM(全球モデル)データへの対応
– 気圧面によってデータ点数が異なる。
– テーブルレイアウトの再検討
• GPV以外のデータとの組み合わせ
– 気象警報、生物季節観測、災害ハザードマップなど
• モバイルデバイスからの利用
– WebGL、three.jsでWebアプリ化?
21
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ソースコードについて
22
githubで公開しています。
https://github.com/techlier/wgpv

More Related Content

What's hot

What's hot (20)

Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningSoft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
 
[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
Graph Neural Networks
Graph Neural NetworksGraph Neural Networks
Graph Neural Networks
 
情報統計力学のすすめ
情報統計力学のすすめ情報統計力学のすすめ
情報統計力学のすすめ
 
NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
 
外れ値
外れ値外れ値
外れ値
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
 
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
 
効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)
 

Viewers also liked

Viewers also liked (6)

最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
 
ニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめ
 
いろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみたいろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみた
 
マンガ駆動開発のすゝめ
マンガ駆動開発のすゝめマンガ駆動開発のすゝめ
マンガ駆動開発のすゝめ
 
Deep Learningについて
Deep LearningについてDeep Learningについて
Deep Learningについて
 
ニューラルネットワークの数理
ニューラルネットワークの数理ニューラルネットワークの数理
ニューラルネットワークの数理
 

Similar to 気象予報データ(数値予報GPV)を用いた データビジュアライゼーション

Similar to 気象予報データ(数値予報GPV)を用いた データビジュアライゼーション (20)

[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 トレジャーデータ株式会社 斉藤太郎
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツール
 
D3.jsを使ったデータビジュアライズ勉強会
D3.jsを使ったデータビジュアライズ勉強会D3.jsを使ったデータビジュアライズ勉強会
D3.jsを使ったデータビジュアライズ勉強会
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS
 
オブジェクトストレージのユースケース (Cloudweek2014 講演資料)
オブジェクトストレージのユースケース (Cloudweek2014 講演資料)オブジェクトストレージのユースケース (Cloudweek2014 講演資料)
オブジェクトストレージのユースケース (Cloudweek2014 講演資料)
 
Azure IaaS 解説
Azure IaaS 解説Azure IaaS 解説
Azure IaaS 解説
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
 
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
 
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
トレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解するトレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解する
 

気象予報データ(数値予報GPV)を用いた データビジュアライゼーション

  • 2. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2 <<< DEMONSTRATION >>>
  • 3. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. <<< 数値予報GPVとは? >>>
  • 4. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 数値予報GPVとは • GPV = Grid Point Value:格子点値 ▶ – 観測気象データを基に、地球の大気の状態を格 子状に区切り、スーパーコンピュータで様々な 物理現象のシミュレーションを行なうことで、 各点の気象要素(気温、風、湿度など)の推移 予測(数値予報)を行い、その値を格納したも の。 – 天気予報、注意報、警報などを支える重要な データ 4 参考: 気象庁ホームページ – 数値予報とは http://www.jma.go.jp/jma/kishou/know/whitep/1-3-1.html
  • 5. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 主な数値予報モデル • 全球モデル (GSM) ▶ – 主目的:短期、週間予報など – 日本域 0.2度×0.25度(20Kmメッシュ)、全球域 0.5 度×0.5度 ▶ • メソモデル (MSM) ▶ – 主目的:防災情報 – 日本域のみ(北緯22.6~47.6度、東経120~150度) – 地上面 0.05度×0.0625度(5Kmメッシュ)気圧面 0.1 度×0.0625度 ▶ 5 参考: 気象庁ホームページ –数値予報モデルの種類、全球モデル、メソモデル http://www.jma.go.jp/jma/kishou/know/whitep/1-3-4.html http://www.jma.go.jp/jma/kishou/know/whitep/1-3-5.html http://www.jma.go.jp/jma/kishou/know/whitep/1-3-6.html (財)気象業務支援センター – MSM、GSMデータ概要 http://www.jmbsc.or.jp/hp/online/f-online0a.html http://www.jmbsc.or.jp/hp/online/f-online0c.html
  • 6. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. GPVデータファイルの形式 • 現在、気象庁が作成し気象業務支援センターから配信 されているGPVデータファイルはGSM、MSMとも GRIB2 形式に統一されている。 – 詳細な内容及び形式については、気象業務支援セン ター発行の技術資料に記載あり。 • GRIB形式とは、 – WMO(World Meteorological Organization:世界気象 機関)が策定したGPVデータの為のファイル格納方式。 – 大量のGPVデータをまとめて格納することを目的と したフォーマット。 6 参考: World Meteorological Organization: WMO International Codes http://www.wmo.int/pages/prog/www/WMOCodes.html (財)気象業務支援センター – 刊行資料 配信資料に関する技術情報(気象編)第205号 (書籍) 「平成18年3月からの数値予報もでるGPV等の変更について」 気象通報式及び国際地点番号表(平成22年版) (CD-ROM)
  • 7. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. GRIBファイルの構造 • MSM気圧面予報データの場合 7 Grid Definition Section (開始緯度経度、格子点数、間隔 等) Product Definition Section (データ種別、予報時間、気圧 等) Data Presentation Section (データ点数、データ形式 等) Data Section (圧縮エンコードされたデータ) Indicator Section (GRIB版番号、全体サイズ 等) Identification Section (作成者識別、参照時刻 等) End Section (終端マーカー) 繰り返し
  • 8. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. GRIBファイルの内容 • MSM気圧面予報データの場合 8 参照時刻における 1000hPa等圧面の高度、風速、気温、上昇流速度、相対湿度 (緯度方向0.1度、経度方向0.125度間隔) 950hPa等圧面の高度、・・・・・ 900hPa等圧面の・・・・・ 100hPa等圧面の・・・・・ 3時間後の・・・ 6時間後の・・・ 15時間後の・・・ ~ ~
  • 9. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. <<< 開発内容 >>>
  • 10. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 開発の背景 • 気象情報をクラウド上で容易に利用できるよ うにしたい。 – 特定のパラメータ値に基づいて事前に作成され た画像を取得するのではなく、要求に応じて任 意の画像を生成・表示するようにできないか? – パブリッククラウド等を用いることで急激なア クセス増加に応じて可変的にスケールの変更可 能なシステムに出来るのでは? – 過去のデータへも容易かつ迅速にアクセスした い。 10
  • 11. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. システム概要 • GRIB2データパーサー – GRIB2形式のバイナリファイルからGPVデータを読み 込む。 • KeyValueストアAPI – GRIB2ファイルから読み込んだGPVデータをエリア分 割し、HBaseに書き出す。 – 指定されたエリアのGPVデータをHBaseから読み込む。 – 今回はMSM(日本周辺)のデータのみに対応。 • GPVビューアー – GPVデータを3D表示する。 11 HBaseGRIB2 3D表示PutParse DrawGet
  • 12. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 動作環境 • MacOS X または Windows • Amazon EC2 – Amazon Linux 64bit × 5 smallインスタンス (namenode & hmaster) + (4 × (datanode & regionserver)) • Java SE 7 • HBase 0.94.15 ▶ • Hadoop 1.2.1 ▶ – Amazon EC2上でHadoop+HBaseを分散稼働。 • JOGL (Java OpenGL) – JogAmp JOGL 2.1.3 ▶ 12
  • 13. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 設計の趣旨 • 地上面データテーブル “MSM_JP_SURF” • 気圧面データテーブル “MSM_JP_PALL” • キー値(SURF 3時間単位、PALL 1時間単位) – 「対象日時」+「緯度(5度単位)」+「経度(5度単 位)」 – 指定された緯度経度を中心とした±5度(10度)分を1エリア として取り扱う(隣のエリアと半分重なっている)。 – 古い予報値を新しい予報値で順次上書きしていき、最終的に は解析値(観測値から導出された値)に置き換わる。 • カラム構造 – “info”ファミリー:GRIBファイルの参照時刻、ファイル名。 – “griddef”ファミリー:データの開始緯度・経度、間隔、データ 点数など。 – データファミリー:‘データ種別識別値’をファミリー名、‘パラ メータ値(気圧面であれば気圧値)’をカラム名として1エリ ア分のGPVデータグリッドを実数値に展開したものをバイナリ データとして格納。 13
  • 14. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Family HGT TMP VVEL … Qualifier Key 1000 hPa 950 hPa 900 hPz … 100 hPa 1000 hPa 950 hPa … 1000 hPa 950 hPa … … 00:00-25-125 …. …. …. …. …. …. …. …. …. …. …. …. 00:00-25-130 …. …. …. …. …. …. …. …. …. …. …. …. 00:00-25-135 …. …. …. …. …. …. …. …. …. …. …. …. … …. …. …. …. …. …. …. …. …. …. …. …. 00:00-30-125 …. …. …. …. …. …. …. …. …. …. …. …. 00:00-30-130 …. …. …. …. …. …. …. …. …. …. …. …. 00:00-30-135 …. …. …. …. …. …. …. …. …. …. …. ….
  • 15. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. できたこと • HBaseにデータを格納することで、GRIB2から都 度読みだすより迅速に目的のデータを取得する ことが出来る様になった。 • 複数のGRIB2ファイルに跨っていた過去データ も容易に取得できるようになった。 しかし・・・ • GRIB2データに比べてかなり大きなリポジトリ が必要になってしまうのでは? – エンコードされた予報値(12bit)を実数値(64bit)に展 開・格納したことによる増加(約5倍)。 – エリアの重ね合わせによる増加(約4倍)。 – HBaseの仕組みによるオーバーヘッド。 15
  • 16. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. リポジトリサイズの比較 • 気圧面15時間予報データ – GRIB 48MB/ファイル → HBase 1GB • その他に更新ログ等が加わる。 • 圧縮オプション(COMPRESSION=GZ)を有効にすれば、 130~170MB程度にまで縮小可能。 ・・・ しかし、圧縮を行なうとHBaseが非常に遅くなる。 – CPUとIOのバランスが取れていない。 – クライアント側でデータ圧縮を行なった方が良さ そう。(未対応) 16 • エンコードされた予報値(12bit)を実数値(64bit)に展開・格納し たことによる増加(約5倍)。 • エリアの重ね合わせによる増加(約4倍)。 • HBaseのデータ保持方法によるオーバーヘッド。 予想通り!
  • 17. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. リポジトリサイズの比較 • 1日分格納後・・・ – 気圧面15時間予報(48MB) 18~33時間予報(48MB) 36~39時間予報(16MB) 各3時間毎×8回=900MB → HBase 3.4GB – 地上面15時間予報(61MB) 18~33時間予報(69MB) 36~39時間予報(23MB) 各3時間毎×8回=1.2GB→ HBase 4.4GB • 3ヶ月分格納後・・・ – GRIB 190GB → HBase 330GB 17 テーブル作成時にmaxVersions=1に設定し、古い予報値を新 しい予報値で上書きした分だけ容量が削減されている。
  • 18. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. やってみてわかったこと(1) • データ投入に非常に時間がかかる。 – local のHBaseクライアントアプリからEC2へ投入したとこ ろ、 1ファイルの登録に25分もかかってしまった。 • localhost 内、HDFS未使用では90秒弱。 – GRIBファイルをアップロードし、EC2側で登録してみた。 • ファイル転送 20秒 + 登録 8分 ・・・ HDFSのオーバーヘッド? • CPU利用率が100%に到達しているので、largeインスンタンスに 変更すればもう少し早くなるかもしれない。 – 領域分割しなければ60秒/ファイル、1分半~2分/日程 度。 • エリアの重ねあわせによってデータ量が4倍に増えているのに対 して、時間が8倍かかっている。 • 現在とテーブル設計が違うので、 今はもう少し速くなってるかも しれない。 18
  • 19. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. やってみてわかったこと(2) • 投入中にregionserverが異常終了(microインスタンス 利用時) – Splittingが発生したタイミングで落ちている?メモリ不 足? – Smallインスタンスに変更したら投入後も落ちなくなった。 • やっぱりメモリ不足? • HDFSは大喰らい。 – HDFS上に置かれているHBase関連ファイルサイズが計 9GBであるのに、各HDFSデータノードが消費している ディスク容量が計25GB。(replication=1) • 増えたり減ったりなので回収されているような感じもする が・・・ – HDFSがいっぱいになったらregionserverが異常終了。 • HBaseの.logsファイルをロストしたらしく、再起動もできなく なってしまった。 • HBaseだけではなく、HDFSを再起動したところで復帰。 19
  • 20. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. やってみてわかったこと(3) • TZ設定忘れに注意 – 古いデータで上書きしてしまった。 • maxfilesに注意 – サーバOSではあまり問題にならなかったが、デモ用 にデスクトップOS(Mac)上での環境構築を行った ところ、ファイルオープン数が超過してHBaseが落ち てしまった。 – 以前はMacでも問題なく動いていたが、今回、テー ブルレイアウトを変更し、カラムを増やしたため、 同時にオープンするファイルが増えてしまった。 • 圧縮は遅い – テーブル構造やデータ内容にも依存するが、圧縮が あると目に見えて遅くなる。 – クライアント側の方が処理能力に余裕があるので、 圧縮済みのデータを格納する方がよさそうに思える。 20
  • 21. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. まだまだやりたいこと • GPVデータの加工表示 – 特定高度面における等圧線の表示 – 特定経路線における高度、等圧面の表示 – 異なる種類のデータ値の重ね合わせ表示 • 気圧、風向き、温度など • GSM(全球モデル)データへの対応 – 気圧面によってデータ点数が異なる。 – テーブルレイアウトの再検討 • GPV以外のデータとの組み合わせ – 気象警報、生物季節観測、災害ハザードマップなど • モバイルデバイスからの利用 – WebGL、three.jsでWebアプリ化? 21
  • 22. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ソースコードについて 22 githubで公開しています。 https://github.com/techlier/wgpv