今天完成了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 }
读取文件:

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 }
来源:https://www.cnblogs.com/zjm15511858030/p/12259629.html
