spark的算子 Spark中的单Value算子是指对一个RDD中的每个元素进行操作,并返回一个新的RDD。这些单Value算子能够对RDD中的每个元素进行处理,并返回一个新的RDD,可以用于各种数据转换、过滤、去重等操作。
三十分钟学会Shell(上) Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,是用户和Linux文件系统之间的桥梁。Shell 有自己的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用Linux。
Spark的通用运行流程与Spark YARN Cluster 模式的运行流程 Spark的通用运行流程集群启动后Worker节点会向Master节点心跳汇报资源Client向Driver提交APP,根据不同的运行模式在不同的地方创建Driver。Driver以粗粒度的方式向Master注册应用并申请资源(在Application执行之前,将所有的资源申请完毕,当资源申请成功后,才会进行任务的调度,当所有的Task执行完成后,才会释放这部分资源。)(资源有Executer的CPU Core和Mem)Master根据SparkContext的资源申请情况以及Worker心跳周
三十分钟学会Linux的基本操作 GNU项目是由Richard Stallman发起的自由软件运动,旨在创建一个完全自由的操作系统。虽然GNU项目已经开发了大量的系统组件和工具,但它一直缺少一个完整的操作系统内核。在这时Linus Torvalds开发了Linux内核,并将其发布为自由软件。后来,Linux内核与GNU项目提供的系统组件和工具相结合,形成了完整的操作系统,通常被称为GNU/Linux系统。
各类Linux操作系统如何选择? CentOS的全称是Community Enterprise Operating System,它由社区开发和维护,目标是提供一个稳定、可靠的企业级操作系统,同时保持与RHEL高度兼容。它提供了广泛的软件包选择,包括常用的服务器软件、开发工具、数据库系统等,可以满足不同用户的需求。Ubuntu是一种广泛使用的自由Linux操作系统,它以易用性、稳定性和社区支持著称。Debian由社区开发和维护,它的目标是提供一个完全自由的操作系统,同时支持多种硬件体系结构,并提供广泛的软件包选择。桌面平台:Ubuntu。
项目架构的发展 单体架构指的是将整个应用程序构建为单一的、独立的单元。在软件开发中,单体架构通常指的是将一个应用程序作为一个整体来开发、部署和管理,所有的功能模块都打包在一起,共享同一个数据库和代码库。在单体架构中,通常会使用一种统一的开发语言和技术栈来构建整个应用,例如使用Java、C#、Python等作为后端开发语言,配合相应的前端技术来实现整个应用的功能。整个应用程序部署在一个服务容器中,通过统一的方式进行扩展和管理。
Scala的一等公民和至简原则 1. Scala 中,函数是一等公民具体体现在哪里Scala 混合了面向对象特性和函数式的特性函数可以作为值传递:函数可以作为参数传递给其他函数,也可以作为返回值返回给其他函数函数可以赋值给变量:和其他数据类型⼀样,函数也可以赋值给变量,变量的类型就是函数的类型函数可以嵌套定义:在函数内部可以定义另外⼀个函数,内部函数可以定义外部函数的变量Scala支持匿名函数,可以直接定义并传递匿名函数2. 说说 Scala 函数的至简原则方法和函数不建议写 return 关键字,Scala 会使用函
三十分钟学会SCALA / 因为函数是对象,所以函数有类型:(函数参数类型1, 函数参数类型2,...) => 函数返回值类型val 函数名: (函数参数类型1, 函数参数类型2,...) => 函数返回值类型 = (参数名:参数类型, 参数名:参数类型, ...) => {函数体函数的本质就是引用类型,相当于 Java 中 new 出来的实例,所以函数是在堆内存中开辟空间;函数的定义不需要使用 def 关键字,但定义的函数一定要有输入和返回值,没有返回值相当于返回的是 Unit;
关于Hbase的一些问题 当MemStore中的数据达到一定大小阈值时,或者出发了一定的时间阈值,HBase会将该MemStore中的数据刷写到磁盘,生成一个新的Store文件。在HBase中,随着数据的写入和删除,会产生大量的小文件,这样对于查询操作会引入额外的磁盘寻址开销。Phoenix只是在HBase之上构建了SQL查询引擎,Phoenix可以使用SQl快速查询HBase中的数据,但是数据的底层必须符合HBase的存储结构,HBase结合Phoenix可以实现海量数据的快速随机读写。:在设计上要保持RowKey的唯一性。
让你彻底学会HBase Apache HBase(Hadoop DataBase)是一个开源的、高可靠性、高性能、面向列(这里指列族,非列式存储)、可伸缩、实时读写的分布式数据库。利用 Hadoop HDFS 作为其文件存储系统,利用 ZooKeeper 作为其分布式协同服务。主要用来存储非结构化和半结构化的松散数据(列式存储 NoSQL 数据库)。注意:HBase 是列族数据库(Column-Family Database),不是列式数据库(Column-Oriented Database)。
Hive常见的面试题(十二道) UDF(普通函数,⼀进⼀出,可以⽤于字符串处理、⽇期处理) 第一种是比较简单的形式,继承 UDF 类通过 evaluate 方法实现,目前已过时。 第二种是继承 GenericUDF 重写 initialize 方法、evaluate 方法、getDisplayString 方法实现。
三十分钟学会Hive UDF(普通函数,⼀进⼀出,可以⽤于字符串处理、⽇期处理)实现 UDF 的方式有两种: 第一种是比较简单的形式,继承 UDF 类通过 evaluate 方法实现,目前已过时。 第二种是继承 GenericUDF 重写 initialize 方法、evaluate 方法、getDisplayString 方法实现。
十道Linux常见的面试问题 在Linux中,脚本的后缀并不影响其是否可以执行。事实上,Shell脚本的可执行性是由文件的权限属性决定的,而不是由文件名的后缀决定的。后面跟的是解释器的路径(shell本身就是一种解释型语言),解释器的路径是/bin/sh;:创建新的用户或更改用户的信息,其创建的账号保存在/etc/passwd文本文件中。Linux 中查看进程的命令是 ps,杀死进程的命令是 kill。Shell脚本的第一行通常是用来指定要运行脚本的解释器。:查看用户的uid,gid和groups。:修改文件或目录的属主和属组。
Zookeeper的六个要点问题 当整个集群正在启动时,或者当 Leader 节点出现⽹络中断、崩溃等情况时,ZAB 协议就会进⼊恢复模式并选举产⽣新的 Leader,当 Leader 服务器选举出来后,并且集群中有过半的机器和该 Leader 节点完成数据同步后(同步指的是数据同步,⽤来保证集群中过半的机器能够和Leader 服务器的数据状态保持⼀致),ZAB 协议就会退出恢复模式。这个时候,在 Leader 节点正常⼯作时,启动⼀台新的服务器加⼊到集群,那这个服务器会直接进⼊数据恢复模式,和 Leader节点进⾏数据同步。
三十分钟学会zookeeper 一些分布式系统通过复制数据来提高系统的可靠性和容错性,并且将数据的不同的副本存放在不同的机器在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。
SpringMVC 进阶 SpringMVC 进阶一、拦截器SpringMVC 中 Interceptor 拦截器的主要作⽤是拦截⽤⼾的请求并进⾏相应的处理。⽐如通过它来进⾏权限验证,或者是来判断⽤⼾是否登陆等操作。对于 SpringMVC 拦截器的定义⽅式有两种:实现接⼝:org.springframework.web.servlet.HandlerInterceptor继承适配器:org.springframework.web.servlet.handler.HandlerInterceptorAdapter1.拦截器
SpringMVC基础 模型-视图-控制器(MVC)是以设计界⾯应⽤程序为基础的设计思想。主要通过分离模型、视图及控制器在应⽤程序中的⻆⾊将业务逻辑从界⾯中解耦。通常,模型负责封装应⽤程序数据在视图层展⽰,视图仅仅只是展⽰这些数据,不包含任何业务逻辑。控制器负责接收来⾃⽤⼾的请求,并调⽤后台服务(service或者dao)来处理业务逻辑。处理后,后台业务层可能会返回了⼀些数据在视图层展⽰。控制器收集这些数据及准备模型在视图层展⽰。MVC模式的核⼼思想是将业务逻辑从界⾯中分离出来,允许它们单独改变⽽不会相互影响。