一、HDFS相关操作

  1. import org.apache.hadoop.fs.{FileSystem, Path,FileStatus,FileUtil}
  2. val hadoopConf = spark.sparkContext.hadoopConfiguration
  3. val hdfs = FileSystem.get(hadoopConf)
  4. val path = new(pathStr) // 创建 path对象
  5. hdfs.exists(path) // 判断路径是否存在
  6. hdfs.delete(path, true)
  7. hdfs.mkdirs(path)
  8. hdfs.getFileStatus(path).isDirectory() // 判断是否是文件夹
  9. val allFiles = FileUtil.stat2Paths(hdfs.listStatus(path)) // 得到路径下所有文件
  10. allFiles.filter(hdfs.getFileStatus(_).isDirectory()) // 筛选出路径下文件夹

可以参考:https://zhuanlan.zhihu.com/p/101274179

二、textFile、saveAsTextFile 使用

这两个函数是SparkContext函数方法。

  1. import org.apache.spark.SparkContext
  2. import org.apache.spark.SparkConf
  3. val conf = new SparkConf().setAppName(appName).setMaster(master)
  4. val sc = new SparkContext(conf)
  5. val path = "file1.txt,file2.txt" // 多文件读取
  6. val rdd = sc.textFile(path)
  7. rdd.saveAsTestFile(path_str) // 文件保存

三、SparkSession.read

不太常用,返回的DataFrame对象。