Spark读取单路径及多路径下的文件

1 sparkContext方式读取文件

spark.sparkContext.textFile方法返回一个rdd。

1.1 单路径读取

Spark读取单路径及多路径下的文件_第1张图片

val rdd=spark.sparkContext.textFile(path)

1.2 多路径读取

1) 方式01

val rdd=spark.sparkContext.textFile("D:\\data\\test_table\\*=1,D:\\data\\test_table\\key=2")

注意

  1. 每个路径都要定位到最后一级。
  2. 路径之间不能存在包含关系。
  3. 目录与文件不要混放,即放在同一个目录下。
  4. 路径中可使用通配符

2) 方式02

val path = "D:\\data\\test_table\\*=1"
val path2 = "D:\\data\\test_table\\*=2"
val arrPath = Array(path, path2)
val rdds = arrPath.map(spark.sparkContext.textFile(_))
val union_rdd = spark.sparkContext.union(rdds)

注意:路径规则同“上面的单路径读取”。

2 sparkSession方式读取文件

spark.read.textFile方法返回只有一列value的DataSet表。
spark.read.text方法返回只有一列value的DataFrame表。

2.1 单路径读取

val ds = spark.read.textFile(path)

2.2 多路径读取

val path = "D:\\data\\test_table=2\\*=1"
val path2 = "D:\\data\\test_table=2\\key=2"
val arrPath = Array(path, path2)
val ds = spark.read.textFile(arrPath:_*)

注意

  1. 每个路径都要定位到最后一级。
  2. 路径之间不能存在包含关系。
  3. 目录与文件不要混放,即放在同一个目录下。
  4. 路径中可使用通配符

3 通配符的使用

Spark读取单路径及多路径下的文件_第2张图片

你可能感兴趣的:(spark,spark)