Spark RDD与Spark API编程实践2018.4.25


参考书目《 

Spark源码核心与开发实战

弹性分布式数据集  (RDD, Resilient Distributed Databases)   是Spark的核心抽象   是分布式内存的抽象使用

RDD表示已被分区的、只读的,并提供了一组丰富的操作方式来操作这些数据集合,数据集的全部或部分缓存在内存中,省去了大量的磁盘IO操作

操作:map FlatMap, filter, join , groupBy, reduceBy

RDD 允许用户在大规模集群上执行基于内存的计算


Spark可以应用于大多数大数据处理场景


每个RDD有如下特点:

1.一组RDD分区 partition 即数据集的原子组成部分

2.计算每个分片的函数

3.对父RDD的一组依赖


RDD作为数据结构 本质上是一个只读的分区记录集合


Spark用Scala语言实现RDD的API


Spark的生态系统与Hadoop是完全兼容的


转换操作是Spark RDD的两大核心操作  value型数据转换操作  Key-Value型数据转换操作

行为操作

输出数据到外部文件存储系统的Action操作

控制操作


Spark Shell下的Spark API编程实践

Spark shell 是spark的交互式脚本(交互式工具),是一种学习API的简单途径


Local模式: spark-shell 

 

集群模式 spark-shell --master spark://SparkMaster:7077


WEB UI    sparkmaster:8080 spark集群      sparkmaster:50070是hadoop包括文件系统   sparkmaster:4040这个是spark-shell的WEB UI



搜狗日志数据分析实践  --------也没啥问题



基于IntelliJ IDEA使用Spark API开发应用程序

javaScala语言支持最好的集成开发环境之一


搞出来一个jar包 , 然后再spark-submit在集群模式下进行运行


jar包----计算机文件格式--JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR


Non-SBT模式



IntelliJ IDEA开发Spark、打JAR包        注意:两种方式都是以 SBT进行编译的

参考 https://blog.csdn.net/jameshadoop/article/details/52305228



spark交互工具:  Spark Shell

spark应用程序部署工具: Spark submit   提交spark应用给集群








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值