- 博客(234)
- 收藏
- 关注
转载 spark shuffle 过程分析
spark shuffle 过程分析:一普通机制: 1,首先 reduceBykey 是会将每一个 key 对应的所有value聚合成一个value,然后生成一个rdd,元素类型是<k,v>形式,然后每一个k对应一个聚合起来的v 2,每一个k对应的v 不一定在一个节点之上,也不可能是在一个 partition中 3,聚合过程: 1),Shuff...
2019-03-17 11:31:00
194
转载 spark常见算子总结
RDD编程API: 1,RDD中的所有转换(Transformation)都是延迟加载的,也就是说,它们并不会直接计算结果,只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结果给Driver的动作时,这些转换才会真正运行spark 常见算子总结(其一)package day02import org.apache.spark.{SparkC...
2019-03-14 22:10:00
190
转载 spark RDD与集群提交任务
RDD 的介绍: 1,一组分片。数据集的基本单位,每个分片都被一个计算任务进行处理,相当于集群分节点。默认是CPU的 core数,创建RDD过程可以指定分片数量 2,一个计算每个分区的函数,RDD之中计算是按照分片为单位的,每一个分片都会实现computer函数来达到这个目的 3,RDD的每一次转换都生成一个新的RDD,所以RDD之间形成流水线的前后依赖,如果RDD丢失...
2019-03-12 08:06:00
228
转载 scala 模式匹配
scala 模式匹配可以匹配多种,包括元组数组集合package day01import scala.util.Randomobject match1{ def main(args: Array[String]): Unit = { val arr = Array("a","b","c") val name = arr(Random.ne...
2019-03-10 13:05:00
96
转载 scala继承,抽象, trait(接口)与 private
scala private关键字package day01// class 之前 private只能在本包之中进行访问!// val p = new day01.privetDemo //it is error//构造器列表之前加 private 表示只能伴生对象能进行访问!private [day01] class privetDemo private ...
2019-03-10 12:05:00
301
转载 scala 编程(其七)静态类与伴生对象applay与unapplay
object 静态类: 1,scala 之中是没有静态方法和静态字段的,可以使用 object 关键字加类名的语法结构来实现的 2,工具类,存放常量和工具方法 3,实现单例模式package day01import scala.collection.mutable.ArrayBufferobject Test12 { def main(args: Arra...
2019-03-09 16:46:00
231
转载 scala 编程(其六)类属性与构造器
scala 类说明: 1,声明类: 默认是public关键字 2,一个类文件可以声明多个类,也可以类名称不和文件名称相同! 3,private var 与 private[this] val 表示私有属性,后置伴生对象度偶不能访问! 4,如果有多个main方法,那么就会调用最后一个 main 5,object 类是静态类,无需new类的实例,所以object中的方法都是静态方法...
2019-03-09 12:39:00
133
转载 scala 编程(其五)集合,交差交差集
scala 聚合 1,par 指的是(并行)多线程聚合,有可能造成误差,但是外加上 foldLeft那么就会一个一个 2,flatten 属性将 list之中的小型list进行聚合到一个大的list之中package day01object Test7 { def main(args: Array[String]): Unit = { val arr = ...
2019-03-09 11:27:00
225
转载 hive架构组件以及使用
hive说明: 1,Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能 2,hive 的效率取决于 mapreduce或者spark 3,hive将 sql语句翻译成MapReduce程序,然后YARN->HDFS 4,hive 将表结构存储于额外的数据库,例如mysql,也自带了derty数据库,...
2019-03-06 23:45:00
490
转载 spark 架构
spark简介: 1,spark 做为数据分析的一种平台,没有数据存储,强调的是基于内存的(相当吃内存)数据分析,内存不够也会磁盘进行计算! 2,可以运行很多的资源管理平台之上,比如 yarnspark 的启动: 1,通过spark-shell 进行启动(Standalone模式) #整个集群的 cpu 核数,单个节点的的内存 # 指定 mast...
2019-03-06 01:22:00
139
转载 scala编程(其四)集合(list set),lazy变量
集合:是一种框架 提供了一些数据结构来收集指定的类型数据! 1,提供了一些高阶操作 如map filter reduce 2,有着可变与不可变的集合类型层次体系,可以方便的在不可变类型(稳定性)与可变类型(必要时)之间进行转换列表的说明: 1,List是一种不可变的单链表 2,list可以创建任何一个集合 包括 元组与mappackage da...
2019-03-03 15:43:00
237
转载 scala 编程(其三) 映射与元组
关于映射的说明: 1,数组,集合,元组,映射等默认都是不可变的 ,需要引入可变的包! 2,map 采用的是类继承的方式来进行实现可变与不可变的 3,map 是一个不可变的键值库,键和值都可以类型参数化package day01object Test5 { def main(args: Array[String]): Unit = { //sca...
2019-03-03 13:07:00
133
转载 scala 编程函数,方法与数组(其二)
scala 函数与方法! 1,在实际中,方法存在于对象中,用来处理对象的数据。 2,scala 之中的所有的算术运算实际上是专门的方法,只是绑定到类型之中。 2+3 实际上是调用了值为2的一个Int 的加法方法,并提供参数3,返回值为5object Hello{ def main(args: Array[String]): Unit = { moth(8, 4...
2019-03-02 16:01:00
230
转载 scala 编程介绍(其一)
scala 语言: 1.框架的用户是应用开发程序员,API是否优雅直接影响用户体验。scala 是对 java 的封装,代码可读性与书写较好 2,Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的(比动态快),先编译成 class 文件 3,能融合到Hadoop生态圈常用类型: Scala和Java一样,有7种数值类型Byte...
2019-02-28 21:30:00
479
转载 spark 三种提交模式( on yarn 与 standalone 介绍,配置,模式)
spark on yarn 说明:(spark 使用 yarn 调度资源) Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度.YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管...
2019-02-25 23:48:00
262
转载 HDFS 以及常用shell 操作
HDFS 体系架构 1,HDFS 是一个主/从(Master/Slave)体系架构,由于分布式存储的性质,集群拥有两类节点 NameNode 和 DataNode。两者是通过rpc通信的 2,NameNode(名字节点):系统中通常只有一个,中心服务器的角色,管理存储和检索多个 DataNode 的实际数据所需的所有元数据。 3,DataNode(数据节点):系统中通常...
2019-02-20 01:05:00
202
转载 linux 磁盘与挂载
分区分为主分区与扩展分区(D F盘)linux 分区: 1,mbr 分区 1),最多支持四个分区 2),系统只能安装主分区(windows c盘) 3),扩展分区要占用一个主分区 4),MBR 最大支持2TB,但是具有良好的兼容性、 2,gtb 分区 1),支持无限多个分区 2),最大支持18...
2019-02-19 00:23:00
138
转载 hadoop 安装步骤
1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 hostnamectl set-hostname server11.2修改IP 修改配置文件方式(修改的是网卡信息 ip a 查看网卡),第一次启动时没有ip的,需要将 网卡配置之中 ONBOOT=yes, 然后重启网络vim /etc/sysconfig/network...
2019-02-16 10:53:00
134
转载 Linux 用户组以及权限
1,新增用户与密码 1),在 etc/passwd 新增用户信息 2),/etc/passwd 里面新增一条密码信息useradd sxupasswd sxu # 用户加密2,关于用户权限 1),准确的说是指的是文件的权限 2),权限的划分(针对于 UID): 1),0代表着root权限 2),1-499 ...
2019-02-12 23:22:00
107
转载 虚拟化技术以及 docker
容器虚拟化技术: 1,容器级别的虚拟化技术, 对进程的隔离 2,实现方式, namespaces + Control groups(资源分配) + chroot(允许把当前目录变成根目录一样(被隔离开来的)) 3,容器级别的虚拟化技术比主机虚拟化差的很多 4,容器是内核(linux)技术,容器虚拟化技术原理:docker 介绍: 1,docker 是...
2019-01-09 12:17:00
140
转载 asyncio 协程库(常见场景!)
python 的协程: 1,Python对协程的支持是通过generator实现的 2,协程是由程序自身控制的程序间的切换asyncio 协程库: 1,通过async关键字定义一个协程(coroutine),协程也是一种对象。协程不能直接运行,需要把协程加入到事件循环(loop) 2,所谓task对象是Future类的子类。保存了协程运行后的状态,用于未来获取...
2019-01-06 19:51:00
304
转载 web 项目之中慢查询定位查询sql语句
web 项目之中慢查询的使用(flask为例): 1,如果只是看msql的慢查询的日志在的项目之中很难定位问题 2,可以借用 SQLALCHEMY_RECORD_QUERIES 与 DATABASE_QUERY_TIMEOUT 将慢查询以及相关的上下文信息记录到日志中 3,代码逻辑: 1),启用查询记录功能 2),app.logger 增加一...
2019-01-05 18:44:00
196
转载 python 代码调试常用技术
python 代码调试常用技术 1,命令行调试工具 ipython + ipdb 1),首先安装 ipdbpip install ipdb 2),使用ipbd调试,提供tab补充、语法高亮# 新建文件 te.pyimport ipdbdef fun_pdb(num_list): print('I am in pd...
2019-01-05 14:53:00
179
转载 mongodb 操作经验总结(其三)
mongodb 操作经验总结: 1,使用优点: 1),不需要像关系型数据库把产品信息打散到不同的表之中,查询还是使用join连接或者拼接成复杂的sql语句,完全可以把产品信息放置在一起 2),实用高效的二进制BSON作为数据存储,更快的遍历速度,比json 提供更多的内置结构 3),内置聚合工具,可以通过 MAPReduce等方式进行复杂的...
2019-01-04 12:31:00
251
转载 大型网站并发处理
大型网站架构经验总结: 1,缓存的使用: 1),本地缓存,热点数据存储到内存之中 2),分布式缓存,建立分布式网络缓存集群,应用程序通过网络来访问缓存数据 3),反向代理,由代理服务器来决定是从后端获取数据,还是把缓存的内容返还给前端 4),CDN(内容发布网络)缓存,由发布商出售缓存服务给需要的网站,不需要自己维护缓存,只需...
2019-01-03 20:30:00
116
转载 主流PRC框架 thrift 基于flask 微服务架构(其三)
基于flask 微服务架构实现方式 1,采用的是二进制的通信格式 2,app.py 注重于视图的逻辑, client.py 注重于请求服务,server.py注重于处理客户端的请求处理 3,在 '.thrift'文件之中: 1),service PasteFileService{} 定义了服务端接口,属性开头定义了返回的类型! ...
2019-01-03 17:20:00
533
转载 主流PRC框架 thrift(其二)
Apache Thrift 是主流的PRC框架之一 1,最初是由 facebook 实现的一种支持多种编程语言的,高效的远程服务器框架 2,它采用中间语言(IDL,接口描述语言),定义PRC接口和数据类型,通过编译器生成不同的代码(python,java,C++,Ruby)等 3,其传输数据采用的是二进制数据.相对于XML与JSON体积更小,相对于高并发更加具优势一,安...
2018-12-24 22:11:00
310
转载 项目服务化架构(其一)
项目服务化架构: 1,服务化指的是项目架构微服务化. 2,服务化的划分规则: 1),根据业务划分,比如豆瓣电影是一个产品线,把豆瓣电影独立成一个服务,被其他的产品线使用.整个豆瓣网站都不会由于一个产品线问题,让整个网站不能使用. 2),根据功能划分,豆瓣的读书,音乐,电影都有长评的功能。把长评功能独立起来,被这些产品线使用,服务化之后,那些需要长评...
2018-12-24 19:28:00
291
转载 rabitmq 异常处理, redis主从异常
rabitmq 异常处理: 1,首先rabbitmq重启后queue和Exchange会被清除,包括数据,为了避免此类发生需要使用持久化技术 1,服务器异常:采用永久话的队列存储,这样就算服务器崩溃了,重新启动还会有队列信息 channel.queue_declare(queue = 'hello',durable=True) 采用永久消息的持久化 ...
2018-12-21 00:09:00
182
转载 python 执行linux 命令得到输出
python 执行linux 命令得到输出1, subprocess.Popen() 用法import subprocesssubprocess.Popen(["ls","-l"]) # 列表第一个参数是指的是命令 其余的指的是命令参数child = subprocess.Popen('ping www.baidu.com',shell=True) # 字符串chi...
2018-12-17 21:06:00
343
转载 操作系统(进程,线程)(其四)
进程: 一个具有一定的独立功能的程序在一个数据集合上的一次动态执行过程! 程序与进程息息相关,一个程序可以有多个进程,一个进程包含多个程序 进程是程序功能的具体体现,程序每次运行构成不同的进程(相同的代码,不同的资源也是不同的程序) 每一个进程都有一个相互独立的进程控制块,存储着进程的信息进程包含: 1,程序的代码, 2,程序的数据 3,程序计数...
2018-12-01 18:50:00
89
转载 集群管理系统slurm
集群管理系统slurm: 1,平行计算机粘合剂,用于执行并行作业 2,它使得并行计算就像pc一样简单实用 3,通常用来管理并行程序之间的通信slurm设计框架: 1,为集群提供简单的资源管理 2,通过插件完成功能强大的祖业调度器 3,由c语言编写,对管理员友好常用的操作组件: 资源管理器:通过使用集群来管理资源 1,节点 1),节点...
2018-11-25 21:55:00
786
转载 操作系统(虚拟内存)(其四)
计算机虚拟技术: 1,计算机不常用的数据放置在硬盘之中,常用的数据,代码放置内存之中 2,操作系统调度,使用分页或者分段技术,将代码一页或者一段导入到内存之中常用的虚拟化技术: 1,覆盖技术: 1),根据程序逻辑进行分类,需要有常驻内存(控制整体调用) 2),把不相互调用的函数分成一个分区(根据内存) 3),根据调用时间进行划分...
2018-11-25 21:39:00
123
转载 计算机网络(其一)
互联网的组成: 1,数以千计的网络设备,包括pc,服务器,以及智能设备 2,通信链路,光钎,无线电,卫星 3,路由器,交换机 网络协议: 1,定义了网络实体(软件,电话也是软件:单进程软件)之间的信息收发的格式和顺序,以及信息发送和接受后所采取的动作。 2,所有的设备的交互都是通过网络协议来进行控制的。 3,协议要求语法,语义以及规则。 无...
2018-11-24 23:11:00
96
转载 python 代码的抽象!
python 抽象类 1. 抽象方法表示基类的一个方法,没有实现,所以基类不能实例化,子类实现了该抽象方法才能被实例化 2, abstractmethod表明抽象方法的生成器 abstractproperty 抽象属性 3, TestAll 不能实例化k(属性) V()方法, 子类必须实例化此方法! 4, abc.ABCMeta 是一个metaclass,用于在P...
2018-11-23 14:25:00
166
转载 操作系统(内存)(其三)
操作系统管理内存空间(什么时候需要内存!): 1, 当程序需要加载 需要分配内存(连续的内存空间) 2, 当程序需要数据 需要给数据分配内存(连续的内存空间)操作系统分配内存的简单算法(连续内存): 1,首次分配 在一个内存块之中,按照需求的空间大小找到第一个符合需求的空间块(按照地址找),但是容易产生外碎片(比如一个内存之中有一个空闲块500,但是需求 400,就导致...
2018-11-19 22:51:00
99
转载 django orm 源码(其二)
三 QuerySet操作数据库 1, 根据上一部分 我们来到了 QuerySet 定义了操作数据库方法 2, UserApiKey.objects.iterator() 会调用 self._iterable_class = ModelIterable # 来自于 query.py 之中的 QuerySet def _iterator(self, use...
2018-11-18 17:27:00
155
转载 django orm源码解析(其一)
一 创建数据库:class UserApiKey(Model): api_key = CharField(max_length=50, null=True) create_time = DateTimeField(default=timezone.now)关于 Model 的源码解析(元类创建一个新的类,来替代原来的类): 1, Model 继承...
2018-11-18 11:12:00
415
转载 操作系统(内存)其二
计算机体系结构 1, cpu 主要是软件执行的控制 2, 内存 放置代码与处理数据 3, 设备 配合程序内存: 1, cpu 之中的寄存器与 cache 最快 位于cpu内部 但是空间最小 2, 物理内存容量较大 速度较慢 归操作系统管理 存放的是运行的代码 与操作系统本身 3, 磁盘 归操作系统管理 最慢 存放代码执行后的数据操作系统对内存的大致管理...
2018-11-11 23:05:00
79
转载 项目之中的其他认证
一,校检密码: 1, 校检密码 使用的是 django 自带的 权限组件 django.contrib.auth 自定义校检类 2, authenticate(user=user, password=password) 会调用自定义的校检类(配置文件进行检查!) 3, 需要setting 指定 AUTHENTICATION_BACKENDS (自定义的校检类)自定义的校...
2018-11-10 17:59:00
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅