hdfs路径

ippsafx7  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(478)

我用java语言编写了以下用户定义函数:
我定义了filewriter,但执行后会显示一条错误消息。
课程: outputFile = new FileWriter("hdfs://NaeNode:9000/input/SG.csv",true); fw = new BufferedWriter(outputFile); 从udf:trial.u guess中捕获错误[hdfs:/naemnode:9000/input/sg.csv (无此类文件或目录)]
既然我在执行时使用了[pig-x mapreduce fie.pig],我该如何解决这个问题

tyky79it

tyky79it1#

要存储在hdfs中,必须使用fsdataoutputstream。
filesystem.create返回fsdataoutputstream。
请参见下面的代码。

  1. public static void main(String[] args) throws Exception {
  2. FSDataOutputStream fout = null;
  3. try {
  4. Path path = new Path("hdfs://NaeNode:9000/input/SG.csv");
  5. String data = "data";
  6. FileSystem fileSystem = FileSystem.get(new Configuration());
  7. if (!fileSystem.exists(path)) {
  8. fout = fs.create(path);
  9. } else {
  10. fout = fs.append(path)
  11. }
  12. BufferedWriter bufferedWriter = new BufferedWriter(
  13. new OutputStreamWriter(fout)
  14. );
  15. bufferedWriter.write(data);
  16. bufferedWriter.close();
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20. }
展开查看全部

相关问题