狠狠撸

狠狠撸Share a Scribd company logo
贬补诲辞辞辫による空间ビッグデータ処理の试み
石崎 一隆
2014年5月30日
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
発表の流れ
1.試みの目的
2.GIS Tools for Hadoop
3.利用する為の構成
4.検証及び解析事例
5.まとめ
2
agenda
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
試みの目的
3
について
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
1-1 試みの目的
● 大量のデータの処理
● 数日かかる処理
● リーソース不足に伴い諦める処理
GIS Tools for Hadoop を試してみよう
4
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
GIS Tools for Hadoop
5
について
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
2-1 GIS Tools for Hadoop
GIS Tools for HadoopはArcGISとHadoopを
連携するツール
Hadoopを利用して空間分析が可能
6
ArcGIS
GIS Tools for Hadoop
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
2-2 GIS Tools for Hadoop の構成
● Esri Geometry API for Java
Hadoopを利用した空間解析API
● Spatial Framework for Hadoop
Esri Json等のAPI
Hiveから利用可能
● GeoProcessing Tools for Hadoop
ArcGIS DesktopとHadoop間の相互変換
7
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
2-3 利用するには
Gis Tools for Hadoopは米国Esri社が開発した
Apache License, Version 2.0 の Open Source
GitHubよりダウンロード可能
● Esri Geometry API for Java
https://github.com/esri/geometry-api-java
● Spatial Framework for Hadoop
https://github.com/Esri/spatial-framework-for-hadoop
● GeoProcessing Tools for Hadoop
https://github.com/Esri/geoprocessing-tools-for-hadoop
● サンプル
https://github.com/Esri/gis-tools-for-hadoop
8
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
2-4 GIS Tools for Hadoopドキュメント類
● Esri Geometry API for Java APIドキュメント
http://esri.github.io/geometry-api-java/javadoc/
● Spatial Framework for Hadoop APIドキュメント
http://esri.github.io/spatial-framework-for-hadoop/json/
● Spatial Framework for Hadoop UDFドキュメント
https://github.com/Esri/spatial-framework-for-hadoop/wiki/UDF-Documentation
9
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
利用する為の構成
10
について
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-1 実行方法
実行方法は2種類
● ArcGISから実行
● コマンドライン、バッチから実行
11
ArcGIS
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-2 ArcGISから実行 必要なパッケージ
● Hadoop
● Hive
HDFSのデータをSQLライク構文で扱う場合に利用
Javaのみを利用する場合は不要
● Oozie or cascading
Hadoopのジョブの実行、スケジュール
12
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-3 ArcGISから実行
● Javaでプログラム作成又はHiveでSQL作成
● Oozie Workflow.xmlの定義
● csv等の地理空間情報以外はHDFS上に配置
● Shape等の地理空間情報の用意
13
shape等 図形データ以外のファイル
プログラム
Workflow.xml
ArcGIS
GeoProcessing Tools for Hadoop
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-4 ArcGISから実行
GeoProcessing Tools for HadoopをArcGISの
ToolBoxに追加
14
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-5 ArcGISから実行
ArcGISのToolBoxからモデルを作成し実行
15
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-6 コマンドライン、バッチから実行 必要なパッケージ
● Hadoop
● Hive
HDFSのデータをSQLライク構文で扱う場合に利用
Javaのみを利用する場合は不要
16
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
3-7 コマンドライン、バッチから実行
● Javaでプログラム作成
● 実行対象のファイルをHDFSへコピー
例) Hadoop fs –put xxx.json /usr/data
Hadoop fs –put yyy.csv /usr/data
図形ファイルがshape、GeoDatabaseの場合は
GeoProcessing Tools for Hadoopを利用して変換
17
ArcGIS
GeoProcessing Tools for Hadoop
shape等 図形データ以外のファイル
プログラム
Json
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
検証及び解析事例
18
について
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-1 ArcGIS比較検証
GIS Tools for Haoop と ArcGIS の処理速度及び結
果を比較します。
19
ArcGIS比較
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-2 GIS Tools for Hadoop、ArcGIS 比較
20
Windows7 Ultimate x64 CentOS5.6 x64 CentOS5.6 x64
Oracle JDK
Java Ver 1.7.0_25
Windows7 Ultimate x64
ArcGIS 10.1 for Desktop Basic
ArcGIS 10.1 for Desktop Basic Java Ver 1.7.0_25
Oracle JDK
● GIS Tools for Hadoop の構成
● ArcGISの構成
Xeon 2.40GHz
メモリ 16GB
Xeon 2.40GHz
メモリ 8GB
Xeon 2.40GHz
メモリ 8GB
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-3 比較条件
21
● 272,693 地理空間情報の街区
レベル情報
市町村界に含まれる街区ポイントの合計値を計算しポリゴンに付与
前処理
● ArcGISは地理空間情報をポイントフィーチャへ変換
● Hadoopは地理空間情報の文字コードをEUCへ変換し、
HDFSへ移動
● 6,779ポリゴンの市町村界
(島含む)
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-4 ArcGISの処理
22
属性の結合とリレート →
結合
● 6,779ポリゴンの市町村界
(島含む)
● 272,693 地理空間情報の街区
レベル情報
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-5 実行結果
23
変換時間 結果不一致数
GIS Tools for Hadoop 2分28秒 0 / 188市区町村 double
7 / 188市区町村 floatArcGIS 7分41秒
Geometryの型をfloatで計算すると結果に差が出る
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-6 分散処理検証
GIS Tools for Haoop の分散処理を検証します。
24
NameNode
JobTracker
DataNode
TaskTracker
Xeon 3.10GHz
メモリ 8GB
Xeon 3.10GHz
メモリ 16GB
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-7 検証条件
● 8,000ポリゴンの世界地図.json
● 約20万、100万、6,000万レコードの
地理空間情報.csv
● 地理空間情報にポリゴン情報を付与
● 結果をcsv出力
25
ポリゴンの情報を付与
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-8 実行結果
約20万 位置情報 約100万 位置情報 約6,000万位置情報
1ノード 20秒
3ノード 16秒 21秒
4ノード 14秒
8ノード 16秒 45秒
9ノード 5分30秒
26
● 100万程度の情報数は分散処理しない
● 分散処理させる為、dfs.block.sizeを
デフォルト値より小さく設定
● 20万処理の結果からオーバヘッドがみられる
● 100万処理の結果からdfs.block.sizeが
デフォルト値より小さい値を指定すると遅くなる
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-9 解析結果をArcGISへ表示
GIS Tools for Hadoopの図化された解析結果を
表示する方法を説明します。
27
ArcGIS
Xeon 2.40GHz
メモリ 4GB
擬似分散モード
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-10 検証条件
● 6,000ポリゴンの北海道.json
● 約25万レコードの地理空間情報.csv
● 陸上の地理空間情報を抽出
● 結果をjson出力しshapeへ変換
28
抽出
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-11 geometryToJson
● Esri Geometry API for Java の
geometryToJsonからJson形式へ変換
● awk等を利用してjsonのヘッダ等を追加
● 出力されたJsonからOpen sourceの
ogr2ogrを利用してShapeへ変換
29
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-12 実行結果
● GIS Tools for hadoopを利用して図化可能
● 変換時間は約30秒
30
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-13 2点間の距離計算の比較
GIS Tools for Haoop と ArcGISの距離計算結果を
比較します。投影法はWGS1984にします。
31
ArcGIS
比較
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-14 比較結果
32
ArcGIS10.2 :747.050611メートル
GIS Tools for Hadoop:747.0506121772523メートル
ArcGIS10.2 距離計算結果
GIS Tools ffor Hadoop 距離計算結果
● 小数点第6位から結果に相違
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-15 グループ化
Hadoopはキーからグループ化を可能にします。GIS
Tools for Hadoopを利用する事で地理空間情報を
扱えます。
33
入力 map シャッフル reduce 出力
Map → Reduceの受け渡しを可能とする
地理空間情報の変換 methdoを提供
グループ化した地理空間情報をreduce側で
解析して出力可能になります。
GIS Tools for Hadoop
地理空間情報の解析 methdoを提供
GIS Tools for Hadoop
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
4-16 グループ化例
地理空間情報に付与されている属性をキーにします。
以下の例では本?服?文具をキーとしています。
34
入力 map シャッフル reduce 出力
HDFS
男性、本買った!、X1、Y1、20才???
女性、購入した服、X2、Y2、40才???
女性、文具Get、X3、Y3、10才???
男性、本買います。、X4、Y4、20才???
女性、買う。服を。、X5、Y5、30才???
女性、本購入、X6、Y6、30才???
???
本、[(X1、Y1)、(X4、Y4)、(X6、Y6)???]
服、[(X2、Y2)、(X5、Y5)、???]
文具、[(X3、Y3)、???]
???
地域に含む
地理空間情報の
抽出
GIS Tools for Hadoop
地域に含まれる
地理空間情報のみ
形態素解析
キーとなる
文字列を切り分け
グループ化
ArcGISで図化
グループ毎に
地理空間情報から
ポリゴンを作成
GIS Tools for Hadoop
地域
JSON
全国分の情報
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
まとめ
35
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
5-1 まとめ
GIS Tools for Hadoopを使うまで
● CDHを利用した方が手間が少ない
● Hadoopの設定は詳しい方に御願いした方が
手間が少なく、効率の良い設定が可能
● 実行方法の検討
? コマンドラインやバッチからの実行の方が環境構築容易
? ArcGISから実行の方が視覚的にわかりやすい
36
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
5-2 まとめ
GIS Tools for Hadoopの留意点
● 瞬時に結果を得たい処理には向かない
● 投影法、測地系処理は無いので留意が必要
37
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
5-3 まとめ
GIS Tools for Hadoopの利用用途
● ArcGISで作成していた処理を移行
時間を要していたタスクを分散処理、短縮
● 時間の制約で諦めていた事が実現可能
● ArcGISとの連携により視覚化可能
38
2014/5/30 贬补诲辞辞辫による空间ビッグデータ処理の试み
ご清聴ありがとうございます
39
TEL:03-5216-4833
info@hcc.co.jp
北海道地図株式会社

More Related Content

贬补诲辞辞辫による空间ビッグデータ処理の试み