今天完成了spark的第三个实验。

第三个实验涉及到一些Hadoop的知识,大部分已经想不起来了,经过今天的练习又温习了一遍,同时也接触到了使用Spark对本地文件或者是hdfs文件的一些操作,比如获取文件的行数等。

将hdfs的文件处理做了一下回顾

查看文件是否存在:

 1 import org.apache.hadoop.conf.Configuration;
 2 import org.apache.hadoop.fs.FileSystem;
 3 import org.apache.hadoop.fs.Path;
 4 public class HDFSFileIfExist {
 5     public static void main(String[] args){
 6         try{
 7             String fileName = "xinyue";
 8             Configuration conf = new Configuration();
 9             conf.set("fs.defaultFS", "hdfs://localhost:9000");
10             conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
11             FileSystem fs = FileSystem.get(conf);
12             if(fs.exists(new Path(fileName))){
13                 System.out.println("文件存在");
14             }else{
15                 System.out.println("文件不存在");
16             }
17  
18         }catch (Exception e){
19             e.printStackTrace();
20         }
21     }
22 }
View Code

读取文件:

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 
 4 import org.apache.hadoop.conf.Configuration;
 5 import org.apache.hadoop.fs.FileSystem;
 6 import org.apache.hadoop.fs.Path;
 7 import org.apache.hadoop.fs.FSDataInputStream;
 8 
 9 public class readFile {
10         public static void main(String[] args) {
11                 try {
12                         Configuration conf = new Configuration();
13                         conf.set("fs.defaultFS","hdfs://localhost:9000");
14                         conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");
15                         FileSystem fs = FileSystem.get(conf);
16                         Path file = new Path("test"); 
17                         FSDataInputStream getIt = fs.open(file);
18                         BufferedReader d = new BufferedReader(new InputStreamReader(getIt));
19                         String content = d.readLine(); //读取文件一行
20                         System.out.println(content);
21                         d.close(); //关闭文件
22                         fs.close(); //关闭hdfs
23                 } catch (Exception e) {
24                         e.printStackTrace();
25                 }
26         }
27 }
View Code

 

 posted on 2020-02-04 15:30  Aurinko  阅读(107)  评论(0编辑  收藏  举报