spark 基本操作整理

Posted jason-dong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark 基本操作整理相关的知识,希望对你有一定的参考价值。

关于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)

 

以上是关于spark 基本操作整理的主要内容,如果未能解决你的问题,请参考以下文章

python+spark程序代码片段

Spark闭包与序列化

spark 基本操作整理

IOS开发-OC学习-常用功能代码片段整理

Spark:如何加速 foreachRDD?

VS2015 代码片段整理