2017-09-06 44 views
1

我想使用來自Java的CsvBulkLoadTool將csv數據文件放到HBase表中。從Windows運行時Phoenix CsvBulkLoadTool錯誤

HBase和Phoenix正在Ubuntu VM上運行。

當我從Windows中運行CsvBulkLoadTool.run()我得到一個異常:

java.lang.IllegalArgumentException: Pathname /C:/Users/My_User/.m2/repository/org/apache/htrace/htrace-core/3.1.0-incubating/htrace-core-3.1.0-incubating.jar from hdfs://vm:9000/C:/Users/My_User/.m2/repository/org/apache/htrace/htrace-core/3.1.0-incubating/htrace-core-3.1.0-incubating.jar is not a valid DFS filename. 

順便說一句,當我java -jar在Ubuntu VM上運行我的示例應用程序,我得到NEX例外:

java.io.FileNotFoundException: File does not exist: hdfs://vm:9000/usr/local/phoenix-samples-1.0-SNAPSHOT-jar-with-dependencies.jar 

哪裏/usr/local/phoenix-samples-1.0-SNAPSHOT-jar-with-dependencies.jar是Ubuntu vm上的實際jar文件位置。

我使用CsvBulkLoadTool來自here的樣品。

此外,當我使用普通JDBC通過鳳凰連接和填充表 - 一切正常。

+1

我以爲CSV才能運行不得不在HBase的HDFS中的實例?是這樣嗎? –

回答

0

CSVBulkloadTool應作爲hadoop jar運行。

所以我應該運行: hadoop jar my-application-with-CSVBulkloadTool.jar