大数据全系列 教程
1869个小节阅读:464.8k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
读取文件创建RDD,api方法为SparkContext类的textFile方法
xxxxxxxxxx
//path文件全路径名 支持本地文件、HDFS文件等 必填参数
//minPartitions 最小分区数 可选参数
textFile(path: String,minPartitions: Int =defaultMinPartitions): RDD[String]
演示代码:
xxxxxxxxxx
package com.itbaizhan.rdd
//1.导入SparkConf,SparkContext类
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object CreateByTextFile {
def main(args: Array[String]): Unit = {
//2.构建SparkConf对象,并设置本地运行和程序名
//val conf: SparkConf = new SparkConf().setMaster("local[1]").setAppName("textFile")
val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("textFile")
//3.通过conf创建SparkContext对象
val sc = new SparkContext(conf)
//4.通过textFile读取文件
//4.1.读取hdfs分布式文件系统上的文件
val hdfsRdd: RDD[String] = sc.textFile("hdfs://node1:9820/wordcount/input/wc.txt")
//val hdfsRdd: RDD[String] = sc.textFile("hdfs://mycluster/wordcount/input/wc.txt")
val hdfsResult: Array[String] = hdfsRdd.collect()
println("hdfsRdd分区数"+hdfsRdd.getNumPartitions)
println("hdfsRdd内容"+hdfsResult.mkString(","))
//4.2读取本地文件
val localRdd1: RDD[String] = sc.textFile("data/words.txt")
println("localRdd1分区数"+localRdd1.getNumPartitions)
println("localRdd1内容"+localRdd1.collect().mkString(","))
//5.设置最小分区数
val localRdd2: RDD[String] = sc.textFile("data/words.txt",3)
println("localRdd2分区数"+localRdd2.getNumPartitions)
println("localRdd2内容"+localRdd2.collect().mkString(","))
//6.最小分区数设置是一个参考值,Spark会有自己的判断,值太大Spark不会理会
val localRdd3: RDD[String] = sc.textFile("data/words.txt", 100)
println("localRdd3的分区数"+localRdd3.getNumPartitions)
}
}
运行结果:
xxxxxxxxxx
hdfsRdd分区数2
hdfsRdd内容hello tom,andy joy,hello rose,hello joy,mark andy,hello tom,andy rose,hello joy
localRdd1分区数2
localRdd1内容hello tom,andy joy,hello rose,hello joy,mark andy,hello tom,andy rose,hello joy
localRdd2分区数3
localRdd2内容hello tom,andy joy,hello rose,hello joy,mark andy,hello tom,andy rose,hello joy
localRdd3的分区数86
实时效果反馈
1. 以下关于读取文件创建RDD的方法 textFile(path: String,minPartitions: Int = defaultMinPartitions): RDD[String]
描述错误的是:
A 读取文件创建RDD,api方法为SparkContext类的textFile方法。
B path文件全路径名,支持本地文件、HDFS文件等 必填参数。
C minPartitions 最小分区数(可选参数),指定后分区可定为指定的值。
D RDD[String] 表示返回值为元素类型为String组成的RDD。
答案:
1=>C 该值只是一个参考值,太大spark会不采用。