我想使用来自 Java 的 CsvBulkLoadTool
将 csv 数据文件放入 HBase 表。
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.
顺便说一句,当我在 Ubuntu VM 上运行 java -jar
我的示例应用程序时,我得到了 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 虚拟机上的实际 jar 文件位置。
我使用了来自 here 的 CsvBulkLoadTool
样本.
此外,当我使用纯 JDBC 通过 Phoenix 连接和填充表时 - 一切正常。
最佳答案
CSVBulkloadTool 应作为 hadoop jar
运行。
所以我应该运行:
hadoop jar my-application-with-CSVBulkloadTool.jar
关于java - 从 Windows 运行时出现 Phoenix CsvBulkLoadTool 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46074501/