Spark SQL DataSource V2 学习入门 + 代码模板
Spark SQL DataSource V2 学习入门 + 代码模板 Data Source API V1 Spark 1.3 版本开始引入了 Data Source API V1,通过这个 API 我们可以很方便的读取各种来源的数据,而且 Spark 使用 SQL 组件的一些优化引擎对数据源的读取进行优化,比如列裁剪、过滤下推等等。 这个版本的 Data Source API 有以下几个优点: 接口实现非常简单 能够满足大部分的使用场景 同时存在一些问题: 扩展能力有限,难以下推其他算子 缺乏对列式存储读取的支持 写操作不支持事务 缺乏分区和排序信息 不支持流处理 Data Source API V2 Data Source API V2为了解决 Data Source V1 的一些问题,从 Apache Spark 2.3.0 版本开始,社区引入了 Data Source API V2,在保留原有的功能之外,还解决了 Data Source API V1 存在的一些问题,比如不再依赖上层 API,扩展能力增强。 这个版本的 Data Source API...
SPARK SQL2.4 自学教程
Spark SQL Spark SQL是一个Spark模块用于结构化数据处理。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。 在内部,Spark SQL使用此额外信息来执行额外的优化。 有几种与Spark SQL交互的方法,包括SQL和Dataset API。 在使用相同的执行引擎计算结果时,与使用表达计算的API或者语言无关。 这种统一意味着开发人员可以轻松地在不同的API之间来回切换,从而提供表达给定转换的最自然的方式。 SparkSession Spark中所有功能的入口点是SparkSession类 12345678import org.apache.spark.sql.SparkSessionval spark = SparkSession .builder() .appName("Spark SQL basic example") //APP 运行时的名字 .config("spark.some.config.option",...
线性回归模型的推导
线性回归模型的推导 线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。 特点:只有一个自变量的情况称为单变量回归,大于一个自变量情况的叫做多元回归. 优点:结果具有很好的可解释性(w直观表达了各属性在预测中的重要性),计算熵不复杂。 缺点:对非线性数据拟合不好 适用数据类型:数值型和标称型数据 线性回归的模型: h(x)=θ1x1+θ2x2+θ3x3+θ4x4+...+θnxn+bh(x) = θ_{1}x_{1}+θ_{2}x_{2}+θ_{3}x_{3}+θ_{4}x_{4}+...+θ_{n}x_{n} + b h(x)=θ1x1+θ2x2+θ3x3+θ4x4+...+θnxn+b 那么我们可以通过向量的方式来表示就值θ与特征X值之间的关系: Θ=(θ1θn);X=(x1xn)\Theta =...
软件架构师-第二章 信息工程与信息系统基础
第二章 系统工程与信息系统基础 系统工程 ⭐ 系统工程概念 是一种组织管理技术。 是为了最好的实现系统的目的,对系统的组成要素、组织结构、信息流、控制机构进行分析研究的科学方法。 从整体出发、从系统观念出发,以求**【整体最优】**。 利用计算机作为工具,对系统的结构、元素、信息和反馈等进行分析,以达到最优规划、最优设计、最优管理和最优控制的目的。 系统工程方法 ⭐⭐ 是一种现代的科学决策方法。 系统工程方法 关键点 霍尔三维结构“硬科学”方法论 逻辑维:逻辑维即解决问题的逻辑过程。时间维:时间维即是工作进程。知识维:知识维即是专业科学知识。应用场景:组织和管理大型工程建设项目 切克兰德方法“软科学”方法论 核心不是“最优化”,而是“比较”和“探寻” 7步骤:认识问题、根底定义、建立概念模型、比较及探寻、选择、设计与实施、评估与反馈 并行工程方法 “制造过程”与“支持过程”并行强调三个方面:产品设计开发期间,最快速度按质完成;各项工作问题协调 解决;适当的信息系统工具。 综合集成法 钱学森命名,【简单系统】和【巨系统】...
软件架构师-第二章 信息工程与信息系统基础 (大纲)
第二章 信息工程与信息系统基础(大纲) 下面是快速记忆的思维导图,用于快读记忆 系统工程 ...
软件架构师-第一章 计算机基础基础
计算机基础 ...
软件设计师-第八章 算法基础
第八章 算法基础 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作 5个重要特性:有穷性、确定性、可行性、输入、输出 1. 时间复杂度 时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势。 2. 空间复杂度 空间复杂度是指对一个算法在运行过程中临时占用存储空间大小的度量。一个算法的空间复杂度只考虑在运行过程 中为局部变量分配的存储空间的大小 3. 递归 3.1 主定理 设a≥1和b>1为常数,设f(n)为一函数,T(n)由递归式 T(n)=aT(nb)+f(n)T(n)=aT(\frac{n}{b})+f(n)T(n)=aT(bn)+f(n) 其中nb\frac{n}{b}bn指$\left\lfloor \frac{n}{b}\right\rfloor 和和和\left\lceil \frac{n}{b}\right\rceil...
软件设计师-第七章 数据结构
第七章 数据结构 常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从“逻辑结构”和“物理结构”两个维度进行分类。 逻辑结构揭示了数据元素之间的逻辑关系。逻辑结构可分为“线性”和“非线性”两大类 物理结构反映了数据在计算机内存中的存储方式,可分为连续空间存储(数组)和分散空间存储(链表) 线性结构比较直观,指数据在逻辑关系上呈线性排列;非线性结构则相反,呈非线性排列。 线性数据结构:数组、链表、栈、队列、哈希表,元素之间是一对一的顺序关系。 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 树形结构:树、堆、哈希表,元素之间是一对多的关系。 网状结构:图,元素之间是多对多的关系。 值得说明的是,所有数据结构都是基于数组、链表或二者的组合实现的。例如,栈和队列既可以使用数组实现,也可以使用链表实现;而哈希表的实现可能同时包含数组和链表。 基于数组可实现:栈、队列、哈希表、树、堆、图、矩阵、张量(维度 ≥3 的数组)等。 基于链表可实现:栈、队列、哈希表、树、堆、图等。 1....
软件设计师-第六章 网络安全
第六章 网络安全 1. 网络安全协议 物理层主要使用物理手段,隔离、屏蔽物理设备等,其它层都是靠协议来保证传输的安全,具体如下图所示: SSL协议用于网银交易: 三方面的服务:用户和服务器的合法性验证、加密数据以隐藏被传输的数据、保护数据的完整性 实现过程:接通阶段 —— 密码交换阶段(客户端和服务器之间交换双方认可的密码)—— 会谈密码阶段 (客户端和服务器之间产生彼此交谈的会谈密码)—― 检验阶段 —— 客户认证阶段 ―― 结束阶段 SSL是传输层安全协议安全加密,用于实现web的安全通信,端口号443。 TLS是IETF制定的协议,是SSL的后续版本 安全连接的协议是SSH,也是传输层基础上的安全协议,SSH终端设备与远程站点之间建立安全连接 HTTPS是使用SSL加密算法的HTTP MIME多用途互联网电子邮件附件扩展类型。扩展了电子邮件的标准,使其能够支持更多的文本 PGP是一个基于RSA公钥加密体系的邮件加密软件 IPSes为IP数据报文进行加密 RFB远程登录图形化界面,IGMP因特网组管理器 内部网关协议:RIP、OSPF ...
软件设计师-第五章 计算机网络
第五章 计算机网络 1. 网络概述 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享 计算机网络的功能:数据通信、资源共享、负载均衡、高可靠性。 2. 拓扑结构 总线型(利用率低、千扰大、价格低) 星型(交换机形成的局域网、中央单元负荷大) 环型(流动方向固定、效率低扩充难) 树型(总线型的扩充、分级结构) 分布式(任意节点连接、管理难成本高) 3. OSI / RM 参考模型 物理层:二进制数据传输,物理链路和物理特性相关. 中继器、集线器(多端口中继器) 数据链路层:将数据封装成帧进行传送,准确传送至局域网内的物理主机上 网桥、交换机(多端口网桥)、网 卡...