Skip to content
司马顿的博客
司马顿的博客

司马顿的博客

阳光明媚的冬日,看看书学习新技术

Posted on 2021年12月1日 By 司马顿

已进入初冬,早晚寒意顿起。但是白天的阳光太好了,一个暖和的冬日。

我每天坐在书房里,阳光直射进来,满屋子都是阳光的芬芳。

稍微抬头,就看到远处碧蓝的天,和大海交相辉映,不由心情舒畅。

耳边传来海风的呼啸声,以及偶尔有海浪的起伏声。除此外,再无其他噪音。

在这样的环境里读书,真是心安理得、心旷神怡,读书的效率也高。

最近在看技术方面的书,关注两方面技术,一个是Apache Spark,一个是Apache Ignite.

关注Spark是因为确实有分布式计算的需求,这是一个大数据的时代,单机的程序去算,已经使不上力了。

而Spark的分布式计算任务,将map、reduce、group、join这些操作,分布到多个机器上并行操作,性能大幅提升。

Spark接口API原生支持python语言,这挺方便的,毕竟很多搞数据的都是用python。单就统计而言,Spark可以看作是一种分布式R语言。它把R的计算能力,拆成RDD用多个进程并行来跑了,所以计算效率更高。

但Spark计算严重依赖于数据的质量,我在使用中因为数据不规范,多次抛错而中断程序。数据治理包括数据清洗、归一化、结构化,是一项超级大工程。搞好前期的数据治理工作,后期什么机器学习、深度学习,都很容易了。

Spark的分布式存储原生使用Hadoop,但也支持其他的外部存储加载和导出,包括数据库、csv、Json都是可以的。

而Ignite与Spark有高度相似的地方,比如数据都是分块存储,都支持经典的k/v存储,以及SQL接口,都支持流和机器学习库。当然,Ignite是后起之秀,不像Spark已开发上十年了,很多功能并不如Spark那么完善。比如它的streaming和ML Lib,目前没什么人用的。

Ignite主要还是用在分布式内存存储,提供较快的速度、较好的扩容能力、以及不错的容错性。它的存储方式本质上还是k/v的,虽然基于此也实现了一个SQL接口。可以把它看作分布式Redis的一个实现。

它的客户端协议是基于二进制的,用起来比较方便,什么语言都可以使用这种二进制协议来跟Ignite集群通信。当然,Ignite官方也发布了几个语言的客户端,比如Java、python,你就不用手工去对二进制协议编解码了。

类似于Ignite的分布式存储服务其实挺多的,像我比较熟悉的couchbase就是如此,ceph也差不多,大家都大同小异。分布式服务的3R:rebalancing、replication、recovery,把这三样做好就行了。这里面涉及的算法,其实大家实现上都差不多。

总体上,Spark和Ignite一个用于算,一个用于存,虽然它俩内部实现有很多相似之处,但设计的目的还是有所不同。我学习了解了一下,发现它们对解决大数据时代的实际问题,还是挺有帮助的。

Print this entry

博客 技术生活

文章导航

Previous post
Next post

Archives

  • 2022 年 9 月 (2)
  • 2022 年 8 月 (2)
  • 2022 年 7 月 (2)
  • 2022 年 6 月 (1)
  • 2022 年 5 月 (4)
  • 2022 年 4 月 (18)
  • 2022 年 3 月 (13)
  • 2022 年 2 月 (6)
  • 2022 年 1 月 (8)
  • 2021 年 12 月 (14)
  • 2021 年 11 月 (7)
  • 2021 年 10 月 (19)
  • 2021 年 9 月 (25)
  • 2021 年 8 月 (45)
  • 2021 年 7 月 (33)
  • 2021 年 6 月 (10)
  • 2021 年 3 月 (2)
  • 2021 年 2 月 (8)
  • 2021 年 1 月 (8)
  • 2020 年 12 月 (20)
  • 2020 年 11 月 (11)
  • 2020 年 10 月 (14)
  • 2020 年 9 月 (33)
  • 2020 年 8 月 (17)
  • 2020 年 7 月 (21)
  • 2020 年 6 月 (20)
  • 2020 年 5 月 (10)
  • 2020 年 4 月 (17)
  • 2020 年 3 月 (18)
  • 2020 年 2 月 (11)
  • 2020 年 1 月 (7)
  • 2019 年 12 月 (13)
  • 2019 年 11 月 (14)
  • 2019 年 10 月 (8)
  • 2019 年 9 月 (9)
  • 2019 年 8 月 (13)
  • 2019 年 7 月 (12)
  • 2019 年 6 月 (20)
  • 2019 年 5 月 (18)
  • 2019 年 4 月 (18)
  • 2019 年 3 月 (11)
  • 2019 年 2 月 (12)
  • 2019 年 1 月 (15)
  • 2018 年 12 月 (15)
  • 2018 年 11 月 (13)
  • 2018 年 10 月 (13)
  • 2018 年 9 月 (21)
  • 2018 年 8 月 (29)
  • 2018 年 7 月 (23)
  • 2018 年 6 月 (21)
  • 2018 年 5 月 (5)

标签

AI (24) Apache Drill (11) 加拿大 (21) 宇宙与人生 (19) 情感 (281) 技术 (75) 抑郁症 (68) 新冠病毒 (13) 汽车 (30) 生活 (333) 职场 (25) 行业观点 (60) 读书文艺 (48)
©2025 司马顿的博客 | WordPress Theme by SuperbThemes