spark学习记录-1
mapreduce的限制
适合“一趟”计算操作
很难组合和嵌套操作符号
无法表示迭代操作
========
由于复制、序列化和磁盘IO导致mapreduce慢
复杂的应用、流计算、内部查询都因为maprecude缺少有效的数据共享而变慢
======
迭代操作每一次复制都需要磁盘IO
内部查询和在线处理都需要磁盘IO
========spark的目标
在内存中保存更多的数据来提升性能
扩展maprecude模型来更好支持两个常见的分析应用:1,迭代算法(机器学习、图)2,内部数据挖掘
增强可编码性:1,多api库,2更少的代码
======
spark组成
spark sql,spark straming(real-time),graphx,mllib(meachine learning)
======
可以使用一下几种模式来运行:
在它的standalone cluster mode下
在hadoop yarn
在apache mesos
在kubernetes
活着在云上面
==========
数据来源:
1,本地文件file:///opt/httpd/logs/access_log
2,amazon S3
3,hadooop distributed filesystem
4,hbase,cassandra,etc
===========
spark 集群cluster
============
spark workflow
首先产生一个SparkContext对象(1,告诉spark怎么并且在哪里去访问集群;2,连接不同类型的集群管理者,egYARN,Mesos,本身的)
然后使用集群管理分配资源
最后使用Spark executer来运行计算过程,读取数据块
==============
workers节点和执行者
worker节点是能运行executors的机器(1,每个worker一个jvm或者一个process,2每个worker可以产生多个executor)
Executor可以运行任务(1,在子jvm中运行,2在一个线程池中执行一个或者多个任务)

=========
Solution: Resilient Distributed Datasets
弹性分布式数据集
=========
RDD 操作
transformation:返回一个新的RDD,function包括:map,filter,flatMap,groupByKey,reduceByKey,aggragateByKey,filter,join
action:评估并且返回一个新的value,当一个RDD对象调用action方法时,处理查询的所有数据都会被同时计算,结果值返回;方法包括
reduce,collect,count,first,take,countByKey,foreach,saveAsTextFile
============
怎么使用RDD
1,从data source中产生一个RDD(1,利用现存的集合lists,arrays;2,RDD的变换;3,从hdfs或者其他数据系统)
2,使用RDD变换
3,使用RDD操作
=======
产生一个RDD
从hdfs,textfiles,amazons S3,hbase,序列号文件,其他的hadoop输入格式
(//从文件中产生一个RDD
JavaRDD<String> distFile = sc.textFile("data.txt",4)//rdd分为4个部分
)
(//从集合创建RDD
list<Integer> data = Arrays.aslist(1,2,3,4,5);
JavaRDD<Integer> distData = sc.parallelize(data);
)
========
spark学习记录-1的更多相关文章
- spark学习记录-2
spark编程模型 ====== spark如何工作的? 1.user应用产生RDD,操作变形,运行action操作 2.操作的结果在有向无环图DAG中 3.DAG被编译到stages阶段中 4.每一 ...
- Spark学习记录
SpringStrongGuo Hadoop与Spark Hadoop主要解决,海量数据的存储和海量数据的分析计算. Spark主要解决海量数据的分析计算. Spark运行模式 1)Local:运行在 ...
- spark学习笔记总结-spark入门资料精化
Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用. ...
- [转]Spark学习之路 (三)Spark之RDD
Spark学习之路 (三)Spark之RDD https://www.cnblogs.com/qingyunzong/p/8899715.html 目录 一.RDD的概述 1.1 什么是RDD? ...
- 【转载】Spark学习——入门
要学习分布式以及数据分析.机器学习之类的,觉得可以通过一些实际的编码项目入手.最近Spark很火,也有不少招聘需要Spark,而且与传统的Hadoop相比,Spark貌似有一些优势.所以就以Spark ...
- Spark学习之Spark SQL(8)
Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...
- Spark学习之数据读取与保存(4)
Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件. ...
- Spark学习之键值对(pair RDD)操作(3)
Spark学习之键值对(pair RDD)操作(3) 1. 我们通常从一个RDD中提取某些字段(如代表事件时间.用户ID或者其他标识符的字段),并使用这些字段为pair RDD操作中的键. 2. 创建 ...
- Spark学习笔记2——RDD(上)
目录 Spark学习笔记2--RDD(上) RDD是什么? 例子 创建 RDD 并行化方式 读取外部数据集方式 RDD 操作 转化操作 行动操作 惰性求值 Spark学习笔记2--RDD(上) 笔记摘 ...
随机推荐
- Linux多IP配置
# ifconfig eth0:1 172.168.1.222
- linux设置网卡速率
ethtool # ethtool ethX //查询ethX网口基本设置 # ethtool –h //显示ethtool的命令帮助(help) # ethtool –i ethX //查询ethX ...
- 笔谈runloop(一)
关于runloop熟悉而又陌生,熟悉的是在iOS开发的过程中线程的执行就跟runloop扯上关系了,陌生的是runloop到底是个什么东西.去公司面试的时候,很多公司的面试人员会问这个问题.runlo ...
- springboot项目搭建及常用技术整合
一.在你建立的工程下创建 Module 选择Spring initializr创建. 二.在Type处选择: Maven Project(项目的构建工具) 三.创建依赖时勾上web,mybatis,m ...
- 基于STM8的IIC协议--实例篇--时钟模块(DS3231)读取
1. 综述 由上篇博客可知道IIC协议如何用代码实现,本篇博客就不涉及协议内容,只讲解如何使用. 本次的实验传感为:DS3231(时钟模块),对于时钟模块的具体信息我也就不多介绍,大家可以自行度娘,具 ...
- 高并发下redis
1.================================================================================================== ...
- mysqldump简单备份
mysqldump简单命令 mysqldump DB_NAME [tb1] [tb2] > /path/back.sql --master-data={0|1|2} 0: 不记录二进制日志 ...
- pyspark读取hdfs 二进制文件
程序如下: from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName("My test App&qu ...
- 四.Protobuf3 缺省值
解析消息时,如果编码消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值.这些默认值是特定于类型的: 对于字符串,默认值为空字符串. 对于字节,默认值为空字节. 对于布尔,默认值为f ...
- 关于redis的持久化策略
Redis的持久化 Redis虽然是基于内存的存储系统,但是它本身是支持内存数据的持久化的,而且提供两种主要的持久化策略:RDB快照和AOF日志. Redis的RDB快照 Redis支持将当前数据的快 ...