Spark听课笔记 (3)

本文探讨了Spark在大数据处理中的优势与局限性,包括其不支持记录级别的粗粒度更新操作,以及在迭代更新场景下的不足。同时,文章介绍了如何通过Spark结合Kafka、Flume等工具实现对Storm的替代,尤其是在容忍分钟级延迟的应用中。此外,还详细讲解了Spark中RDD的创建方式及其在不同数据源上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark的局限性:(1)粗粒度的更新操作,不支持记录级别的。(2)迭代的更新场景,与前面有个,更新很可能只更新部分数据,所以不合适。Flink支持迭代更新。

Spark+kafka+flume能够替换Storm,只要能容忍分钟级的delay。

也可以做到毫秒级。

第15课
第一个RDD是系统初始的数据,然后再做transformation
方式有

  1. 程序中的集合(collection)创建RDD。
  2. 本地文件系统
  3. 通过HDFS
  4. 基于DB
  5. 基于NoSQL
  6. 基于S3
  7. 基于数据流(spark streaming, socket)
    等等等等

####意义在哪里?

  1. 通过集合创建RDD的实际意义是测试
  2. 通过本地文件系统创建RDD的意义是测试比较大的文件,数据量大一点
  3. 使用HDFS来创建RDD是生产环境最常用的方式。

方式一:

val conf = new SparkConf()
val sc = new SparkContext(conf)
val numbers = 1 to 100
val rdd = sc.parallelize(numbers) 
// sum 1 to 100
val sum = rdd.reduce(_+_) // 1+2=3, 3+4=6, 6+4=10,  ...

本地模式下,用线程来模拟多节点。
如果指定了maxFailure,会重试。即使是本地计算,也是个不错的框架。

spark的并行度可以指定,那到底应该设多少呢?

每个Core可以承载2-4个partition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值