OSX マシン (10.11.6) 上の OrientDB 2.2.5 で ETL ローダーを動作させようとしていますが、入力 JSON ファイルで FileNotFoundException が発生し続けます...
post.csv および post.json ファイルのチュートリアルにある例からは外れます。パスは自分のパス構造とうまく一致しないため、パスを削除するように変更しました。
ここに私のpost.csvがあります:
id,title
10,NoSQL movement
20,New Orientdb
post.json ファイル:
{
"source": { "file": { "path": "post.csv" } },
"extractor": { "csv": {} },
"transformers": [
{ "vertex": { "class": "Post" } }
],
"loader": {
"orientdb": {
"dbURL": "plocal:dbtest",
"dbType": "graph",
"classes": [
{"name": "Post", "extends": "V"},
{"name": "Comment", "extends": "V"},
{"name": "HasComments", "extends": "E"}
], "indexes": [
{"class":"Post", "fields":["id:integer"], "type":"UNIQUE" }
]
}
}
}
環境変数 ORIENTDB_HOME を orientdb-community-2.2.4 がある場所に設定し、$ORIENTDB_HOME/bin をパスに入れました。
次のように入力すると:
$ oetl.sh post.json
出力は次のとおりです。
OrientDB etl v.2.2.4 (build 2.2.x@rf5282664db9300ef3358fb4d7e2066ad418c2e61; 2016-07-08 12:30:59+0000) www.orientdb.com
Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigurationException: Error on loading config file: post.json
at com.orientechnologies.orient.etl.OETLProcessor.parseConfigAndParameters(OETLProcessor.java:131)
at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:108)
Caused by: java.io.FileNotFoundException: post.json (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at com.orientechnologies.common.io.OIOUtils.readFileAsString(OIOUtils.java:140)
at com.orientechnologies.orient.etl.OETLProcessor.parseConfigAndParameters(OETLProcessor.java:120)
... 1 more
正しい修正方法がわからない... 私の問題は、以前に尋ねられた別の質問に似ているようですが、パスにスペースがないため、その修正はうまくいきませんでした。構成ファイルに絶対パスを設定しようとしましたが、何も変更されていません。
posts.json および posts.csv ファイルが配置されているディレクトリから oetl.sh を実行していますが、まだ posts.json を見つけることができないようです。
更新: 両方のファイル (posts.json、posts.csv) は同じディレクトリに配置されています。oetl.sh だけでなく oetl.sh posts.json も実行しようとしましたが、例外が発生し続けます。また、posts.json を編集して、完全な絶対パスも含まれるようにして、結果が変わらないようにしました。
どんな助けでも大歓迎です...おそらくある種のJava構成の問題だと思いますが、私はJavaに比較的慣れていないので、環境変数などを見逃している可能性がありますか?