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)

猜你喜欢

转载自www.cnblogs.com/jason-dong/p/9853570.html