加载数据使用Windows中的文件路径查询配置单元

时间:2016-09-02 06:10:07

标签: java hadoop hive

我正在尝试通过java程序在hive中加载数据。我从我的机器上加载文件。

stmt.executeQuery("load data local inpath  'file:///C:/sample/Documents/sample1.txt'  into table " + tablename);

当我执行此程序时,我收到以下异常

Caused by: java.lang.RuntimeException: java.net.URISyntaxException:Expected scheme-specific part at index 2: C:
    at java.net.URI$Parser.fail(URI.java:2829)
    at java.net.URI$Parser.failExpecting(URI.java:2835)
    at java.net.URI$Parser.parse(URI.java:3038)
    at java.net.URI.<init>(URI.java:753)

但是当我在ubuntu机器上执行程序时

stmt.executeQuery("load data local inpath  '/home/sample/sample1.txt'  into table " + tablename);

数据已正确加载到配置单元数据库。

当我在Windows中执行程序时,我得到了异常。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Windows中的

Path(Uri)语法与ubuntu不同。在ubuntu中我们使用正斜杠,就像在windows中我们使用反斜杠一样。

Windows:C:\ Users \ system \ Desktop \ db

Linux:/home/sample/sample1.txt'

因此,请尝试更改uri的语法。