今天完成了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 }
自我抑郁又自我救赎