一、HDFS相关操作
import org.apache.hadoop.fs.{FileSystem, Path,FileStatus,FileUtil}val hadoopConf = spark.sparkContext.hadoopConfigurationval hdfs = FileSystem.get(hadoopConf)val path = new(pathStr) // 创建 path对象hdfs.exists(path) // 判断路径是否存在hdfs.delete(path, true)hdfs.mkdirs(path)hdfs.getFileStatus(path).isDirectory() // 判断是否是文件夹val allFiles = FileUtil.stat2Paths(hdfs.listStatus(path)) // 得到路径下所有文件allFiles.filter(hdfs.getFileStatus(_).isDirectory()) // 筛选出路径下文件夹
可以参考:https://zhuanlan.zhihu.com/p/101274179
二、textFile、saveAsTextFile 使用
这两个函数是SparkContext函数方法。
import org.apache.spark.SparkContextimport org.apache.spark.SparkConfval conf = new SparkConf().setAppName(appName).setMaster(master)val sc = new SparkContext(conf)val path = "file1.txt,file2.txt" // 多文件读取val rdd = sc.textFile(path)rdd.saveAsTestFile(path_str) // 文件保存
三、SparkSession.read
不太常用,返回的DataFrame对象。
