摘要: 1、在一个完整的数据转换流程里往往涉及到多个具有衍生关系RDD,这些RDD其实是通过逻辑串联来利用装饰器模式层层包装扩展的的一堆对象,这些相邻RDD间必须有继承关系。并且比Java中的装饰器来的更彻底,借助Scala的抽象控制特性,这一系列RDD不代表任何实际数据,也不负责装载数据,描述的是纯粹的逻 阅读全文
posted @ 2020-02-20 19:10 JaxYoun 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 1. 使用Navicat工具,优先将整个数据库的表和数据导出。 2. 如果遇到 文件损坏 错误可以在 表实例界面 选中所有表,然后将表转储为SQL文件(结构和数据)。 3. 在目标数据库执行导出的SQL文件,导入结构和数据。 4. 如果个别表因为各种原因(比如使用federated引擎建立了DB L 阅读全文
posted @ 2020-02-20 19:09 JaxYoun 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 1、KeyBy 操作后,只有当 Key 的数量大于算子的并发实例数才能获得较好的计算性能。 A.而若Key 的数量比实例数量少,就会导致部分实例收不到数据,这些实例就得不到执行,这些实例的计算能力得不到充分发挥。 ~~B.当Key个数多余并行实例数时,由于同一个 Key 对应的所有数据都能发送到同一 阅读全文
posted @ 2020-02-20 19:08 JaxYoun 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 逻辑计划 logicGraph或者jobGraph,其端点为operator,edge为数据流向。 operator往往代表一个函数。 同一个分区内的具有连续上下游关系的函数组成operator-chain,同一个operator-chain内的数据,在流动过程中不会出现序列化和分区间的网络通信。 阅读全文
posted @ 2020-02-20 19:06 JaxYoun 阅读(667) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-02-20 19:03 JaxYoun 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 0、背景:在由于不想在小项目中引入SpringSecurity这种重量级安全框架,我自定义了一个LoginFilter来处理认证+授权逻辑。对于认证或授权失败的情况,最初是在filter中抛出异常,并携带401状态码,然后利用Spring的ControllerAdvice全局捕获这些异常并转换后返回 阅读全文
posted @ 2020-02-20 19:00 JaxYoun 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 1. Stream接口,它 直接负责 字节流的传输。 2. Reader/Writer接口,它本身 不能读直接读写数据 ,而是以Stream接口为内部核心,在外围装饰增强,负责字符流的读写。字符和字节的转换过程必须指定 字符编码 方式。 3. 为了提高Reader/Writer接口的效率,又在外围装 阅读全文
posted @ 2020-02-20 18:58 JaxYoun 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 在早期版本的Spark中,shuffle过程没有磁盘读写操作,是纯内存操作,后来发现效率较低,且极易引发OOME,较新版本的Shuffle操作都加入了磁盘读写进行了改进。 1、未经优化的HashShuffleManager:上一个stage中每一个task会对下一个stage的每一个task写一份数 阅读全文
posted @ 2020-02-20 18:56 JaxYoun 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1、Spark组件之间使用RPC机制进行通信。RPC的客户端在本地编写并调用业务接口,接口在本地通过RPC框架的动态代理机制生成一个对应的实现类,在这个实现类中完成soket通信、远程调用等功能的逻辑包装,而在RPC的服务端既编写业务接口也编写了具体的业务实现类,通过RPC框架以接口的方式暴露出来, 阅读全文
posted @ 2020-02-20 18:54 JaxYoun 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 1. spark的一大特性就是基于内存计算,Driver只保存任务的宏观性的元数据,数据量较小,且在执行过程中基本不变,不做重点分析,而真正的计算任务Task分布在各个Executor中,其中的内存数据量大,且会随着计算的进行会发生实时变化,所以Executor的内存管理才分析的重点。 2. 在执行 阅读全文
posted @ 2020-02-20 18:52 JaxYoun 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1、Redis数据持久化的必要性 由于redis是基于内存的数据库,面临数据掉电易失的风险,要避免数据丢失,最好将内存数据持久化到磁盘等永久存储介质上。服务重启时,会先加载磁盘文件内的数据到内存,完成数据恢复。 2、RDB(RedisDB) 对内存中的redis全量数据进行 时点快照 并序列化,以文 阅读全文
posted @ 2020-02-20 18:51 JaxYoun 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 1、常见的三种数据的集群存储模式 1. full mirror:全量镜像模式,单纯备份模式,各个节点数据相同,都包含了全量数据,仅主节点可写,保证了数据冗余和读的负载均衡。数据安全性高,横向扩展能力差,资源利用率不高。 2. pure sharding:数据分片,每个节点的数据不相同,所有节点中数据 阅读全文
posted @ 2020-02-20 18:49 JaxYoun 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 1. 满足高可用,唯一的办法是副本镜像方案。 2. 满足可伸缩,唯一的办法是分片方案。 3. 业界实践证明,先将全量数据分片,再对分片做多副本镜像这样的组合方案,在资源利用率、可用性、伸缩性各方面都很均衡。如HDFS、RedisCluster、RocketMQ等都是采用这种组合方案来存储数据的。 4 阅读全文
posted @ 2020-02-20 16:00 JaxYoun 阅读(609) 评论(0) 推荐(0) 编辑
摘要: HDFS架构(Master Slave) 几个进程的角色 1. nameNode(master):用于保存、管理、持久化文件的元数据(文件名、文件副本数、文件块大小、文件块列表),同时还要接收客户端的文件读写请求。 2. secondaryNameNode:用于实时同步文件元数据,给nameNode 阅读全文
posted @ 2020-02-20 15:50 JaxYoun 阅读(313) 评论(0) 推荐(0) 编辑
摘要: Yarn架构(Master Slave) 进程角色: resourceManager(Master):任务调度和集群资源管理。 nodeManager(Slave):单个节点的资源管理。 applicationMaster:为任务程序申请资源,任务程序运行状态监控、错误恢复。 container:对 阅读全文
posted @ 2020-02-20 15:48 JaxYoun 阅读(279) 评论(0) 推荐(1) 编辑
摘要: 顾名思义 zookeeper 就是动物园管理员,他是用来管 hadoop(大象)、Hive(蜜蜂)、pig(小 猪)的管理员, Apache Hbase 和 Apache Solr 的分布式集群都用到了 zookeeper;Zookeeper: 是一个分布式的、开源的程序协调服务,是 hadoop 阅读全文
posted @ 2020-02-20 15:46 JaxYoun 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 一、状态管理 firewalld的基本使用 查看状态:systemctl status firewalld 启动:systemctl start firewalld 停止:systemctl stop firewalld 启用:systemctl enable firewalld 禁用:system 阅读全文
posted @ 2020-02-20 15:44 JaxYoun 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 面向对象三大特性 封装: Encapsulation是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随意访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调 阅读全文
posted @ 2020-02-20 12:53 JaxYoun 阅读(401) 评论(0) 推荐(0) 编辑
摘要: selinux是一个重要的lunux安全机制,存在于linuxKernel中,默认是开启的,会对用户行为做出多种限制,为了方便操作,有时候需要关闭它: 1. 查看selinux状态:/usr/sbin/sestatus。 2. 编辑/etc/selinux/config文件,将SELINUX=enf 阅读全文
posted @ 2020-02-20 12:48 JaxYoun 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: 配置中心 传统配置管理方式是将配置放在各应用本地,应用启动时读取加载自己的配置文件。当应用数量增大、配置变更频繁、配置量增大时管理维护成本很高且易出错。配置中心就是一个集中管理管理和维护大量配置的专有服务,管理员只在这个特定的服务上维护这些配置信息,所有应用都到配置中心读取,发生变动时配置中心主动触 阅读全文
posted @ 2020-02-20 12:45 JaxYoun 阅读(145) 评论(0) 推荐(0) 编辑