Gryoデータの読み込み

DSE Graph Loaderを使用してGryoデータを読み込む方法。

DSE Graphとの間でデータのインポートおよびエクスポートを行うための1つのファイル形式が、バイナリー・ファイル形式のGryoです。GryoはKryoのGremlinバリアントで、Java用の高速かつ高効率なオブジェクト・グラフ・シリアライゼーション・フレームワークです。

Gryoデータのデータ・マッピング・スクリプトを説明とともに示します。完全なスクリプトは、ページの最後にあります。
注: DSE Graph Loaderでは、DSE GraphまたはTinkerGraphで生成されたGryoファイル、すなわち、Apache TinkerPopに含まれているインメモリー・グラフ・データベースを読み込むことができます。DSE Graphで生成されたGryoファイルは、TinkerGraph Gryoファイルと形式が異なり、各ソースからデータを読み込むためのマッピング・スクリプトが異なります

手順

  • 必要に応じて、マッピング・スクリプトに構成を追加します。
  • データ入力ファイルを指定します。変数inputfiledirは、入力ファイルのディレクトリーを指定します。識別されたファイルは、読み込みに使用されます。
    // DATA INPUT
    // データ入力ソースを定義します 
    // inputfiledirは入力ファイルのディレクトリーです 
    
    inputfiledir = '/tmp/Gryo/'
    recipeInput = Graph.file(inputfiledir + 'recipe.gryo').gryo()
  • ファイルはgryoファイルとして指定され、追加手順gryo()によって、このファイルがGryoファイルとして処理される必要があることが識別されます。マップrecipeInputが作成され、データの処理に使用されます。
    recipeInput = Graph.file(inputfiledir + 'recipe.gryo')

    File.csvまたはFile.jsonとは対照的に、Graph.fileが使用されることに注意してください。

  • マッピング・スクリプトの本文を作成します。マッピング・スクリプトのこの部分は、ファイル形式にかかわらず同じです。ただし、Gryoファイルではわずかに変更されたバージョンが使用されます。
  • ドライ・ランとしてGryo読み込みにDSE Graph Loaderを実行するには、以下のコマンドを使用します。
    graphloader recipeMappingGRYO.groovy -graph testGRYO -address localhost -dryrun true

    テスト目的の場合、graphloaderの実行前に、指定されたグラフが存在する必要はありません。ただし、実稼働用途では、graphloaderを使用する前にグラフとスキーマを作成する必要があります。

  • 完全な読み込みスクリプトは以下のとおりです。
    /* SAMPLE INPUT
    Gryoファイルはバイナリー・ファイルです
     */
    
    // CONFIGURATION
    // スキーマを作成するようにデータ・ローダーを構成します
    config create_schema:true, load_new:true
    
    // DATA INPUT
    // データ入力ソースを定義します 
    // inputfiledirは入力ファイルのディレクトリーです 
    
    inputfiledir = '/tmp/GRYO/'
    recipeInput = Graph.file(inputfiledir + 'recipe.gryo').gryo()
      
    load(recipeInput.vertices()).asVertices {
    labelField "~label"
    key "~id", "id"
    }
    
    load(recipeInput.edges()).asEdges {
    labelField "~label"
    outV "outV", {
    labelField "~label"
    key "~id", "id"
        }
    inV "inV", {
    labelField "~label"
    key "~id", "id"
        }
    }