Spark中直接操作HDFS
Spark作为一个基于内存的大数据计算框架,可以和hadoop生态的资源调度器和分布式文件存储系统无缝融合。Spark可以直接操作存储在HDFS上面的数据:
通过Hadoop方式操作已经存在的文件目录
val path = new
org.apache.hadoop.fs.Path("hdfs://xxx"); val hdfs = org.apache.hadoop.fs.FileSystem.get( new java.net.URI("hdfs://x", new org.apache.hadoop.conf.Configuration()) ); if(hdfs.exists(path) hdfs.delete(path,false))
通过spark自带的hadoopconf方式操作已经存在文件目录
val hadoopConf = sparkContext.hadoopConfiguration val hdfs = org.apache.hadoop.fs.FileSystem.get(hadoopConf) if(hdfs.exists(path)){ //为防止误删,禁止递归删除 hdfs.delete(path,false) }