DSE Graph Loaderリファレンス
DSE Graph Loaderリファレンス。
構文
graphloader loadingScript [[-option value]...]
オプションは、コマンドラインで呼び出すか、読み込みスクリプトに含めることができます。必須のオプションにはマークが付いています。
オプション | データ型 | デフォルト | 説明 |
---|---|---|---|
-timeout | 整数 | 120000 | 接続がタイムアウトになるまでの時間(ミリ秒単位)。 |
-graph | String | 読み込み先のグラフの名前。必須 | |
-address | String | 接続先のDSE GraphインスタンスのIPアドレス(およびポート)。必須 | |
-read_threads | 数字 | 1 | データ入力からデータを読み込むために使用するスレッドの数。 |
-load_threads | 数字 | 1 | グラフにデータを読み込むために使用するスレッドの数。 |
-dryrun | Boolean | false | データ・インテグリティとスキーマ整合性を検証するためだけに試行を行うかどうか。 |
-preparation | Boolean | true | データを分析し、必要に応じてスキーマを更新するための予備手順を実行するかどうか。 |
-create_schema | Boolean | false | 欠落しているスキーマ要素について、スキーマを更新または作成するかどうか。 |
-schema_output | String | proposed_schema.txt | ドライ・ランを実行する際に提案されたスキーマを保存するファイルの名前。無効にする場合は、空白のままにします。 |
-load_vertices_only | Boolean | false | 頂点のみを読み込み、辺とプロパティを無視します。 |
-batch-size | 数字 | 100 | 読み込むバッチのサイズ。 |
-queue-size | 数字 | 10000 | データ取得キューのサイズ。 |
-load_new | Boolean | false | 読み込まれた頂点が新規で、グラフにまだ存在しないかどうか。 |
-driver_retry_attempts | 整数 | 3 | リトライ試行回数。0より大きい場合、要求は回復可能な障害の後に再送信されます。 |
-driver_retry_delay | ミリ秒 | 1000 | ドライバーのリトライ間の時間(ミリ秒単位)。 |
-abort_on_num_failures | 整数 | 100 | 読み込みが中断される障害の回数。 |
-filename | String | 頂点データの読み込み元のファイル。マッピング・スクリプトで定義されていない場合は必須。 | |
-label | String | データが追加される頂点のラベル。空白のままにした場合、入力ファイルの名前が頂点ラベル名として使用されます。 | |
-compress | String | none | ファイルの圧縮。選択肢はnone、gzip、およびxzipです。 |
-reporting_interval | 整数 | 1 | ログに書き込まれた各進行状況レポート間の時間(秒単位)。 |
-abort_on_prep_errors | Boolean | true | 通常、準備時または中断した頂点の挿入フェーズ中にエラーが発生した場合、これをfalseに設定することで、許容される障害の最大数までローダーが動作を続行します。 |
-load_failure_log | String | load_failures.txt | 失敗したレコードが格納されるファイルの名前と場所。 |
-username | String | 認証用のユーザー名。 | |
-password | String | 認証用のパスワード。 |
構文の凡例
各文の構文セクションの形式には、以下のような意味があります。
- 大文字はリテラルを意味する
- 小文字は、リテラルでないことを意味する
- イタリック体は指定が任意であることを意味する
- パイプ(|)記号はORまたはAND/ORを意味する
- 省略記号(...)は繰り返し可能を意味する
- 範囲記号「(」および「)」はリテラルではなく、範囲を示す
説明
DSE Graph Loaderは、最大1億個の頂点と10億個の辺を読み込むためのユーティリティです。このユーティリティは、メモリー内のすべての頂点をキャッシュ可能で、読み込みプロセスを並列処理できるコアを持つ十分に強力なコンピューター上で実行されます。負荷がさらに大きい場合、ユーティリティを別のマシン上で実行する必要があります。
DSE Graph Loaderは、引数としての読み込みスクリプトと、構成オプション-値のペアの変数を持つコマンドラインで呼び出されます。読み込みスクリプトは、読み込まれる入力データと、そのデータをグラフにマップする方法を指定します。読み込みスクリプトによって、オプション-値のペアも構成されます。
読み込みプロセスには以下の3つの段階があります。
- 準備
- 入力データ全体を読み取ります。この段階で、データがグラフ・スキーマに一致するか、指定されたデータ(有効な場合)に従ってグラフ・スキーマが更新されます。この段階の終了時に、グラフに追加されるデータの量に基づいて統計的な推定値が与えられますが、データは読み込まれません。Set
に設定すると、準備段階が終了し、何らかの変化が生じる前に読み込みプロセスが中断します。出力を検査し、予想と一致していることを確認します。大きなデータセットの場合は、エラーを見つけるためにドライ・ランを実行することが重要です。-dryrunをtrue
- 頂点の読み込み
- 第2段階で、入力データのすべての頂点を追加または取得し、ローカルでキャッシュして、後続の辺の読み込みを迅速化します。
- 辺およびプロパティの読み込み
- 入力データのすべての辺およびプロパティをグラフに追加します。
読み込みスクリプトまたはマッピング・スクリプトは、入力ファイルからグラフにデータを読み込むために使用する特定のマッピングを指定するのに必要です。DSE Graph Loaderは、CSV、JSON、区切りテキスト、および正規表現で解析されたテキストという4つのファイルベースのデータ入力タイプをサポートしています。ファイルベースの入力形式はすべて、入力データ・ファイルの圧縮をサポートしています。
読み込みプロセス中のログ記録は、トラブルシューティングが必要な場合に役立つ情報を提供します。読み込みプロセスの3つの段階は、ログに詳しく記録されます。
例
使用可能なオプションのリストを取得するには、
-help
を使用します。$ graphloader -help
この例では、読み込みスクリプト
mymapscript.groovy
を使用して、ファイル/tmp/recipe/all.datのデータをlocalhost上で実行中のグラフtestに読み込みます。データを挿入せずに読み込みのテストを実行するには、ドライ・ランを指定します。$ graphloader mymapscript.groovy -filename /tmp/recipe/all.dat -graph test -address localhost -dryrun true
この例では、読み込みスクリプト
csv2Vertex.groovy
を使用して、ファイルMyUsers.csvのデータをlocalhost上で実行中のグラフcsvTestに読み込みます。-label
オプションによって、頂点ラベルはファイル名MyUsers
ではなくUser
になるように指定されます。 $ graphloader ./scripts/csv2Vertex.groovy -filename MyUsers.csv -graph csvTest -label User -address 127.0.0.1
大きなデータセットを読み込む場合、すべての頂点をキャッシュするようにヒープ・スペースを構成します。このコマンドによってJavaが実行され、DSE Graph Loaderのjarファイルが呼び出されます。例:
$ java -Xmx10g -jar dse-graph-loader.jar
読み込みスクリプトで構成設定も指定できます。create_schemaをtrueに設定し、load_threadsを3に設定する読み込みスクリプトの一部を以下に示します。
// CONFIGURATION
// スキーマを作成し、load_threadsを3に設定するようにデータ・ローダーを構成します
config load_new:true, load_threads: 3