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 Oracle Big Data SpatialViewer Webアプリケーションのインストール

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

1.7.1 SpatialViewerの前提

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

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

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

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

1.7.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.7.3 その他システム(Big Data Appliance以外)のSpatialViewerのインストール

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

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

1.7.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です

      この値を変更した場合は、サーバーを再起動する必要があります。

    • Spark構成ファイル: Spark構成ディレクトリ。デフォルトでは、/etc/spark/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のインストール・ディレクトリ。すべてのクラスタ・ノードにアクセス可能である必要があります。

      この値を変更した場合は、サーバーを再起動する必要があります。

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

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

  5. 必要に応じて、Spark構成を変更します。ラスター・プロセッサでは、追加の構成詳細を指定する必要があります。

    • spark.driver.extraClassPath, spark.executor.extraClassPath: これらのキーを使用して、Hiveライブラリのインストール環境を指定します。例: /usr/lib/hive/lib/*

    • spark.kryoserializer.buffer.max: データ・シリアライズのメモリーを入力します。例: 160m

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

    • 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.7.5 その他システム(Big Data Appliance以外)のSpatialViewerの構成

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

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

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

また、HadoopとSparkの構成を変更し、HadoopとSparkのインストール環境に応じてHadoopのconf.ディレクトリおよびSparkのconf.ディレクトリの値を置き換えます。

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

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

1.8.1 Apache HBaseの前提条件

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

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

1.8.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.8.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.8.4 インメモリー・アナリスト使用のオプションのインストール・タスク

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

1.8.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.8.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.9 マルチメディア分析サポートのインストールおよび構成

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

注意:

Big Data Spatial and Graphのマルチメディア・アナリティクス機能は、Big Data Spatial and Graphリリース2.5で非推奨となり、将来のリリースでサポートされなくなる可能性があります。マルチメディア・アナリティクス機能の代替機能はありません。

1.9.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.9.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を参照してください