DSE Graph Loaderでのtransformの使用

DSE Graph Loaderでのtransformの使用方法

すべてのデータ入力では、ユーザー提供の機能に従って、入力データを再構築、操作、または切り詰めるための任意のユーザー変換をサポートしています。

各データ入力のデータ・レコードは、ドキュメント構造またはネストされたマップです。変換は、ネストされたマップなどに作用し、ネストされたマップを返します。提供された変換機能はスレッド・セーフである必要があり、そうでない場合は、データ・ローダーの動作が未定義になります。

手順

  • genderのカラム値を変換して、読み込み前に小文字に変換します。最初に入力ファイルが識別されます。入力ファイルを識別する行の下に、transform行をリストしてください。
    inputfiledir = '/tmp/TEXT/'
    authorInput = File.text(inputfiledir + "author.dat").delimiter("|").header('name', 'gender')
    authorInput = authorInput.transform { it['gender'] = it['gender'].toLowerCase(); it }

    変換は、ネストされたマップauthorInputの各gender値に対してtoLowerCase()メソッドを実行するGroovyスクリプトで、グラフのgender値が小文字のみになります。以下は、不慣れなユーザー向けの簡単なGroovyについての説明です。

  • transformは、マッピング・スクリプトの本文にも配置できます。入力ファイルは指定されたままですが、transformは読み込みステートメントの下にリストされます。
    inputfiledir = '/tmp/TEXT/'
    authorInput = File.text(inputfiledir + "author.dat").delimiter("|").header('name', 'gender')
    
    //(定義済みインラインとして)いずれかのマッパーを使用して読み込むデータ・ソースを指定します
      
    load(authorInput).asVertices {
    label "author"
    key "name"
    }
    
    authorInput = authorInput.transform { it['gender'] = it['gender'].toLowerCase(); it }