Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ubuntu中使用JAVA从配置单元导出CSV文件?_Java_Linux_Csv_Hadoop - Fatal编程技术网

如何在Ubuntu中使用JAVA从配置单元导出CSV文件?

如何在Ubuntu中使用JAVA从配置单元导出CSV文件?,java,linux,csv,hadoop,Java,Linux,Csv,Hadoop,我目前正试图通过应用以下代码通过Java导出CSV文件: import java.io.BufferedReader; import java.io.InputStreamReader; public class Octave { public static void main(String args[]) { String s; Process p; try { String command = "hadoop fs -cat /user/hive/w

我目前正试图通过应用以下代码通过Java导出CSV文件:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Octave {
public static void main(String args[]) {
    String s;
    Process p;
    try {
        String command = "hadoop fs -cat /user/hive/warehouse/new_cur2/* > /home/leo/new_cur2.csv";
        System.out.println(command);
        p = Runtime.getRuntime().exec(command);
        BufferedReader br = new BufferedReader(
            new InputStreamReader(p.getInputStream()));
        while ((s = br.readLine()) != null)
            System.out.println("line: " + s);
        p.waitFor();
        System.out.println ("exit: " + p.exitValue());
        p.destroy();
    } catch (Exception e) {}
    System.out.println("finish1");


}
}
但它不会导出,我正在尝试通过执行terminal命令导出,请问有人知道如何解决它吗? 此外,尝试这样做也不会奏效:

p = Runtime.getRuntime().exec(string[]{"hadoop", "fs", "-cat", "/user/hive/warehouse/new_cur2/*", ">", "/home/leo/new_cur2.csv"});

有错误/例外吗?很可能它无法定位“hadoop”脚本。此外,您还应该使用hadoop hdfs java API进行此操作。没有错误/异常,实际显示了注意事项。您需要像读取
p.getInputStream()
一样读取过程的错误流。为什么要使用java进行此操作?难道不能使用一个简单的
hdfs-dfs-get
?另外,Hadoop有一个专用的JAVA API用于读/写操作。Hive也有一个JDBC驱动程序,所以如果你真的想迭代一系列记录,你可以在一个标准的
ResultSet
。。。