- spark-sql直接读取文件路径;
- spark-sql直接读取路径时, 使用通配符;
- saprk读取单个及多个路径
1 SparkContext方式读取文件
spark.sparkContext.textFile方法返回一个rdd。
’
1.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")
注意:
- 每个路径都要定位到最后一级。
- 路径之间不能存在包含关系。
- 目录与文件不要混放,即放在同一个目录下。
- 路径中可使用通配符
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:_*)
注意:
- 每个路径都要定位到最后一级。
- 路径之间不能存在包含关系。
- 目录与文件不要混放,即放在同一个目录下。
- 路径中可使用通配符
’