目次


IBM Accelerator for Machine Data Analytics 第2部

新規のログタイプのスピーディーな分析

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: IBM Accelerator for Machine Data Analytics 第2部

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:IBM Accelerator for Machine Data Analytics 第2部

このシリーズの続きに乞うご期待。

はじめに

本シリーズの記事について

IBM Accelerator for Machine Data Analyticsの最も重要なメリットと強みは、ツールの設定とカスタマイズを簡単に行える点です。本シリーズの記事とチュートリアルの対象は、本アクセラレーターの概要を知り、独自の知見を獲得するためにマシンデータの分析をさらにスピードアップしたいと考えているユーザーです。

本チュートリアルについて

本チュートリアルは、IBM Accelerator for Machine Data Analyticsを使用してこれまでに分析したことのないタイプのデータを分析するプロセスをステップバイステップで説明します。この後の第3部では、第2部で説明した新規のログタイプを使用してインデックスを作成し、検索を行います。

本チュートリアルの目的

本チュートリアルでは以下について学ぶことができます。

  1. アクセラレーターに含まれる標準のサポート機能を使用して、新規のデータセットの分析を開始する。
  2. 分析に必要なフィールドで欠けているものを見極める。
  3. アクセラレーターをカスタマイズすることによって、今後の分析に使える独自のログタイプを作成する。

前提条件

BigInsightsのテキスト・アナリティクスとAQL (Annotation Query Language)に関する知識が必要です。BigInsightsのテキスト・アナリティクス・ツールに関する知識は役に立ちますが、必須ではありません。本シリーズの第1部: マシンデータのスピーディーな分析で、IBM Accelerator for Machine Data Analyticsを概観ください。

システム要件

本チュートリアルに記載されるプロセスを実行するには、以下が必要です。

  1. BigInsights v2.0がインストール済みであること。
  2. IBM Accelerator for Machine Data Analyticsがインストール済みであること。
  3. BigInsights v2.0のEclipseツールがインストール済みであること。
  4. マシンデータの分析を行うためのデータセット。本データをダウンロードするには、ダウンロード・セクションを参照してください。

さまざまなマシンデータの分析

本シリーズの第1部: マシンデータのスピーディーな分析では、ApacheのWebアクセス・ログやWebSphereのログのような既知のデータ型のマシンデータを使用する方法について学びました。また、generic (一般的な)ログタイプを使用して、アクセラレーターであまりよく知られていないログタイプを使用する方法についても学びました。

データが時系列のテキスト・データの場合は、新規のコードを一切作成することなくあらゆるマシンデータの分析に関して本手法を活用できます。

genericログタイプを使用すると、マシンデータに通常含まれるほとんどのフィールドを抽出することができます。データには名前の値のペアやXMLリーフタグの値が含まれることが多く、genericログタイプによってほとんどの重要な情報を抽出することができます。

このような手法を活用すると、特定の種類のデータ型を持つフィールドが抽出されなかった場合でも、アクセラレーターによって既存のルールをカスタマイズし、新規のルールを追加することができます。

このチュートリアルでは電子メール・データを使用し、本データを分析するために新規のログタイプを追加する以下の方法について確認します。

  • Eclipseツールを使用して既存のツールのカスタマイズや新規のルールの構築を行う方法
  • カスタマイズした本番用アプリケーションを通じて、カスタマイズしたルールを有効化する方法

架空のSample Outdoors社で発生した事態

第1部: マシンデータのスピーディーな分析では、Sample Outdoors社のデータ・サイエンティストはアプリケーション・スタック全体で発生したログを使用することで7月14日の土曜に発生した問題を把握することができました。問題の原因であると思われる要因を分析できたのです。

7月14日の土曜には多くの顧客が影響を受け、カスタマー・サポートセンターには顧客からの苦情のメールが大量に寄せられていました。Sample Outdoors社にとってはマイナスとなるニュースが発生する可能性があり、既存顧客と潜在顧客を失うリスクも発生しました。この問題に対応する方法としては、顧客が今後の購入の際に使用できる適切なディスカウント額のクーポンを提供することでした。7月14日はSample Outdoors社の夏季セール期間中の非常にトランザクションの多い日であり、膨大な数の顧客が影響を受けました。Sample Outdoors社では、電子メールでサポートセンターにコンタクトしてきた顧客に対してこのクーポンを提供したいと考えました。

そのために、Sample Outdoors社は顧客が注文しようとしたものの処理が完了しなかったデータと影響を受けた顧客の情報を全て検証する必要がありました。同社は、途中で処理が終了した注文データは既に保有していました。このデータに顧客の電子メール・アドレスを追加することで、顧客に関する情報および注文金額と注文の詳細内容を確認し、適切なクーポンを顧客に提供する必要があります。

新規のログタイプに基づいてマシンデータの分析をスピーディーに行うための10ステップ

特定のデータ型を分析するためにIBM Accelerator for Machine Data Analyticsを使用するにあたっては、以下の概要資料と特定機能の資料を参照してください。

  1. 分析対象の電子メール・データの準備を行う方法については、「新規のログタイプのデータを準備する」のセクションをご参照ください。
  2. generic ログタイプを使用し、抽出結果を検証し、欠けているフィールドを検出する方法については、「標準のサポート機能」のセクションをご参照ください。
  3. 抽出アプリケーションのカスタマイズを行うためにEclipse環境を設定する方法については、「抽出アプリケーションのカスタマイズの準備をする」のセクションをご参照ください。
  4. 抽出アプリケーションの機能を確認するには、「抽出アプリケーションの機能を理解する」のセクションをご参照ください。
  5. テキスト・アナリティクスを実現するEclipseツールの機能を確認するには、「ツールの機能を確認する」のセクションをご参照ください。
  6. 電子メールに特化したフィールドを抽出する新規のルールを使用し、テストを行う方法については、「独自の電子メールのログタイプを作成する」のセクションをご参照ください。
  7. 電子メール・データに対して使用したテキスト・アナリティクスのルールを検証するには、「コードを理解する」のセクションをご参照ください。
  8. 新規のログタイプをその他のアプリケーションでも使用可能にするための、データ項目の名前の付け方を理解するには、「名前の設定方法を理解する」のセクションをご参照ください。
  9. BigInsightsのクラスターに対してカスタマイズ済みのアプリケーションを有効化するには、「カスタマイズが完了したアプリケーションを有効化する」のセクションをご参照ください。
  10. カスタマイズ済みの抽出アプリケーションを使用して電子メール・データを抽出し、抽出結果を参照するには、「新規のログタイプを活用する」のセクションをご参照ください。

Sample Outdoors社による電子メール・データの活用

Sample Outdoors社のデータ・サイエンティストはカスタマー・サポートセンターが受領した電子メールを活用したいと考えました。まず、7月14日の土曜に発生したシステム停止の際に顧客から受領した苦情の電子メールのデータを確認し、その後本データを活用することで、受注金額の総額を確認し、顧客ロイヤリティー・データを検証し、適切なディスカウント情報を顧客に電子メールで提供することができます。

同社はcustomersupport@sampleoutdoors.comおよびwebsupport@sampleoutdoors.comから電子メール・データを収集し、IBM Accelerator for Machine Data Analyticsを使用して分析を開始しました。

新規のログタイプのデータを準備する

customersupport@sampleoutdoors.comから収集した電子メール・データを含むバッチは、ダウンロード・セクションから入手できます。

以下のステップを実行します。

  1. ダウンロード・セクションからcode_and_data.zipをダウンロードし、ファイルを展開します。
  2. AQLという名前のディレクトリーがあります。このディレクトリーのコンテンツを頻繁に参照することになります。このチュートリアルでは、後ほどemail.aqlとextractor_email.aqlを使用します。
  3. input_batchesという名前のディレクトリーがあります。本ディレクトリーには、Batch_inboxという名前のバッチ・ファイルが含まれています。Batch_inboxには、リスト1に示される電子メール・データが含まれています。本データは、Sample Outdoors社がカスタマー・サポートセンターの受信ファイルに受信した電子メールのデータを指します。
    電子メール・データ
    Message-ID: <16159836.1075855377439.JavaMail.evans@thyme>
    Date: Sat, 14 July 2012 08:36:42 -0800 (PST)
    From: john.doe@gmail.com
    To: customersupport@sampleoutdoors.com
    Subject: FW: Cannot purchase 
    Mime-Version: 1.0
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit
    X-From: john doe
    X-To: customersupport
    X-cc: 
    X-bcc: 
    X-Folder: \customersupport_July2012\Notes Folders\Inbox
    X-Origin: customersupport
    X-FileName: customersupport.nsf
                                            
    Hi
    I am still not able to purchase items on Sample Outdoors. I urgently need
    to get these items. 
                                            
    Thanks,
    John
                                            
                                            
    -----Original Message-----
    From: 	Doe, John  
    Sent:	Saturday, July 14, 2012 4:06 PM
    To:	customersupport@Sampleoutdoors.com
    Subject: Cannot purchase
                                            
    Hello,
                                            
    I am having trouble purchasing items on your website. Is there a known issue,
    any estimate on when it will be fixed?
                                            
    Thanks,
    John
    
    Message-ID: <13556517.1075852726971.JavaMail.evans@thyme>
    Date: Sat, 14 July 2012 08:59:02 -0700 (PDT)
    From: mary.jane@yahoo.com
    To: websupport@sampleoutdoors.com
    Subject: Problem with purchases
    Cc: customersupport@sampleoutdoors.com
    Mime-Version: 1.0
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit
    X-From: mary jane
    X-To: websupport
    X-cc: customersupport
    X-bcc: 
    X-Folder: \websupport_July2012\Notes Folders\Inbox
    X-Origin: websupport
    X-FileName: websupport.nsf
    
    Hi
    I am unable to purchase on your website. Please help!!!
    
    Mary

    Batch_inboxには、リスト2に示されるmetadata.jsonも含まれます。

    受信トレイの電子メール・データのバッチに関するmetadata.json
    {preTimestampRegex:"((\\n)|(\\r))+Date:\\s", logType:"generic",
    batchId:"batch_inbox", dateTimeFormat:"EEE, dd MMM yyyy H:mm:ss Z", 
    missingDateTimeDefaults:[] }

    標準で抽出可能な全てのフィールドを検出するには、まずgenericのログタイプを使用する必要があります。

  4. HDFS (Hadoop File System)に本データをアップロードします。図1は、データのアップロードが完了した後のHDFSのディレクトリー構造を示しています。BigInsightsのコンソールを使用することで、HDFSのディレクトリー構造を作成し、HDFSにファイルをアップロードすることができます。
    図1. HDFSにアップロードした電子メール・データ

注意: データのサイズが大きい場合や、複数のバッチでデータが提供される場合は、IBM Accelerator for Machine Data Analyticsに含まれるインポート・アプリケーションの使用を検討ください。

標準のサポート機能

次に、抽出アプリケーションを起動し、抽出結果を検証します。本シリーズの第1部: マシンデータのスピーディーな分析の「簡単にデータの準備を行う - 既知のログタイプ」および「未知のログタイプ」のセクションを参照することで、さまざまなログタイプをサポートする標準機能の詳細について確認することができます。

以下のステップを実行します。

  1. 図2で示されるパラメーターを使用して抽出アプリケーションを起動します。ソース・ディレクトリーは/GOMDADemo/input_batchesで、出力パスは/GOMDADemo/output/extract_outです。
    図2. genericのログタイプに基づいて、電子メール・データに対して抽出アプリケーションを起動する

    注意: Source directoryの欄にはソース・ディレクトリーの下に1つのバッチしか含まれない場合でも複数のバッチを含むディレクトリーを入力します。こうすることで、1度に1つ以上のバッチに対してアプリケーションを起動することができます。

  2. 出力パスのコンテンツを検証します。図3のステップを実行し、CSV形式で表示される抽出結果を参照します。その後、ワークブックをemail_genericとして保存します。
    図3. 抽出結果をスプレッドシート形式で参照する

    注意: 出力ディレクトリーには、バッチごとにbatchIDの名前が付いたディレクトリーが含まれます。batchIDの名前が付いたCSVファイルが生成され、各バッチに関するトップ2,000件の抽出データが含まれます。

    extract.configの設定を変更することで、データを全て抽出したり、もしくは全て抽出しないように設定することができます。標準の設定は/accelerators/MDA/extract_config/extract.configに保存されていますが、この設定をコピーし、他のロケーションに保存することができます。

  3. 抽出結果を検証し、プライマリー・タイムスタンプとレコードの境界が正確に検出されていることを確認します。さらに、タイムプスタンプの正規化が正確に行われていることを確認します。これらのデータは、metadata.jsonに含まれる値に基づいて抽出されたものです。

    図4は、batch_inbox.csvのスプレッドシートに含まれる列を示しています。

    図4. 抽出結果を検証する

    charset列は名前の値のペアのルールにgenericのルールを設定したことによって抽出されたものです。あるレコードには数多くの名前の値のペアが存在することがあるため、CSVファイルには最初の値だけが抽出されます。本シリーズの次の記事では、検索のユーザーインターフェースで抽出した全てのフィールドをビジュアルに表示する方法について確認することができます。

    データにXMLコンテンツが含まれる場合は、リーフタグのペアに関する同様の抽出結果が確認できます。最初のペアがCSVファイルにエクスポートされますが、検索インターフェースを使用することで全ての抽出結果を確認することができます。

  4. 検証で問題が発生した場合は、その時点で修正を行う必要があります。期待通りの抽出結果が得られなかった場合は、そのような結果を発生させた重要な情報をダブルチェックする必要があります。

    レコードの境界が不正確に検出されている場合や、LogDateTimeの値が間違っている場合は、プライマリー・タイムスタンプの形式をダブルチェックします。本情報は、metadata.jsonのdateTimeFormatを指します。さらにタイムスタンプの前の正規表現をチェックします。本情報は、metadata.jsonのpreTimestampRegexを指します(該当する場合)。

    LogDateTimeNormalizedの不正確な値を修正するには、上記に加えてプライマリー・タイムスタンプに欠けている情報をダブルチェックします。本情報は、metadata.jsonのmissingDateTimeDefaultsを指します(該当する場合)。

    抽出結果を示すCSVファイルのヘッダーに期待していたフィールドが見つからない場合は、選択したログタイプをダブルチェックします。本情報は、metadata.jsonのlogTypeを指します。

    電子メールの重要なフィールド(送信先や送信元など)が抽出されない場合があります。本情報は、電子メール・データの分析には必須の情報です。 次のページでは、抽出アプリケーションをカスタマイズすることで、電子メール・データの重要フィールドを抽出します。

抽出アプリケーションのカスタマイズの準備をする

抽出アプリケーション用のBigInsightsプロジェクトとして提供されたソースコードを使用することで、電子メール・データをさらに効果的に分析することができます。

以下のステップを実行します。

  1. BigInsightsのEclipseツールをインストール済みのEclipseインスタンスを開きます。BigInsightsのEclipseツールのインストールに関するより詳細な情報を確認するには、BigInsightsのコンソールを開き、Consoleタブにアクセスします。その後、Quick Linksの下のEnable your Eclipse development environment for BigInsights application developmentを選択します。提供される指示にしたがって、Eclipseツールをインストールします。
  2. binフォルダーに含まれる、アクセラレーターをインストールしたディレクトリーにおいて、抽出アプリケーションのソースプロジェクト(MDAExtractionApp_eclipse.zip)があることを確認します。
  3. MDAExtractApp_eclipse.zipをEclipseプロジェクトとしてインポートします。まず、BigInsightsを起動します。WindowメニューからOpen Perspectiveを選択し、その後BigInsightsを選択します。このメニューがリストに表示されない場合は、Otherの下に存在している場合があります。
  4. Project Explorer上でImportメニューを右クリックし、Existing Projects into workspaceを選択します。
  5. ウィザードでarchive fileを選択します。MDAExtractApp_eclipse.zipをクリックします。
  6. Finishをクリックします。

これで、抽出アプリケーションのソースコードのインポートが完了しました。次に、本プロジェクトの構造の概要について確認します。

抽出アプリケーションの機能を理解する

抽出アプリケーションの概要については、本シリーズの第1部: マシンデータのスピーディーな分析の「テキストから情報を抽出」のセクションを参照してください。

以下のステップを実行します。

  1. 本抽出アプリケーションは既知のいくつかのログタイプに関して一連のルールを提供し、あまりよく知られていないログタイプについては一般的なルールを提供します。AQLフォルダーを展開のうえ、このような一連のルールを含むファイルを参照してください。図5は、ログタイプごとにAQLのルールがどのように設定されているのかを示したものです。
    抽出アプリケーションの構造

    一定の方法で名前が設定されていることに注目してください。ログタイプごとに、該当するextractor_logtype.aqlファイルが設定されています。電子メール・データのログタイプを作成する際には、この方法にしたがってファイルを設定する必要があります。

    図5は、標準のログタイプに対して設定されたextractor_logtype.aqlファイルを示しています。extractor_logtype.aqlは、該当するログタイプに関する全てのルールを含むトップレベル・モジュールです。通常、各ログタイプに関する全てのルールはサブディレクトリーに存在します。

  2. commonディレクトリーに含まれるAQLルールを見てみましょう。一連の一般的なルールが設定されています。commonディレクトリーを展開すると、図6のとおりAQLルールが設定されています。
    図6. genericログタイプに関するAQLルール

    同様に、既知のログタイプに関する全てのルールを確認することもできます。

  3. AQLルールを呼び出すのは、カスタムのJAQLモジュールです。JAQLモジュールに含まれる、コンパイル済みのAQLルールを参照するには、src/jaql/custom_modulesフォルダーを展開します。図7は、カスタム・モジュールに含まれるコンパイル済みのルールを示しています。
    図7. カスタム・モジュールに含まれるコンパイル済みのAQLルール
  4. 表示される情報に一定の方法で名前が設定されていることに注意してください。カスタム・モジュールまたは抽出機能のフォルダーにおいて、ログタイプごとに該当するextractor_logtype.tamファイルが設定されています。電子メール・データのログタイプを作成するには、このことに留意する必要があります。本抽出アプリケーションには複数のその他のJAQLスクリプトとJavaベースのUDFが含まれますが、新規のログタイプを作成する際にはこれらは関係ありません。

これらのAQLを変更することで、既存の既知のログタイプやgenericログタイプに対応する既存のルールを変更でき、既存の既知のログタイプやgenericログタイプに対応する新規のルールを作成することができます。

ツールの機能を確認する

コードの変更を行う前に、ツールの使い方を簡単に確認します。

簡単にチェックしてみましょう。電子メール・データのあるレコードに対して一連の一般的なルールを実行し、どのような結果が発生するか観察します。

以下のステップを実行します。

  1. プロジェクトの下に、dataという名前のディレクトリーを作成します。
  2. one_emailという名前のファイルを追加します。ダウンロード・セクションで提供されるcode_and_data.zipファイルから本ファイルを取得できます。本ファイルには、電子メール・データの1つのレコードが含まれています。
  3. 次に、一般的なデータセットに関するAQLルールを実行します(図8を参照)。
    1. プロジェクトを右クリックし、Run Asを選択します。
    2. Run Configurationsをクリックします。
    3. ウィザードでText Analyticsをクリックします。
    4. 左上のLaunch New Configurationアイコンをクリックします。
    5. 本コンフィギュレーションの名前としてemail_genericを設定します。
    6. モジュールにおいて、extractor_genericを選択します。
    7. 入力する文書を保存するロケーションとしてMDAExtractApp/dataを選択します。
    8. Runをクリックします。
    図8. コンフィギュレーションを起動し、電子メール・データに関する一般的なAQLルールをテストする
  4. 実行結果は、図9のとおり表示されます。
    図9. 電子メール・データに関する一般的なAQLルールの実行結果

注意: Date、Time、およびDateTime を検出するAQLルールは、あるレコードに含まれる全てのタイムスタンプを検出します。特にLogDateTimeで示されるプライマリー・タイムスタンプは、このルール以外のルールによって検出されます。

独自の電子メールのログタイプを作成する

トップレベルのテキスト・アナリティクス・モジュールが新規の電子メールのログタイプを設定するにあたっては、シンプルな名前の設定方法にしたがう必要があります。標準のログタイプが同様の名前の設定方法を使用することについては既に確認しました。この名前の設定方法にしたがうことは重要です。というのも、新規の電子メール・データのログタイプはアクセラレーターに含まれる抽出アプリケーションやその他のアプリケーションと連携する必要があるためです。

本シリーズの次の記事では、新規に作成したログタイプをインデックスの設定と検索の実行の際にどのように活用できるのかを確認します。 まず、emailという名前のログタイプを作成します。その後、extractor_emailという名前のトップレベルのテキスト・アナリティクス・モジュールを作成する必要があります。

以下のステップを実行します。

  1. AQLフォルダーの下に、emailという名前の新規フォルダーを作成します。
  2. email.aqlをダウンロードします。本ファイルは、ダウンロード・セクションで提供されるcode_and_data.zipファイルから入手できます。本ファイルには、電子メールのログタイプに関するAQLルールが含まれます。
  3. 電子メールのフォルダーにemail.aqlファイルをインポートします。
  4. AQLフォルダーの下に、extractor_emailという名前の新規フォルダーを作成します。
  5. ダウンロード・セクションで提供されるcode_and_data.zipファイルからextractor_email.aqlをダウンロードします。本ファイルには、email.aqlファイルに含まれる電子メール・データに関するルールが含まれています。
  6. extractor_email.aqlファイルをextractor_emailフォルダーにインポートします。電子メール・データに対して実行できる新規のAQLルールが設定されます。
  7. テキスト・アナリティクスのコンフィギュレーションにおいて、今回はモジュールについてextractor_emailを選択することで、MDAExtractAppを再度実行します(図10を参照)。
    図10. 電子メールのログタイプを使用してプロジェクトを実行する
  8. Annotation Explorerで実行結果を参照します。さらに、Annotation Explorerで表示される項目をダブルクリックすることで、電子メール・データのコンテキストに基づいて実行結果を確認することもできます。
  9. 電子メール・データの送信先(To)と送信元(From)のフィールドが正しく抽出されていることを確認します(図11を参照)。
    図11. 電子メールのログタイプを実行した結果を参照する

コードを理解する

email.aqlおよびextractor_email.aqlに含まれるコードを検証します(リスト3を参照)。

リスト3. email.aql
|--------10--------20--------30--------40--------50--------60--------70--------80--------|
module email;
                
create view email_base as 
select 
R.match 
from 
Regex(/([A-Za-z.\d;'\-<>]+\@[A-Za-z.\d;'\-<>]+(?=(?=,)\s*[A-Za-z.\@\d';\
-<>]+|))/, Document.text) R;
create view toEmail as 
select 
e.match
from
email_base e
where MatchesRegex(/To:\s/, LeftContext(e.match, 4));
                
create view To as 
select D.match as span, GetText(D.match) as text, GetString('To') as field_type
from toEmail D;

export view To;

create view fromEmail as 
select 
e.match
from
email_base e
where MatchesRegex(/From:\s/, LeftContext(e.match, 6));

create view From as 

select D.match as span, GetText(D.match) as text, GetString('From') as field_type
from fromEmail D;    

export view From;

コードには以下が含まれることを確認します。

  • ベースビューであるemail_baseが作成されたこと。
  • 送信者を示す電子メール・データを抽出するために、fromEmailというビューが作成されたこと。
  • fromEmailのビューから、Fromというビューが作成されたこと。これが、エクスポートの対象となる最終のビューです。
  • 受信者を示す電子メール・データを抽出するために、toEmailというビューが作成されたこと。
  • toEmailのビュー内にToというビューが作成されたこと。これが、エクスポートの対象となる最終のビューです。

注意: エクスポートの対象となる最終のビューは、以下のシンプルな名前の設定方法に必ずしたがう必要があります。

  • ビューには、spanという名前のフィールドが必ず含まれる必要があります。本フィールドは、検出された値のスパンを指します。
  • ビューには、textという名前のフィールドが必ず含まれる必要があります。本フィールドは、検出されたテキストの値を指します。
  • ビューには、field_typeという名前のフィールドが必ず含まれる必要があります。本フィールドはビューを指します。

このような名前の設定方法がどのような意味をもつのかについては後ほど説明します。その前にまずは、カスタム・アプリケーションを有効化します。

名前の設定方法を理解する

抽出したビューとテキスト・アナリティクス・モジュールの名前の設定方法を遵守することは重要です。

抽出アプリケーションを起動し、metadata.jsonに含まれるlogtypeフィールドにemailという値が見つかる場合は、以下のプロセスが実行されています。

  • 抽出アプリケーションは、カスタムのJAQLモジュールにおいてextractor_emailという名前のコンパイル済みのテキスト・アナリティクス・モジュールの検出を行いました。新規のAQLを作成した場合は、コンパイル済みのモジュールは自働的にこのロケーションに生成されます。このモジュールが見つからない場合は、extractor_genericを使用するように標準で設定されています。
  • カスタマイズしたアプリケーションの有効化・実装・実行を行った後に、サンプルの実行結果を含むCSVファイルを確認できます。このCSVファイルのヘッダーの値は、extractor_emailモジュールからエクスポートした各ビューに含まれるfield_typeの各フィールドを指します。

本シリーズの次の記事では、extractor_emailモジュールからエクスポートした各ビューに含まれるfield_typeの各フィールドに基づいて、ファセット検索を実行できることを確認します。

カスタマイズが完了したアプリケーションを有効化する

MDAExtractionAppをBigInsightsのクラスターに実装する準備ができました。

以下のステップを実行します。

  1. 1. アプリケーション名を変更します。これにより、実装中にインストール済みの抽出アプリケーションの上書きが発生しないようにします。BIAppフォルダーを展開し、application.xmlを開きます。図12のとおり、名前をExtractionEmailに変更します。
    図12. アプリケーション名を変更する

    アプリケーションを有効化する準備が完了しました。次に、ツールでBigInsightsクラスターを設定します。

  2. 2. テキスト・アナリティクス・ツールがマルチリンガル・トークナイザーではなく標準のトークナイザーを使用するように設定します(まだこの設定を行っていない場合)。
    1. Windows -> Preferencesとクリックし、BigInsightsを展開し、Text Analyticsを選択します。
    2. 図13のとおり、Show advanced tab in Text Analytics project property pageを選択します。
      図13. Text Analyticsの設定
    3. MDAExtractAppのプロジェクトを右クリックし、Propertiesを選択します。
    4. テキスト・アナリティクスに関してUse the default Standard tokenizer configuration を選択します(図14を参照)。
      図14. 標準のトークナイザーを使用するよう設定する
  3. BigInsightsサーバーのビューからBigInsights serversを右クリックし、Newを選択し、図15のとおりウィザードで情報を入力することで、使用しているBigInsightsサーバーを追加します。
    図15. BigInsightsサーバーを追加する
  4. MDAExtractionAppをクリックし、BigInsights Application Publishを選択します。
  5. ウィザードで表示される最初の5ページにおいて標準の設定を一切変更せず、Nextを選択します。
  6. アプリケーションを有効化するページにおいて、Add JAQL moduleをクリックします。
  7. src/jaqlフォルダーに含まれるcustom_modulesを選択します。
  8. Finishをクリックします。アプリケーションが問題なく有効化されたことを示すメッセージが表示されます。

新規のログタイプを活用する

ExtractionEmailアプリケーションを実行できるようになりました。

以下のステップを実行します。

  1. まず準備済みのバッチデータを変更し、genericログタイプではなく電子メールのログタイプであることを設定します。この変更を行うには、metadata.jsonファイルを変更します。BigInsightsのコンソールからFilesタブをクリックし、GOMDADemo/input_batches/batch_inbox/metadata.jsonをクリックします。
  2. Editボタンをクリックし、ログタイプをemailに変更し、Saveをクリックします。リスト4のとおりmetadata.jsonが表示されます。
    リスト4. metadata.json
    |----10----20----30-----40-----50-----60-----70-----80
    {preTimestampRegex:"((\\n)|(\\r))+Date:\\s", logType:"email",\
    batchId:"batch_inbox", 
    dateTimeFormat:"EEE, dd MMM yyyy H:mm:ss Z", \
    missingDateTimeDefaults:[] }
  3. 次に、有効化が完了したアプリケーションを実装します。ApplicationsタブからManageをクリックし、 ExtractionEmailを選択し、Deployをクリックします(図16を参照)。
    図16. ExtractionEmailアプリケーションを実装する
  4. 図2と似たステップにしたがってExtractionEmailアプリケーションを実行しますが、今回はソース・ディレクトリーとして/GOMDADemo/input_batchesを設定し、出力パスとして/GOMDADemo/output_email/extract_outを設定します。
  5. Runをクリックします。
  6. 行結果を参照するには、Application HistoryyからOutputのアイコンをクリックすると、/GOMDADemo/output_email/extract_out/batch_inbox.csvにアクセスできます。電子メールの送信先と送信元を示すToFromの列のデータが表示されます(図17を参照)。
    図17. カスタマイズ済みのExtractionEmailアプリケーションの実行結果を参照する

これで抽出アプリケーションのカスタマイズが完了し、電子メール・データから情報を抽出できるようになりました。

結論

本チュートリアルでは、電子メール・データに対応するために全く新規のログタイプを作成しました。このログタイプに既存のルールを追加することで、さらにログタイプの機能を拡張することもできます。

Sample Outdoors社では、抽出アプリケーションの設定を変更することで、トップ2,000件のレコードではなく全てのレコードをCSVファイルにエクスポートしました。顧客からの受注データに電子メール・データを組み合わせることにより、さらにアドホックの分析を実行し、フォローアップが必要な顧客を見極めることができました。

謝辞

本記事の技術面のレビューを行ってくれたAmit Raiに感謝します。また、本フィーチャーの開発に携わったマシンデータ・アクセラレーターのチームにも感謝します。さらに、BigInsightsツールに関して支援を提供してれたThomas FriedrichとRobin Noble-Thomasにも感謝します。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=953400
ArticleTitle=IBM Accelerator for Machine Data Analytics 第2部: 新規のログタイプのスピーディーな分析
publish-date=11222013