关于spark 的详细操作请参照spark官网
scala 版本:2.11.8
1.添加spark maven依赖,如需访问hdfs,则添加hdfs依赖
groupId = org.apache.spark artifactId = spark-core_2.11 version = 2.3.2 groupId = org.apache.hadoop artifactId = hadoop-client version = <your-hdfs-version>
2.sparkcontext 的创建
val conf = new SparkConf().setAppName("example").setMaster("local[*]") val sc = new SparkContext(conf) sc.stop()
sc 使用结束,记得关闭
3.创建rdd
1)parallelized 方法
val words = sc.parallelize(Array("dong","jason","puma","large"),2)
2)读取外部数据
val rdd = sc.textFile("path_to_file(local or hdfs)")
一个放重要的概念,partitions,spark在逻辑上回对数据进行分区,每个分区会安排一个task来处理,textfile 如果读取的时hdfs,则默认partitions 是 文件的block数,
一般情况下为资源中每个cpu分配 2-4 个task为宜
4. SparkContext.wholeTextFiles
val rdd = sc.wholeTextFiles("./") rdd.take(1).foreach(println) ----------------------------------- (file:/C:/notos/code/sailertest/aa.csv,name,age jason,29 dong,27)
其输出结果时一个元组,(filepath,filecontent)
原文地址:https://www.cnblogs.com/jason-dong/p/9853570.html
时间: 2024-11-08 20:00:05