プライマリ・コンテンツに移動
Oracle® Big Data Spatial and Graphユーザーズ・ガイドおよびリファレンス
リリース2.4
E70114-06
目次へ移動
目次

前
次

1 Big Data Spatial and Graphの概要

この章では、Oracle Spatial and Graphの空間、プロパティ・グラフ、およびマルチメディア分析機能についてのOracle Big Dataサポートの概要について説明します。

1.1 Big Data Spatial and Graphについて

Oracle Big Data Spatial and Graphでは、サポートされているApache HadoopおよびNoSQL Database Big Dataプラットフォームに高度な空間およびグラフ分析機能を提供します。

空間機能では、場所に関する情報のデータ・エンリッチメント、距離と場所による分析に基づいた空間のフィルタ処理とびカテゴリ化、およびデジタル地図、センサー、衛星画像と航空画像の値のベクトルおよびラスター処理を行う空間データ処理、地図のビジュアル化のためのAPIをサポートしています。

プロパティ・グラフ機能では、グラフ操作、索引付け、問合せ、検索、およびインメモリー分析のためにApache Hadoop HBaseおよびOracle NoSQL Databaseをサポートしています。

マルチメディア分析機能では、OpenCVを使用する組込みの顔認識を含め、Apache Hadoopの動画や画像データを処理するフレームワークを提供します。

1.2 空間機能

空間場所情報は、Big Dataでは共通の要素です。

ビジネスでは、異なるデータ・セットの関連付けとリンクのベースとして、空間データを使用できます。場所に関する情報は、別の人物、場所、オブジェクトに基づいて、あるいは特定のエリアでの存在に基づくエンティティの追跡とカテゴリ化にも使用できます。場所に関する情報によって、特定の地理に進む顧客に場所固有のジオフェンシングと呼ばれる情報提供を促進します。ジオリファレンスされた画像データや知覚データの分析は、ビジネスに様々なメリットをもたらします。

Oracle Big Data Spatial and Graphの空間機能では、次の各種サービスでこのようなユースケースをサポートしています。

ベクトル・サービス:

  • ドキュメントとデータを、デフォルトの管理階層用に空間オブジェクト定義の都市や州、またはベクトルおよびラスター処理を行う空間データ処理緯度/経度情報と関連付ける機能

  • GeoJSONファイル、Shapefiles、GML、およびWKTを含むテキストベースの2次元および3次元の地理空間形式のサポート、またはGeospatial Data Abstraction Library (GDAL)を使用したOracle SDO_Geometry, ST_Geometry、その他のサポート対象の形式の一般的な地理空間エンコーディングの使用

  • データを様々な形式と座標系で調べ、カテゴリ化し、表示するためのHTML5ベースのマップ・クライアントAPIとサンプル・コンソール

  • 位相的操作および距離演算: Anyinteract、Inside、Contains、Within Distance、Nearest Neighborなど

  • データ簡易取得用の空間索引付け

ラスター・サービス:

  • GDALでサポートされている多数のイメージ・ファイル形式、およびHDFSに格納されているイメージ・ファイルのサポート

  • 使用できる一連のイメージを表示するサンプル・コンソール

  • ラスター操作、包括、サブセット、ジオリファレンス、モザイク、および形式変換

1.3 プロパティ・グラフ機能

グラフは頂点、エッジ、および頂点とエッジのプロパティとしてリンクされたデータのネットワークを管理します。グラフは一般的に、ソーシャル・ネットワーキング、サイバー・セキュリティ、ユーティリティおよび通信、ライフ・サイエンスと臨床データ、ナレッジ・ネットワークで検出される関係のモデル化、格納、および分析に使用されます。

標準的なグラフ分析には、グラフのトラバース、推奨、コミュニティおよびインフルエンサの検出、パターン一致などがあります。グラフは、通信、ライフ・サイエンスおよびヘルスケア、セキュリティ、メディアおよび出版などの業種に活用できます。

Oracle Big Data Spatial and Graphのプロパティ・グラフ機能では、次の機能でこのようなユースケースをサポートしています。

  • Apache HBaseおよびOracle NoSQL Databaseでのスケーラブルなグラフ・データベース

  • Tinkerpop Blueprintsに基づく開発者ベースのAPI、およびJavaグラフAPI

  • Apache LuceneおよびSolrCloudとの相互作用によるテキスト検索および問合せ

  • GroovyおよびPythonのスクリプト言語サポート

  • 並列のインメモリーグラフ分析エンジン

  • ランキング、中心性、レコメンダ、コミュニティ検出、パス検索など、簡単でスケーラブルな一連のソーシャル・ネットワーク分析機能

  • Oracle定義のフラット・ファイル形式でのプロパティ・グラフ・データの並列バルク・ロードおよびエクスポート

  • JavaおよびTinkerpop Gremlin APIを実行するためのGroovyベース・コンソールによる管理機能

1.3.1 プロパティ・グラフのサイズ変更の推奨事項

プロパティ・グラフのインストールについての推奨事項を次に示します。

表1-1 プロパティ・グラフのサイズ変更の推奨事項

グラフ・サイズ 推奨の専用物理メモリー 推奨のCPUプロセッサ数

10から100Mエッジ

14GB RAMまで

2から4プロセッサ、計算が集中するワークロードの場合は16プロセッサまで

100Mから1Bエッジ

14GBから100GB RAM

4から12プロセッサ、計算が集中するワークロードの場合は16から32プロセッサまで

1Bエッジ以上

100GB RAM以上

12から32プロセッサ、特に計算が集中するワークロードの場合はそれ以上

1.4 マルチメディア分析機能

Oracle Big Data Spatial and Graphのマルチメディア分析機能は、Apache Hadoopでビデオおよびイメージ・データを処理するためのフレームワークを提供します。このフレームワークにより、ビデオおよびイメージ・データの分散処理が可能になります。

主なユースケースとしては、ビデオとイメージでの顔認識の実行があります。

1.5 Oracle Big Data Appliance上でのOracle Big Data Spatial and Graphのインストール

Oracle Big Data Applianceソフトウェアをインストールおよび構成するためのMammothコマンドライン・ユーティリティを使用して、空間、プロパティ・グラフおよびマルチメディアの機能を含むOracle Big Data Spatial and Graphオプションをインストールすることもできます。

このオプションは、初期ソフトウェア・インストール時、またはbdacliユーティリティの使用後に有効にできます。

Oracle NoSQL Databaseをグラフ・リポジトリとして使用するには、Oracle NoSQL Databaseクラスタが必要です。

Apache HBaseをグラフ・リポジトリとして使用するには、Apache Hadoopクラスタが必要です。

関連項目:

ソフトウェア構成手順の詳細は、『Oracle Big Data Applianceオーナーズ・ガイド』を参照してください。

1.6 Big Data Spatial Image Processing Frameworkのインストールおよび構成

Image Processing Frameworkのインストールおよび構成は、使用しているディストリビューションに応じて異なります。

両方のディストリビューションについて:

1.6.1 Cartographic Projections Libraryの取得およびコンパイル

Image Processing Frameworkをインストールする前に、Cartographic Projections Libraryをダウンロードし、複数の関連操作を実行する必要があります。

  1. PROJ.4ソース・コードおよびデータ・シフト・ファイルをダウンロードします。

    $ wget http://download.osgeo.org/proj/proj-4.9.1.tar.gz
    $ wget http://download.osgeo.org/proj/proj-datumgrid-1.5.tar.gz
    
  2. ソース・コードを解凍し、データ・シフト・ファイルをnadサブディレクトリに抽出します。

    $ tar xzf proj-4.9.1.tar.gz
    $ cd proj-4.9.1/nad
    $ tar xzf ../../proj-datumgrid-1.5.tar.gz
    $ cd ..
    
  3. PROJ.4を構成、作成およびインストールします。

    $ ./configure
    $ make
    $ sudo make install
    $ cd ..
    

    これで、libproj.so/usr/local/lib/libproj.soで使用可能になりました。

  4. libproj.soファイルをspatialインストール・ディレクトリにコピーします。

    cp /usr/local/lib/libproj.so /opt/oracle/oracle-spatial-graph/spatial/raster/gdal/lib/libproj.so
  5. libproj.soライブラリの読取りおよび実行権限をすべてのユーザーに与えます

    sudo chmod 755 /opt/oracle/oracle-spatial-graph/spatial/raster/gdal/lib/libproj.so

1.6.2 Oracle Big Data ApplianceディストリビューションのImage Processing Frameworkのインストール

Oracle Big Data Applianceディストリビューションには、事前にインストールされた構成が用意されていますが、イメージ処理フレームワークがインストールされていることを確認する必要があります。

「Cartographic Projections Libraryの取得およびコンパイル」で説明されているアクションが実行されていることにより、libproj.so (PROJ.4)がすべてのユーザーからアクセス可能であり、正しく設定されていることを確認してください。

OBDAの場合、次のディレクトリが存在することを確認してください。

  • SHARED_DIR (クラスタ内のすべてのノードの共有ディレクトリ): /opt/shareddir

  • ALL_ACCESS_DIR (hadoopグループへの書込みアクセス権を持つクラスタ内のすべてのノードの共有ディレクトリ): /opt/shareddir/spatial

1.6.3 その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール

Big Data Appliance以外の環境のBig Data Spatial and Graphでは、このセクションの次の手順を実行します。

1.6.3.1 その他のディストリビューションのImage Processing Frameworkをインストールするための前提条件

  • HADOOP_LIB_PATH/usr/lib/hadoopにあることを確認します。ない場合はパスを検索し、HADOOP_LIB_PATHとして使用します。

  • NFSをインストールします。

  • 1つ以上のフォルダを作成し、このドキュメントでSHARED_FOLDERとして参照し、リソース・マネージャ・ノードではNFSからすべてのノード・マネージャ・ノードにアクセス可能にします。

  • ジョブ実行に関連するすべてのユーザー、およびyarnユーザーにこのSHARED_FOLDERへの書込みアクセス権を付与します

  • oracle-spatial-graph-<version>.x86_64.rpmをOracle E-Delivery Webサイトからダウンロードします。

  • rpmコマンドを使用してoracle-spatial-graph-<version>.x86_64.rpmを実行します。

  • rpmの実行後は、/opt/oracle/oracle-spatial-graph/spatial/rasterで作成したディレクトリ構造にフォルダconsoleexamplesjlibgdalおよびtestsがあることを確認します。また、index.htmlはコンテンツを表し、javadoc.zipにはAPIのJavadocがあります。

1.6.3.2 その他のディストリビューションのImage Processing Frameworkのインストール

  1. 「Cartographic Projections Libraryの取得およびコンパイル」で説明されているように、ユーザーがlibproj.so (Proj.4) Cartographic Projections Libraryにアクセスできるようにします。
  2. リソース・マネージャ・ノードでは、/opt/oracle/oracle-spatial-graph/spatial/raster/gdaldataフォルダを次のようにSHARED_FOLDERにコピーします。

    cp -R /opt/oracle/oracle-spatial-graph/spatial/raster/gdal/data SHARED_FOLDER

  3. このジョブ実行に関連するすべてのユーザーの書込みアクセス権とともに、ALL_ACCESS_FOLDERにディレクトリSHARED_FOLDERを作成します。ジョブ結果は書込みアクセス権を持つyarnユーザーによって書き込まれるため、このユーザーも考慮します。この構成には、グループ・アクセスを使用できます。

    共有フォルダに移動します。

    cd SHARED_FOLDER

    新しいディレクトリを作成します。

    mkdir ALL_ACCESS_FOLDER

    書込みアクセス権を提供します。

    chmod 777 ALL_ACCESS_FOLDER

  4. /opt/oracle/oracle-spatial-graph/spatial/raster/examplesdataフォルダをALL_ACCESS_FOLDERにコピーします。

    cp -R /opt/oracle/oracle-spatial-graph/spatial/raster/examples/data ALL_ACCESS_FOLDER

  5. 次のように、data/xmlsフォルダに書込みアクセス権を提供します。または、testsやexamplesなど、ジョブを実行するユーザーに書込みアクセスがあることを確認します。

    chmod 777 ALL_ACCESS_FOLDER/data/xmls/

1.6.4 Image Processing Frameworkのインストール後の検証

次の検証操作を実行するために複数のテスト・スクリプトが用意されています。

  • イメージ・ロード機能のテスト

  • イメージ処理機能のテスト

  • 地図代数演算およびDEMでの傾斜計算の処理クラスのテスト

  • モザイク・プロセスのない単一のラスターのイメージ処理の検証(マッピング・フェーズ内の陰影起伏を計算するユーザー指定の機能が含まれます)。

  • マスク操作を使用した2つのラスターの処理のテスト

これらのスクリプトを実行して、イメージ処理フレームワークが正常にインストールされたことを検証します。

クラスタのセキュリティが有効である場合、現在のユーザーがprincsリストに含まれており、有効なKerberosチケットを所有していることを確認してください。

ユーザーがALL_ACCESS_FOLDERへの書込みアクセス権を持ち、このディレクトリの所有者グループに属していることを確認してください。Big Data Applianceのリソース・マネージャ・ノードでジョブを実行することをお薦めします。ジョブを別のノードで実行する場合、デフォルトはhadoopグループになります。

GDALが適切に機能するように、$LD_LIBRARY_PATHを使用してライブラリを使用可能にする必要があります。ジョブを実行する前に、共有ライブラリ・パスがシェル・ウィンドウに適切に設定されていることを確認してください。次に例を示します。

export LD_LIBRARY_PATH=$ALLACCESSDIR/gdal/native

1.6.4.1 イメージ・ロードのテスト・スクリプト

このスクリプトでは、6つのテスト・ラスターのセットをHDFSのohiftestフォルダにロードしますが、そのうち3つのラスターはバイト・データ型と3つの帯域、1つのラスター(DEM)はfloat32データ型と1つの帯域、および2つのラスターはint32データ型と1つの帯域です。OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のあるパラメータが1つ必要です。

内部的には、ジョブによってロード対象のラスターごとに分割が作成されます。分割サイズはブロック・サイズ構成によって決まります。たとえば、ブロック・サイズが64MB以下と構成されると、4つのマッパーが実行されます。その結果、ラスターがHDFSでロードされ、対応するサムネイルが作成され、視覚化されます。サムネイルを視覚化するには外部イメージ・エディタが必要であり、これらのサムネイルの出力パスは、ジョブの完了時にユーザーに表示されます。

テスト・スクリプトは次の場所にあります。

/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageloader.sh

ODBA環境の場合は、次を入力します。

./runimageloader.sh

ODBA以外の環境の場合は、次を入力します。

./runimageloader.sh ALL_ACCESS_FOLDER

実行が完了すると、ファイルのある場所を示すHDFS内のパス(このパスはALL_ACCESS_FOLDERの定義によって異なります)、およびHDFSに作成されたイメージとサムネイルのリストを示すメッセージGENERATED OHIF FILES ARE LOCATED IN HDFS UNDERが表示されます。出力には次が含まれます。

“THUMBNAILS CREATED ARE:
----------------------------------------------------------------------
total 13532
drwxr-xr-x 2 yarn yarn 4096 Sep 9 13:54 .
drwxr-xr-x 3 yarn yarn 4096 Aug 27 11:29 ..
-rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 hawaii.tif.ohif.tif
-rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 inputimageint32.tif.ohif.tif
-rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 inputimageint32_1.tif.ohif.tif
-rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 kahoolawe.tif.ohif.tif
-rw-r--r-- 1 yarn yarn 3214053 Sep 9 13:54 maui.tif.ohif.tif
-rw-r--r-- 1 yarn yarn 4182040 Sep 9 13:54 NapaDEM.tif.ohif.tif
YOU MAY VISUALIZE THUMBNAILS OF THE UPLOADED IMAGES FOR REVIEW FROM THE FOLLOWING PATH:

インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。

NOT ALL THE IMAGES WERE UPLOADED CORRECTLY, CHECK FOR HADOOP LOGS

マッパーとリデューサの実行に必要なメモリーの量は、構成されているHDFSのブロック・サイズによって異なります。デフォルトでは、1GBのメモリーがJavaに割り当てられていますが、この値および他のプロパティは、このテスト・ディレクトリに含まれるimagejob.propファイル内で変更できます。

1.6.4.2 Image Processorテスト・スクリプト(モザイク化)

このスクリプトでは、ハワイ諸島の3つのソース・ラスターとその3つをすべて含む座標のいくつかを設定して、プロセッサ・ジョブを実行します。このジョブでは、これらの座標に基づいてモザイクを作成し、その結果のラスターには、3つのラスターが1つにまとめられます。

runimageloader.shが前提条件として実行されるため、ソース・ラスターはHDFSにあります。バイト・データ型の3つの帯域ラスターがあります。

OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。

また、出力をHDFSに格納する場合は、"-o"パラメータを使用して、モザイク出力を格納するHDFSフォルダを設定します。

内部的に、ジョブは構成入力のxmlで指定されている座標を使用して四角形をフィルタ処理し、必要な四角形のみをマッパー上で処理するためフェーズが減少し、そのすべてを最終的なモザイク・ラスターにまとめられます。

テスト・スクリプトは次の場所にあります。

/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessor.sh

ODBA環境の場合は、次を入力します。

./runimageprocessor.sh

ODBA以外の環境の場合は、次を入力します。

./runimageprocessor.sh -s ALL_ACCESS_FOLDER

実行が成功したら、EXPECTED OUTPUT FILE IS: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tifというメッセージが、出力モザイク・ファイルへのパスとともに表示されます。出力には次が含まれます。

EXPECTED OUTPUT FILE IS: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tif
total 9452
drwxrwxrwx 2 hdfs    hdfs    4096 Sep 10 09:12 .
drwxrwxrwx 9 zherena dba     4096 Sep  9 13:50 ..
-rwxrwxrwx 1 yarn    yarn 4741101 Sep 10 09:12 hawaiimosaic.tif

MOSAIC IMAGE GENERATED
----------------------------------------------------------------------
YOU MAY VISUALIZE THE MOSAIC OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/hawaiimosaic.tif”

インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。

MOSAIC WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM

HDFSでの出力記憶域をテストするには、次のコマンドを使用します

ODBA環境の場合は、次を入力します。

./runimageprocessor.sh -o hdfstest

ODBA以外の環境の場合は、次を入力します。

./runimageprocessor.sh -s ALL_ACCESS_FOLDER -o hdfstest

1.6.4.3 単一Image Processorテスト・スクリプト

このスクリプトは、単一ラスターのプロセッサ・ジョブを実行します。この場合は、ナパ・バレー北部のDEMソース・ラスターです。このジョブの目的は、マッピング・フェーズ用として構成されているユーザー処理クラスを使用して完全な入力を処理することです。このクラスは、DEMの陰影起伏を計算し、これが出力ファイルに設定されます。ここではモザイク操作は実行されません。

ソース・ラスターがHDFS内に存在するように、runimageloader.shを前提条件として実行する必要があります。これは、float 32データ型のDEMラスター1つの帯域です。

OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。

テスト・スクリプトは次の場所にあります。

/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runsingleimageprocessor.sh

ODBA環境の場合は、次を入力します。

./runsingleimageprocessor.sh

ODBA以外の環境の場合は、次を入力します。

./runsingleimageprocessor.sh -s ALL_ACCESS_FOLDER

実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tifというメッセージが、出力DEMファイルへのパスとともに表示されます。出力には次が含まれます。

EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaDEM.tif
total 4808
drwxrwxrwx 2 hdfs    hdfs    4096 Sep 10 09:42 .
drwxrwxrwx 9 zherena dba     4096 Sep  9 13:50 ..
-rwxrwxrwx 1 yarn    yarn 4901232 Sep 10 09:42 NapaDEM.tif
IMAGE GENERATED
----------------------------------------------------------------------

YOU MAY VISUALIZE THE OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/NapaDEM.tif”

インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。

IMAGE WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM

1.6.4.4 Image Processor DEMテスト・スクリプト

このスクリプトはナパ・バレー北部のDEMソース・ラスター、およびそれを取り囲む座標を使用してプロセッサ・ジョブを実行します。このジョブでは、これらの座標に基づいてモザイクを作成し、モザイク構成XMLで処理クラスを設定して、その傾斜も計算します。

runimageloader.shが前提条件として実行されるため、ソース・ラスターはHDFSにあります。これは、float 32データ型のDEMラスター1つの帯域です。

OBDA環境にはパラメータは不要であり、OBDA以外の環境では、ALL_ACCESS_FOLDER値のある"-s"パラメータが1つ必要です。

テスト・スクリプトは次の場所にあります。

/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessordem.sh

ODBA環境の場合は、次を入力します。

./runimageprocessordem.sh

ODBA以外の環境の場合は、次を入力します。

./runimageprocessordem.sh -s ALL_ACCESS_FOLDER

実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tifというメッセージが、傾斜出力ファイルへのパスとともに表示されます。出力には次が含まれます。

EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif
total 4808
drwxrwxrwx 2 hdfs    hdfs    4096 Sep 10 09:42 .
drwxrwxrwx 9 zherena dba     4096 Sep  9 13:50 ..
-rwxrwxrwx 1 yarn    yarn 4901232 Sep 10 09:42 NapaSlope.tif
MOSAIC IMAGE GENERATED
----------------------------------------------------------------------

YOU MAY VISUALIZE THE MOSAIC OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/NapaSlope.tif”

インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。

MOSAIC WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM

また、“if”代数関数もテストして、このラスターで2500を超える値のあるピクセルすべてを、コマンドラインで“–c”フラグを使用して設定した値で置き換えます。次に例を示します。

ODBA環境の場合は、次を入力します。

./runimageprocessordem.sh –c 8000

ODBA以外の環境の場合は、次を入力します。

./runimageprocessordem.sh -s ALL_ACCESS_FOLDER –c 8000

出力ファイルを視覚化すると、単純な傾斜計算と変更後の出力に注目し、ピクセル値が2500を超えているエリアがより鮮明になることを確認できます。

1.6.4.5 複数のラスター操作テスト・スクリプト

このスクリプトは、米国カリフォルニア州ナパ・バレー北部の非常に小さい地域を網羅する2つのラスターのプロセッサ・ジョブを実行します。

これらのラスターは同じMBR、ピクセル・サイズ、SRIDおよびデータ型を持ち、これらはすべて、複雑な複数のラスター操作処理に必要です。このジョブの目的は、2番目のラスターの値がマスク・リストに含まれるかどうかを検証するためにこのラスター内のすべてのピクセルを確認するmask操作を使用して両方のラスターを処理することです。そうである場合、出力ラスターはこの出力セルの最初のラスターのピクセル値を持ちます。そうでない場合、ゼロ(0)値が設定されます。ここではモザイク操作は実行されません。

runimageloader.shが前提条件として実行されるため、ソース・ラスターはHDFSにあります。これらは、int32データ型のラスターの1つの帯域です。

OBDA環境にはパラメータは不要です。OBDA以外の環境では、ALL_ACCESS_FOLDER値のある-sパラメータが1つ必要です。

テスト・スクリプトは次の場所にあります。

/opt/oracle/oracle-spatial-graph/spatial/raster/tests/runimageprocessormultiple.sh

ODBA環境の場合は、次を入力します。

./runimageprocessormultiple.sh

ODBA以外の環境の場合は、次を入力します。

./runimageprocessormultiple.sh -s ALL_ACCESS_FOLDER

実行が成功したら、EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tifというメッセージが、マスク出力ファイルへのパスとともに表示されます。出力には次が含まれます。

EXPECTED OUTPUT FILE: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tif
total 4808
drwxrwxrwx 2 hdfs    hdfs    4096 Sep 10 09:42 .
drwxrwxrwx 9 zherena dba     4096 Sep  9 13:50 ..
-rwxrwxrwx 1 yarn    yarn 4901232 Sep 10 09:42 MaskInt32Rasters.tif
IMAGE GENERATED
----------------------------------------------------------------------

YOU MAY VISUALIZE THE OUTPUT IMAGE FOR REVIEW IN THE FOLLOWING PATH: ALL_ACCESS_FOLDER/processtest/MaskInt32Rasters.tif”

インストールと構成が正常に終了しなかった場合は、出力は生成されず、次のようなメッセージが表示されます。

IMAGE WAS NOT SUCCESSFULLY CREATED, CHECK HADOOP LOGS TO REVIEW THE PROBLEM

1.7 Big Data Spatial Image Serverのインストールおよび構成

Oracle Big Data Spatial Image Serverから、イメージのロードおよび処理のためのWebインタフェースを提供するイメージ処理フレームワークにアクセスできます。

Spatial Image Serverのインストールおよび構成は、使用しているディストリビューションに応じて異なります。

インストールを実行した後、これを検証してください。

1.7.1 Oracle Big Data ApplianceのImage Serverのインストールおよび構成

用意されているスクリプトを使用して自動インストールを実行するには、次の手順を実行します。

  1. 次のスクリプトを実行します。

    sudo /opt/oracle/oracle-spatial-graph/spatial/configure-server/install-bdsg-consoles.sh

    インストール後にアクティブ・ノードが変更された場合、Webコンソールで構成を更新してください。

  2. サーバーを起動します。

    cd /opt/oracle/oracle-spatial-graph/spatial/web-server
    sudo ./start-server.sh
    

    エラーが発生した場合、/opt/oracle/oracle-spatial-graph/spatial/configure-serverにあるREADMEファイルを参照してください。

前述の手順により、サーバー全体が構成されます。これ以上の構成が必要ない場合、「Image Serverコンソールのインストール後の検証例」に直接進むことができます。

追加情報が必要であったり他のアクションを実行したりする必要がある場合は、次のトピックを参照してください。

1.7.1.1 手動インストールを実行するための前提条件

前提条件のソフトウェアがインストールされていることを確認してください。

  1. JettyやTomcatなどのWebサーバーをOracle DBAリソース・マネージャ・ノードにダウンロードします。
  2. 次のように、imageserver.warファイルをWebサーバーwebappsディレクトリに解凍します。

    unzip /opt/oracle/oracle-spatial-graph/spatial/jlib/imageserver.war -d WEB_SERVER_HOME/webapps/imageserver

    注意:

    ファイルを解凍するディレクトリまたは場所は、この手順ではWEB_SERVER_HOMEとします。

  3. Hadoopの依存関係を次のようにコピーします。

    cp /opt/cloudera/parcels/CDH/lib/hadoop/client/* WEB_SERVER_HOME/webapps/imageserver/WEB-INF/lib/

    注意:

    WebサーバーのインストールがOracle以外のDBAクラスタ上で行われている場合、/opt/cloudera/parcels/CDH/lib/hadoop/を実際のHadoopライブラリ・パス(デフォルトでは/usr/lib/hadoop)に置き換えてください。

1.7.1.2 Oracle Big Data ApplianceでのImage Server Webの依存関係のインストール

  1. /opt/oracle/oracle-spatial-graph/spatial/raster/jlib/asm-3.1.jarの下にあるasm-3.1.jarファイルをWEB_SDERVER_HOME/webapps/imageserver/WEB-INF/libにコピーします。

    注意:

    jersey-core* jarは、duplicated at WEB_SERVER_HOME/webapps/imageserver/WEB-INF/libで複製されます。次のステップの場合のように、必ず古いものを削除し、フォルダ内にjersey-core-1.17.1.jarのみを残してください。

  2. 次のコマンドを入力します。

    ls -lat jersey-core*
  3. リストされているライブラリを削除しますが、jersey-core-1.17.1.jarは削除しないでください

  4. 同じディレクトリ(WEB_SERVER_HOME/webapps/imageserver/WEB-INF/lib)内で、xercesImplおよびservlet jarファイルを削除します。

    rm xercesImpl*
    rm servlet*
    
  5. Webサーバーを起動します

    ポートを変更する必要がある場合、ポートを指定します。たとえば、Jettyサーバーの場合は、jetty.http.port=8081を設定します。

    次のような警告はすべて無視します。

    java.lang.UnsupportedOperationException:  setXIncludeAware is not supported on this JAXP implementation or earlier: class oracle.xml.jaxp.JXDocumentBuilderFactory

1.7.1.3 Big Data Applianceの環境の構成

  1. http://thehost:8045/imageserverのアドレスをブラウザのアドレス・バーに入力して、Webコンソールを開きます。

  2. 「Hadoop Configuration Parameters」セクションの「Administrator」タブ、次に「Configuration」タブから、クラスタ構成に応じてこの3つのプロパティを変更します。

    1. fs.defaultFS: ユーザーのクラスタで有効なnamenodehdfs://<namenode>:8020の形式で入力します(この情報については、管理者に確認してください)。

    2. yarn.resourcemanager.scheduler.address: ユーザーのクラスタの有効なリソース・マネージャ。<shcedulername>:8030。これはスケジューラ・アドレスです。

    3. yarn.resourcemanager.address: <resourcename>:8032形式の有効なリソース・マネージャ・アドレス

    注意:

    構成の他の部分については、デフォルト値のままにします。これらはOracle Big Data Applianceクラスタ環境にあらかじめロードされています。

  3. 「Apply Changes」をクリックして、変更を保存します。

    ヒント:

    不足している構成情報については、コンソールの「Hadoop Loader」タブで確認できます。

1.7.2 その他システム(Big Data Appliance以外)のImage Server Webのインストールおよび構成

その他システム(Big Data Appliance以外)のImage Server Webをインストールおよび構成するには、次のトピックを参照してください。

1.7.2.1 その他システムでImage Serverをインストールするための前提条件

その他システムでImage Server Webをインストールする前に、「その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール」に指定されているとおり、Image Processing Frameworkをインストールする必要があります。

1.7.2.2 その他システムでのImage Server Webのインストール

その他システムでImage Server Webをインストールするステップは、BDAでインストールする場合のステップと同じです。

1.7.2.3 その他システムの環境の構成

  1. 「Big Data Applianceの環境の構成」で説明されているように、環境を構成します

    次に、次の手順を続けます。
  2. 「Global Init Parameters」セクションの「Configuration」タブから、クラスタ構成に応じてこの3つのプロパティを変更します。

    1. shared.gdal.data: gdal共有データ・フォルダを指定します。「その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストール」の手順に従ってください。

    2. gdal.lib: .soライブラリの場所。

    3. start: イメージの参照を開始する共有フォルダを指定します。このフォルダはクラスタとNFSマウント・ポイント(SHARED_FOLDER)の間で共有する必要があります。

    4. saveimages: start (SHARED-FOLDER)に完全な書込みアクセス権のあるsaveimagesという子フォルダを作成します。たとえば、start=/homeの場合はsaveimages=/home/saveimagesです。

    5. nfs.mountpoint: クラスタにSHARED_FOLDERにアクセスするマウント・ポイントが必要な場合は、マウント・ポイントを指定します。たとえば、/net/homeです。それ以外の場合は、空のままにしてください。

  3. 「Hadoop Configuration Parameters」セクションの「Configuration」タブから、次のプロパティを更新します。

    1. yarn.application.classpath: 必要なjarと依存関係を検索するHadoopのクラスパス。これは通常、/usr/lib/hadoopにあります。次に例を示します。

      /etc/hadoop/conf/,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*

    注意:

    構成の他の部分については、デフォルト値のままにします。

  4. 「Apply Changes」をクリックして、変更を保存します。

    ヒント:

    不足している構成情報については、コンソールの「Hadoop Loader」タブで確認できます。

1.7.3 Image Serverコンソールのインストール後の検証の例

この例では、次を実行します。

  • ローカル・サーバーからHDFS Hadoopクラスタにイメージをロードします。

  • モザイク・イメージ・ファイルおよび複数のイメージのあるカタログを作成するジョブを実行します。

  • モザイク・イメージを表示します。

1.7.3.1 ローカル・サーバーからHDFS Hadoopクラスタへのイメージのロード

  1. コンソール: http://<oracle_big_data_spatial_vector_console>:8045を開きます。
  2. 「Raster」タブをクリックします。
  3. 「Select File or Path」をクリックし、一連のハワイのイメージを含むデモ・フォルダ(/opt/shareddir/spatial/data/rasters)を参照します。
  4. rastersフォルダをクリックし、「Load images」をクリックします。

    「Images loaded successfully」というメッセージが表示されるまで待ちます。

注意:

ラスター・ファイルが見つからない場合は、インストール中に作成される共有ディレクトリ・フォルダにそれらをコピーできます。「Admin」タブでディレクトリの場所を確認し、ラスター・ファイルをその場所にコピーします。

1.7.3.2 モザイク・イメージとカタログの作成

  1. 「Raster Processing」タブに移動します。
  2. 「Catalog」メニューから「Catalog」「New Catalog」「HDFS Catalog」の順に選択します。

    新しいカタログが作成されます。

  3. 「Imagery」メニューから「Imagery」「Add hdfs image」の順に選択します。
  4. HDFSホストを参照し、イメージを追加します。

    ここでホストからロードしたすべてのイメージを使用して、新しいファイル・ツリーが作成されます。

  5. hdfsの下にあるnewdataフォルダを参照し、イメージを確認します。
  6. 事前ビジュアライザにリストされているイメージを選択し、「Add」をクリックします。

    イメージが下部のサブ・パネルに追加されます。

  7. 「Add images」をクリックします。

    イメージがメイン・カタログに追加されます。

  8. カタログを保存します。
  9. 「Imagery」メニューから「Imagery」「Mosaic」の順に選択します。
  10. testFS.xmlファイルを/opt/shareddir/spatial/data/xmlsから$HOMEディレクトリにコピーします。
  11. 「Load default configuration file」をクリックし、デフォルトのホーム・ディレクトリを参照し、testFS.xmlを選択します。

    注意:

    デフォルトの構成ファイルtestFS.xmlはデモに含まれています。

  12. 「Create Mosaic」をクリックします。

    イメージの作成が完了するまで待ちます。

  13. オプションで、イメージをダウンロードして格納するには、「Download」をクリックします。

1.7.3.3 地球からのモザイクの直接作成

  1. 「Hadoop Raster Viewer」タブに移動します。
  2. 「Refresh Footprint」をクリックし、すべての足跡がパネルに表示されるまで待ちます。
  3. 「Select Footprints」をクリックしてから、目的の領域を選択し、必要に応じてズームインまたはズームアウトします。
  4. 必要に応じて、ラスターを削除または無視します。

    結果内に同一のラスターがある場合、これらは黄色で表示されます

  5. 地図を右クリックし、「Generate Mosaic」を選択します。
  6. モザイクを配置する出力フォルダを指定するか、既存の構成ファイルをロードします。
  7. モザイク内のすべてのピクセルに演算を追加するには、「Advanced Configuration」をクリックします。
  8. 「Create Mosaic」をクリックし、結果を待ちます。
  9. 選択を削除する必要がある場合、地図の左上隅にある赤い円をクリックします。

    注意:

    モザイクをHDFS上で作成することを要求した場合、HDFSにイメージがロードされるまで待ちます。

  10. オプションで、イメージをダウンロードして表示するには、「Download」をクリックします。

1.7.3.4 地球からの傾斜イメージの直接作成

  1. 「Hadoop Raster Viewer」タブに移動します(または留まります)。
  2. 「Refresh Footprint」をクリックし、すべての足跡がパネルに表示されるまで待ちます。
  3. 必要に応じて、ラスターを削除または無視します。

    結果内に同一のラスターがある場合、これらは黄色で表示されます

  4. イメージを右クリックし、「Process Image(No Mosaic)」を選択します。
  5. 傾斜イメージを配置する出力フォルダを指定するか、既存の構成ファイルをロードします。
  6. 6.正しいピクセル・タイプを選択します。(通常、これらのイメージはFloat 32ビットです。)
  7. 7.「Add Process Class」をクリックし、プロセス・クラスを追加します。フレームワークには、傾斜用のデフォルトのプロセス・クラスoracle.spatial.hadoop.imageprocessor.process.ImageSlopeが用意されています。
  8. モザイク内のすべてのピクセルに演算を追加するには、「Advanced Configuration」をクリックします。
  9. 「Create Mosaic」をクリックし、結果を待ちます。
  10. I10.別の傾斜を生成する必要がある場合、「Go Back」をクリックします。

    注意:

    モザイクをHDFS上で作成することを要求した場合、HDFSにイメージがロードされるまで待ちます。

  11. オプションで、イメージをダウンロードして格納するには、「Download」をクリックします。

1.7.3.5 複数のラスター代数演算の作成

  1. 「Hadoop Raster Viewer」タブに移動します(または留まります)。
  2. 「Refresh Footprint」をクリックし、すべての足跡がパネルに表示されるまで待ちます。
  3. 必要に応じて、ラスターを削除または無視します。

    結果内に同一のラスターがある場合、これらは黄色で表示されます

  4. 4.黄色い同一のラスターを処理のために右クリックします。
  5. 「Process Rasters with Same MBR」をクリックします。
  6. モザイクを配置する出力フォルダを指定するか、既存の構成ファイルをロードします。
  7. 「Advanced Configuration」をクリックします。
  8. 8.右側のパネルから「Multiple Complex Raster Operation」を選択します。(1つのオプションのみが許可されています。)
  9. 「Create Mosaic」をクリックし、結果を待ちます。
  10. I10.別のイメージを生成する必要がある場合、「Go Back」をクリックします。

    注意:

    モザイクをHDFS上で作成することを要求した場合、HDFSにイメージがロードされるまで待ちます。

  11. オプションで、イメージをダウンロードして格納するには、「Download」をクリックします。

1.7.3.6 同一ラスターの削除

  1. 「Raster Mapviewer Globe」タブに移動します。
  2. 「Refresh Footprint」をクリックし、すべての足跡がパネルに表示されるまで待ちます。

    結果内に同一のラスターがある場合、これらは黄色で表示されます。

  3. 同一のラスターのペアごとに、これらの1つを選択して削除する場合、その黄色いボックスを右クリックします。

    新しいダイアログ・ボックスが表示されます。

  4. ラスターを削除するには、そのXボタンをクリックします。
  5. サムネイルを表示するには、イメージ内でクリックします。

1.7.4 用意されているImage Server Webサービスの使用

Image Serverには、すぐに使用できるWebサービスが2つ用意されており、1つはHDFSローダー用、もう1つがHDFSモザイク・プロセッサ用です。

これらのサーバーは、Javaアプリケーションから呼び出すことができます。これらは現在、GET操作に対してのみサポートされています。これらを呼び出すための形式は、次のとおりです。

  • ローダー: http://host:port/imageserver/rest/hdfsloader?path=string&overlap=string

    path: 処理対象のイメージ。単一のファイルのパスである場合、または1つ以上のフォルダ全体のパスである場合もあります。複数のフォルダの場合、カンマを使用してフォルダ名を区切ります。

    overlap (オプション): 大文字間の重複(デフォルト = 10)。

  • モザイク: http://host:port/imageserver/rest/mosaic?mosaic=string&config=string

    mosaic: 処理対象のイメージが含まれるXMLモザイク・ファイル。Image Server Webアプリケーションを使用している場合、XMLファイルが自動的に生成されます。モザイクXMLファイルの例は、次のとおりです。

    <?xml version='1.0'?>
    <catalog type='HDFS'>
        <image>
           <source>Hadoop File System</source>
           <type>HDFS</type>
           <raster> /hawaii.tif.ohif</raster>
            <bands datatype='1' config='1,2,3'>3</bands>
        </image>
        <image>
           <source>Hadoop File System</source>
           <type>HDFS</type>
           <raster>/ /kahoolawe.tif.ohif</raster>
            <bands datatype='1' config='1,2,3'>3</bands>
        </image>
    </catalog>
    

    config: 構成ファイル。Image Server Webアプリケーションを使用してモザイクが初めて処理されるときに作成されます。構成ファイルの例は、次のとおりです

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <mosaic>
        <output>
            <SRID>26904</SRID>
            <directory type = "FS">/net/system123/scratch/user3/installers</directory>
            <tempFsFolder>/net/system123/scratch/user3/installers</tempFsFolder>
            <filename>test</filename>
            <format>GTIFF</format>
            <width>1800</width>
            <height>1406</height>
            <algorithm order = "0">1</algorithm>
            <bands layers = "3"/>
            <nodata>#000000</nodata>
            <pixelType>1</pixelType>
        </output>
        <crop>
            <transform>294444.1905688362,114.06068372059636,0,2517696.9179752027,0,-114.06068372059636</transform>
        </crop>
        <process/>
        <operations>
            <localnot/>
        </operations>
    </mosaic> 
    

Javaの例: ローダーの使用

public class RestTest 
    public static void main(String args[]) {

        try {
            // Loader http://localhost:7101/imageserver/rest/hdfsloader?path=string&overlap=string
            // Mosaic http://localhost:7101/imageserver/rest/mosaic?mosaic=string&config=string
            String path = "/net/system123/scratch/user3/installers/hawaii/hawaii.tif";
           
            URL url = new URL(
                    "http://system123.example.com:7101/imageserver/rest/hdfsloader?path=" +
                            path + "&overlap=2"); // overlap its optional
           
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            //conn.setRequestProperty("Accept", "application/json");

            if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : "
                        + conn.getResponseCode());
            }

            BufferedReader br = new BufferedReader(new InputStreamReader(
                    (conn.getInputStream())));

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }

            conn.disconnect();

        } catch (MalformedURLException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }
    }
}

Javaの例: モザイク・プロセッサの使用

public class NetClientPost {
    public static void main(String[] args) {

      try {
          String mosaic = "<?xml version='1.0'?>\n" +
                    "<catalog type='HDFS'>\n" +
                    "    <image>\n" +
                    "       <source>Hadoop File System</source>\n" +
                    "       <type>HDFS</type>\n" +
                    "       <raster>/user/hdfs/newdata/net/system123/scratch/user3/installers/hawaii/hawaii.tif.ohif</raster>\n" +
                    "       <url>http://system123.example.com:7101/imageserver/temp/862b5871973372aab7b62094c575884ae13c3a27_thumb.jpg</url>\n" +
                    "       <bands datatype='1' config='1,2,3'>3</bands>\n" +
                    "    </image>\n" +
                    "</catalog>";
             String config = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" +
                     "<mosaic>\n" +
                     "<output>\n" +
                     "<SRID>26904</SRID>\n" +
                     "<directory type=\"FS\">/net/system123/scratch/user3/installers</directory>\n" +
                     "<tempFsFolder>/net/system123/scratch/user3/installers</tempFsFolder>\n" +
                     "<filename>test</filename>\n" +
                     "<format>GTIFF</format>\n" +
                     "<width>1800</width>\n" +
                     "<height>1269</height>\n" +
                     "<algorithm order=\"0\">1</algorithm>\n" +
                     "<bands layers=\"3\"/>\n" +
                     "<nodata>#000000</nodata>\n" +
                     "<pixelType>1</pixelType>\n" +
                     "</output>\n" +
                     "<crop>\n" +
                     "<transform>739481.1311601736,130.5820811245199,0,2254053.5858749463,0,-130.5820811245199</transform>\n" +
                     "</crop>\n" +
                     "<process/>\n" +
                     "</mosaic>";
             System.out.println ("asdf");
             URL url2 = new URL("http://192.168.1.67:8080" );
             HttpURLConnection conn2 = (HttpURLConnection) url2.openConnection();
             conn2.setRequestMethod("GET");
             if (conn2.getResponseCode() != 200 ) {
                throw new RuntimeException("Failed : HTTP error code : "
                    + conn2.getResponseCode());
            }
        /*URL url = new URL("http://system123.example.com:7101/imageserver/rest/mosaic?" +("mosaic=" + URLEncoder.encode(mosaic, "UTF-8") + "&config=" + 
                URLEncoder.encode(config, "UTF-8")));
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
       
        if (conn.getResponseCode() != 200 ) {
            throw new RuntimeException("Failed : HTTP error code : "
                + conn.getResponseCode());
        }
        BufferedReader br = new BufferedReader(new InputStreamReader(
                (conn.getInputStream())));
        String output;System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null)
            System.out.println(output);
        conn.disconnect();*/

      } catch (MalformedURLException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
     }
    }
}

1.8 Oracle Big Data SpatialViewer Webアプリケーションのインストール

Oracle Big Data SpatialViewer Webアプリケーション(SpatialViewer)をインストールするには、このトピックの手順を実行します。

1.8.1 SpatialViewerの前提

次の前提がSpatialViewerのインストールと構成に適用されます。

  • ここで説明するAPIおよびジョブを、Cloudera CDH5.7、Hortonworks HDP 2.4、または同様のHadoop環境で実行します。

  • ユーザーの環境に、Java 8以降のバージョンを用意しておきます。

  • Big Data Spatial Image Processing Frameworkのインストールおよび構成で説明されているように、イメージ処理フレームワークがインストールされています

1.8.2 Oracle Big Data ApplianceでのSpatialViewerのインストール

次のように、Big Data ApplianceにSpatialViewerをインストールできます

  1. 次のスクリプトを実行します。

    sudo /opt/oracle/oracle-spatial-graph/spatial/configure-server/install-bdsg-consoles.sh
  2. 次のコマンドの1つを使用してWebアプリケーションを起動します(2番目のコマンドを使用すると、ログを表示できます)。

    sudo service bdsg start
    sudo /opt/oracle/oracle-spatial-graph/spatial/web-server/start-server.sh

    エラーが発生した場合、/opt/oracle/oracle-spatial-graph/spatial/configure-serverにあるREADMEファイルを参照してください。

  3. http://<oracle_big_data_spatial_vector_console>:8045/spatialviewer/を開きます

  4. インストール後にアクティブ・ノードが変更された場合、またはKerberosが有効である場合、「Oracle Big Data ApplianceでのSpatialViewerの構成」で説明されているように、構成ファイルを更新します。

  5. オプションで、サンプル・データ(他のトピックの例で使用されているもの)をHDFSにアップロードします。

    sudo -u hdfs hadoop fs -mkdir /user/oracle/bdsg
    sudo -u hdfs hadoop fs -put /opt/oracle/oracle-spatial-graph/spatial/vector/examples/data/tweets.json /user/oracle/bdsg/
    

1.8.3 その他システム(Big Data Appliance以外)のSpatialViewerのインストール

「Oracle Big Data ApplianceでのSpatialViewerのインストール」で説明されている手動構成の手順に従います。

次に、「その他システム(Big Data Appliance以外)のSpatialViewerの構成」で説明されているように、構成を変更します

1.8.4 Oracle Big Data ApplianceでのSpatialViewerの構成

Oracle Big Data ApplianceでSpatialViewerを構成するには、次の手順に従います。

  1. コンソールhttp://<oracle_big_data_spatial_vector_console>:8045/spatialviewer/?root=swadminを開きます

  2. 必要に応じて、一般構成を変更します。

    • ローカル作業ディレクトリ: SpatialViewerローカル作業ディレクトリ。絶対パス。デフォルトのディレクトリ/usr/oracle/spatialviewerは、SpatialViewerのインストール時に作成されます。

    • HDFS作業ディレクトリ: SpatialViewer HDFS作業ディレクトリ。デフォルトのディレクトリ/user/oracle/spatialviewerは、SpatialViewerのインストール時に作成されます。

    • Hadoop構成ファイル: Hadoop構成ディレクトリ。デフォルトでは、/etc/hadoop/confです

    • eLocation URL: eLocationの背景地図を取得するために使用されるURL。デフォルトでは、http://elocation.oracle.comです

    • Kerberosキータブ: Kerberosが有効である場合、キータブ・ファイルが含まれるファイルへのフル・パスを入力します。

    • ログの表示: 必要に応じて、「Spatial Jobs」画面でジョブの表示を無効にします。ログがデフォルトの形式でない場合、この表示を無効にします。デフォルトの形式は、Date LogLevel LoggerName: LogMessageです

      日付は、デフォルトの形式(yyyy-MM-dd HH:mm:ss,SSS)である必要があります。たとえば、2012-11-02 14:34:02,781です。

      ログが表示されず、「Display logs」フィールドが「Yes」に設定されている場合、yarn-site.xml内のyarn.log-aggregation-enabletrueに設定されていることを確認します。また、Hadoopジョブ構成パラメータyarn.nodemanager.remote-app-log-dirおよびyarn.nodemanager.remote-app-log-dir-suffixyarn-site.xmlの場合と同じ値に設定されていることも確認してください。

  3. 必要に応じて、ラスター構成を変更します。

    • 共有ディレクトリ: 別のノードとの間の読取りおよび書込みに使用するディレクトリ。共有され、最大の権限があるか、少なくともHadoopユーザー・グループに存在する必要があります。

    • ネットワーク・ファイル・システム・マウント・ポイント: 共有フォルダを表示でき、個別にアクセスできるNFSマウント・ポイント。非分散環境を使用している場合、空白にできます。

    • 共有GDALデータ・ディレクトリ: GDAL共有データ・フォルダ。共有ディレクトリである必要があります。(その他のディストリビューション(Oracle Big Data Appliance以外)のImage Processing Frameworkのインストールの手順を参照してください。)

  4. 必要に応じて、Hadoop構成を変更します。

  5. 必要に応じて、Spark構成を変更します。

  6. Kerberosが有効である場合、次のパラメータを追加することが必要な場合があります。

    • spark.authenticate: trueに設定する必要があります

    • spark.authenticate.enableSaslEncryption: クラスタ構成に応じて値をtrueまたはfalseに設定します。

    • spark.yarn.keytab: プリンシパルのキータブが含まれるファイルへのフル・パス

    • spark.yarn.principal: Kerberosにログインするために使用されるプリンシパル。通常のKerberos V5プリンシパルの形式は、primary/instance@REALMです。

  7. Linuxシステムでは、セキュアなコンテナ・エグゼキュータをLinuxContainerExecutorに変更する必要がある場合があります。そのためには、次のパラメータを設定します。

    • yarn.nodemanager.container-executor.classorg.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutorに設定します。

    • yarn.nodemanager.linux-container-executor.grouphadoopに設定します。

  8. ユーザーがキータブ・ファイルを読み取ることができることを確認します。

  9. クラスタのすべてのノード上の同じ場所にキータブ・ファイルをコピーします。

1.8.5 その他システム(Big Data Appliance以外)のSpatialViewerの構成

「Oracle Big Data ApplianceでのSpatialViewerの構成」で説明した手順を実行します。

また、Hadoopプロパティyarn.application.classpath/opt/cloudera/parcels/CDH/lib/を実際のライブラリ・パス(デフォルトでは/usr/lib/)に置き換えることにより、Hadoop構成を変更します。

1.9 CDHクラスタまたはその他ハードウェアでのプロパティ・グラフ・サポートのインストール

プロパティ・グラフはOracle Big Data Appliance上、またはコモディティ・ハードウェア上で使用できます。

1.9.1 Apache HBaseの前提条件

HBaseでのプロパティ・グラフ・サポートのインストールには、次の前提条件が適用されます。

これらの製品のサポート・バージョンおよび相互依存性の詳細は、My Oracle Supportノートを参照してください。

1.9.2 プロパティ・グラフのインストール手順

プロパティ・グラフ・サポートをインストールするには、次の手順を実行します。

  1. ソフトウェア・パッケージを解凍します。
    rpm -i oracle-spatial-graph-<version>.x86_64.rpm
    

    デフォルトでは、ソフトウェアはディレクトリ/opt/oracle/にインストールされます

    インストールが完了すると、property_graphサブディレクトリのあるopt/oracle/oracle-spatial-graphディレクトリが作成されます。

  2. JAVA_HOME環境変数を設定します。次に例を示します。
    setenv JAVA_HOME  /usr/local/packages/jdk8
    
  3. PGX_HOME環境変数を設定します。次に例を示します。
    setenv PGX_HOME /opt/oracle/oracle-spatial-graph/pgx
    
  4. HBaseを使用する場合は、Apache Hadoopクラスタ内のHBaseリージョン・サーバーすべてにHBASE_HOME環境変数を設定します。(HBASE_HOMEhbaseインストール・ディレクトリの場所を示します。)次に例を示します。
    setenv HBASE_HOME /usr/lib/hbase
    

    Big Data Applianceの一部のインストールでは、Apache HBaseは次のようなディレクトリに置かれます: /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/hbase/

  5. HBaseを使用する場合は、データ・アクセス・レイヤー・ライブラリを$HBASE_HOME/libにコピーします。次に例を示します。
    cp /opt/oracle/oracle-spatial-graph/property_graph/lib/sdopgdal*.jar $HBASE_HOME/lib
    
  6. 他のチューニング・トピックに示すとおり、HBaseまたはOracle NoSQL Database構成を調整します。
  7. adminユーザーとしてCloudera Managerにログインし、HBaseサービスを再起動します。再起動すると、Region Serverの新しい構成設定の使用が有効になります。

1.9.3 プロパティ・グラフのインストール・ディレクトリについて

Oracle Big Data Spatial and Graphプロパティ・グラフ機能のインストール・ディレクトリの構造は次のとおりです。

$ tree -dFL 2 /opt/oracle/oracle-spatial-graph/property_graph/
/opt/oracle/oracle-spatial-graph/property_graph/
|-- dal
|   |-- groovy
|   |-- opg-solr-config
|   `-- webapp
|-- data
|-- doc
|   |-- dal
|   `-- pgx
|-- examples
|   |-- dal
|   |-- pgx
|   `-- pyopg
|-- lib
|-- librdf
`-- pgx
    |-- bin
    |-- conf
    |-- groovy
    |-- scripts
    |-- webapp
    `-- yarn

1.9.4 インメモリー・アナリスト使用のオプションのインストール・タスク

プロパティ・グラフ・サポートがHadoopのないクライアントにインストールされている場合に、Hadoop Distributed File System (HDFS)に格納されているグラフ・データをインメモリー・アナリストに読み込んでその結果をHDFSに書き込み、インメモリー・アナリストの開始、監視および停止にHadoop NextGen MapReduce (YARN)スケジューリングを使用するには、このインストール・タスクを実行します。

1.9.4.1 Hadoopのインストールと構成

Hadoopをインストールして構成するには、次の手順を実行します。

  1. Cloudera CDHのサポート対象のバージョン用に、tarballをダウンロードします。
  2. 選択したディレクトリにtarballを解凍します。次に例を示します。
    tar xvf hadoop-2.5.0-cdh5.2.1.tar.gz -C /opt
    
  3. HADOOP_HOME環境変数がインストール・ディレクトリを指し示すよう指定します。次に例を示します。
    export HADOOP_HOME=/opt/hadoop-2.5.0-cdh5.2.1
    
  4. $HADOOP_HOME/binPATH環境変数に追加します。次に例を示します。
    export PATH=$HADOOP_HOME/bin:$PATH
    
  5. HadoopクラスタのHDFS名前ノードを指し示すように、$HADOOP_HOME/etc/hadoop/hdfs-site.xmlを構成します。
  6. Hadoopクラスタのリソース・マネージャ・ノードを指し示すように、$HADOOP_HOME/etc/hadoop/yarn-site.xmlを構成します。
  7. HadoopクラスタのHDFS名前ノードを指し示すように、$HADOOP_HOME/etc/hadoop/core-site.xmlfs.defaultFSフィールドを構成します。

1.9.4.2 Hadoopでのインメモリー・アナリストの実行

インメモリー分析およびHDFSを使用してJavaアプリケーションを実行する場合は、$HADOOP_HOME/etc/hadoopがクラスパス上にあり、構成がHadoopクライアント・ライブラリで選択されるようにします。ただし、インメモリー・アナリスト・シェルを使用する場合は、HADOOP_HOMEが設定されていれば自動的に$HADOOP_HOME/etc/hadoopがクラスパスに追加されるため、これは必要ありません。

その他のCloudera Hadoopライブラリ(JARファイル)をクラスパスに配置する必要はありません。YARNライブラリは、インメモリー・アナリストをYARNサービスとして起動する場合のみ必要です。これは、必要なJARファイルすべてがローカル・インストールからクラスパスに自動的に追加されるyarnコマンドを実行して行います。

これで、HDFSからデータをロードするか、インメモリー・アナリストをYARNサービスとして開始できるようになります。Hadoopの詳細は、CDH 5.x.xのドキュメントを参照してください。

1.10 マルチメディア分析サポートのインストールおよび構成

マルチメディア分析機能を使用するには、ビデオ分析フレームワークをインストールし、構成する必要があります。

1.10.1 マルチメディア分析の前提およびライブラリ

Oracle Big Data Spatial and GraphおよびOracle Big Data Applianceのライセンスが供与されている場合は、マルチメディア分析のビデオ分析フレームワークもインストールされ、構成されています。ただし、/opt/oracle/oracle-spatial-graph/multimediaを指し示すように$MMA_HOMEを設定する必要があります。

そうでない場合は、次のようにCloudera CDH 5または同様のHadoop環境でフレームワークをインストールできます。

  1. クラスタの各ノード上で、次のコマンドを使用してフレームワークをインストールします。

    rpm2cpio oracle-spatial-graph-<version>.x86_64.rpm | cpio -idmv

    dcliユーティリティを使用できます(クラスタ全体でのdcliユーティリティを使用したコマンドの実行を参照してください)。

  2. /opt/oracle/oracle-spatial-graph/multimediaを指し示すように$MMA_HOMEを設定します。

  3. 次のライブラリの場所を特定します。

  4. $MMA_HOME/opencv_3.1.0/libのすべてのlib*ファイルを、ネイティブのHadoopライブラリの場所にコピーします。

    Oracle Big Data Applianceでは、この場所は/opt/cloudera/parcels/CDH/lib/hadoop/lib/nativeです。

  5. 必要であれば、ビデオ・データをトランスコーディングするために必要なビデオ処理ソフトウェアをインストールします(「トランスコーディング・ソフトウェア(オプション)」を参照)。

1.10.2 トランスコーディング・ソフトウェア(オプション)

ビデオ・データのトランスコーディングには、次のオプションを使用できます。

  • JCodec

  • FFmpeg

  • サード・パーティ・トランスコーディング・ソフトウェア

製品に同梱されているJCodecでマルチメディア分析を使用するには、顔認識のHadoopジョブの実行中に、oracle.ord.hadoop.ordframegrabberプロパティをoracle.ord.hadoop.decoder.OrdJCodecFrameGrabberの値に設定します

FFmpegでマルチメディア分析を使用するには:

  1. https://www.ffmpeg.org/からFFmpegをダウンロードします。

  2. Hadoopクラスタ上でFFmpegをインストールします

  3. oracle.ord.hadoop.ordframegrabberプロパティをoracle.ord.hadoop.decoder.OrdFFMPEGFrameGrabberの値に設定します

カスタム・ビデオ・デコーディング・ソフトウェアでマルチメディア分析を使用するには、抽象クラスoracle.ord.hadoop.decoder.OrdFrameGrabberを実装します。詳細は、Javadocを参照してください