11 2020 档案

摘要:一、Hive 执行过程概述 1、概述 (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Operator 是 Hive 的最小处理单元 (3)每个操作符代表一个 HDFS 操作或者 MapReduc 阅读全文
posted @ 2020-11-30 19:04 秋华 编辑
摘要:0 简介 Catalog 提供了元数据信息,例如数据库、表、分区、视图以及数据库或其他外部系统中存储的函数和信息。 数据处理最关键的方面之一是管理元数据。 元数据可以是临时的,例如临时表、或者通过 TableEnvironment 注册的 UDF。 元数据也可以是持久化的,例如 Hive Metas 阅读全文
posted @ 2020-11-28 19:21 秋华 编辑
摘要:0 函数 Flink 允许用户在 Table API 和 SQL 中使用函数进行数据的转换。 1 函数类型 Flink 中的函数有两个划分标准。 一个划分标准是:系统(内置)函数和 Catalog 函数。系统函数没有名称空间,只能通过其名称来进行引用。 Catalog 函数属于 Catalog 和数 阅读全文
posted @ 2020-11-28 18:24 秋华 编辑
摘要:0 简介 SHOW 语句用于列出所有的 catalog,或者列出当前 catalog 中所有的 database,或者列出当前 catalog 和当前 database 的所有表或视图,或者列出所有的 function,包括:临时系统 function,系统 function,临时 catalog 阅读全文
posted @ 2020-11-28 18:03 秋华 编辑
摘要:DESCRIBE 语句用来描述一张表或者视图的 Schema。 执行 DESCRIBE 语句 DESCRIBE 语句可以通过 TableEnvironment 的 executeSql() 执行,也可以在 SQL CLI 中执行 DROP 语句。 若 DESCRIBE 操作执行成功,executeS 阅读全文
posted @ 2020-11-28 17:51 秋华 编辑
摘要:INSERT 语句用来向表中添加行。 1 执行 INSERT 语句 单条 INSERT 语句,可以使用 TableEnvironment 中的 executeSql() 方法执行,也可以在 SQL CLI 中执行 INSERT 语句。executeSql() 方法执行 INSERT 语句时会立即提交 阅读全文
posted @ 2020-11-28 17:34 秋华 编辑
摘要:0 简介 ALTER 语句用于修改一个已经在 Catalog 中注册的表、视图或函数定义。 Flink SQL 目前支持以下 ALTER 语句: ALTER TABLE ALTER DATABASE ALTER FUNCTION 1 执行 ALTER 语句 可以使用 TableEnvironment 阅读全文
posted @ 2020-11-28 17:30 秋华 编辑
摘要:0 简介 DROP 语句用于从当前或指定的 Catalog 中删除一个已经注册的表、视图或函数。 Flink SQL 目前支持以下 DROP 语句: DROP TABLE DROP DATABASE DROP VIEW DROP FUNCTION 1 执行 DROP 语句 可以使用 TableEnv 阅读全文
posted @ 2020-11-28 17:18 秋华 编辑
摘要:1.1 HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。 (2) 用于数据分析、清洗 Hive适用于离线的数据分析和清洗,延迟较高。 (3) 基于HDFS、MapReduce 阅读全文
posted @ 2020-11-27 20:29 秋华 编辑
摘要:先来一张表: CREATE TABLE IF NOT EXISTS `article` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `author_id` int(10) unsigned NOT NULL, `category_id` int(1 阅读全文
posted @ 2020-11-20 12:05 秋华 编辑
摘要:1、MySQL 查询优化器是如何工作的 MySQL 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。最终目标是提交 SELECT 语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度越快,那么找到与条件匹配的数据 阅读全文
posted @ 2020-11-20 11:57 秋华 编辑
摘要:接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了。如果我拆成100个表,那么每个表只有10万条记录。当然这需要数据在逻辑上可以划分。一个好的划分依据,有利于程序的简单实现,也可以充分利用水平分表的优势。比如系统界面上只 阅读全文
posted @ 2020-11-20 11:48 秋华 编辑
摘要:建立适当的索引 说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千倍,这可真有诱惑力。可是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的I/O。 是 阅读全文
posted @ 2020-11-20 11:47 秋华 编辑
摘要:mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升。 Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 表的设计合理化(符合3NF) 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] 分表 阅读全文
posted @ 2020-11-20 11:46 秋华 编辑
摘要:SQL书写习惯 了解了 SQL 执行顺序,那么我们就接下来进一步养成日常 sql好习惯,也就是在实现功能同时有考虑性能的思想,数据库是能进行集合运算的工具,我们应该尽量的利用这个工具,所谓集合运算实际就是批量运算,就是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。 1.只返 阅读全文
posted @ 2020-11-20 11:02 秋华 编辑
摘要:1 查询语句是如何执行 (1)执行FROM语句 在这些 SQL 语句的执行过程中,都会产生一个虚拟表,用来保存 SQL 语句的执行结果(这是重点),我现在就来跟踪这个虚拟表的变化,得到最终的查询结果的过程,来分析整个 SQL 逻辑查询的执行顺序和过程。 第一步,执行FROM语句。我们首先需要知道最开 阅读全文
posted @ 2020-11-20 10:48 秋华 编辑
摘要:1 SQL逻辑查询语句执行顺序 还记得上面给出的那一长串的SQL逻辑查询规则么?那么,到底哪个先执行,哪个后执行呢?现在,我先给出一个查询语句的执行顺序: (7) SELECT /* 处理SELECT列表,产生 VT7 */ (8) DISTINCT <select_list> /* 将重复的行从 阅读全文
posted @ 2020-11-20 10:41 秋华 编辑
摘要:准备工作 先来一段伪代码,首先你能看懂么? SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP 阅读全文
posted @ 2020-11-20 10:32 秋华 编辑
摘要:194.说一下 jvm 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口(Native Interface) 组件的作用: 首先通过类加载器(ClassLoader)会把 Ja 阅读全文
posted @ 2020-11-19 11:56 秋华 编辑
摘要:班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知 阅读全文
posted @ 2020-11-19 11:53 秋华 编辑
摘要:这道题的输入是一个二维数组(n ∗ m n*mn∗m),然后要我们求联通区域的块数我的思路是创建一个一个长度为n ∗ m n*mn∗m的一维数组作为初始并查集,然后使用遍历输入的二维数组,每当发现某个位置的右边或者下面的值是1,并且本身的值也是1的时候,合并这两个区域。(注意二维数组的索引不要搞混, 阅读全文
posted @ 2020-11-19 11:51 秋华 编辑
摘要:一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。 题目数据保证答案肯定是一个 32 位的整数。 示例 1: 输入:s = "12"输出:2解释:它可以解码为 "AB"(1 2)或者 " 阅读全文
posted @ 2020-11-19 11:40 秋华 编辑
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2: 输入: "cbbd"输出: "bb" 来源:力扣(LeetCode)链接:https://leetcode- 阅读全文
posted @ 2020-11-19 11:38 秋华 编辑
摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的 阅读全文
posted @ 2020-11-19 11:20 秋华 编辑
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解 阅读全文
posted @ 2020-11-19 11:06 秋华 编辑
摘要:设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。 实现 MagicDictionary 类: MagicDictionary() 初始化对象void buildDict 阅读全文
posted @ 2020-11-19 11:00 秋华 编辑
摘要:给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 示例 1: 输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "l 阅读全文
posted @ 2020-11-19 10:56 秋华 编辑
摘要:给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。 若无答案,则返回空字符串。 示例 1: 输入:words = ["w","wo","wor","worl", "wo 阅读全文
posted @ 2020-11-19 10:50 秋华 编辑
摘要:请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。 实现词典类 WordDictionary : WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(w 阅读全文
posted @ 2020-11-19 10:41 秋华 编辑
摘要:现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序,你只要返回一种就可以 阅读全文
posted @ 2020-11-19 10:30 秋华 编辑
摘要:1、什么是拓扑排序,也就是拓扑排序的概念 实际上,拓扑排序是一种图论算法,该算法在《数据结构与算法》一书中有涉猎。引用维基百科的定义: 在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序(英语:Topological sorting)。(1)每个顶点出现且只出 阅读全文
posted @ 2020-11-19 10:07 秋华 编辑
摘要:给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails 表示该帐户的邮箱地址。 现在,我们想合并这些帐户。如果两个帐户都有一些共同的邮件地址,则两个帐户必定属于同一个人。请注意 阅读全文
posted @ 2020-11-19 10:04 秋华 编辑
摘要:给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ["1","1","1","1","0"], [" 阅读全文
posted @ 2020-11-19 10:02 秋华 编辑
摘要:给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 来源:力扣(LeetCode)链接: 阅读全文
posted @ 2020-11-19 09:46 秋华 编辑
摘要:给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true示例 2: 输入: 1 1 / \ 2 2 [1,2], [1,null 阅读全文
posted @ 2020-11-19 09:44 秋华 编辑
摘要:你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1] 给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习? 示例 1: 输 阅读全文
posted @ 2020-11-19 09:43 秋华 编辑
摘要:给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ["1","1","1","1","0"], [" 阅读全文
posted @ 2020-11-19 09:33 秋华 编辑
摘要:给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。 比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, [ 阅读全文
posted @ 2020-11-19 09:29 秋华 编辑
摘要:给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 说明: 树的深度不会超过 1000。树的节点总不会超过 5000。 来源:力扣(LeetCode)链接:https://leetcode-cn.c 阅读全文
posted @ 2020-11-19 09:27 秋华 编辑
摘要:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 阅读全文
posted @ 2020-11-18 12:15 秋华 编辑
摘要:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4 来源:力扣(Le 阅读全文
posted @ 2020-11-18 12:09 秋华 编辑
摘要:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3]输出: 3示例 2: 输入: [2,2,1,1,1,2,2]输出: 2 来源:力扣(LeetCode 阅读全文
posted @ 2020-11-18 11:25 秋华 编辑
摘要:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精 阅读全文
posted @ 2020-11-18 11:21 秋华 编辑
摘要:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 来源:力扣(LeetCode)链接:h 阅读全文
posted @ 2020-11-18 10:59 秋华 编辑
摘要:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/ 阅读全文
posted @ 2020-11-18 10:57 秋华 编辑
摘要:给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl 阅读全文
posted @ 2020-11-18 10:50 秋华 编辑
摘要:二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。 每个 LED 代表一个 0 或 1,最低位在右侧。 例如,上面的二进制手表读取 “3:25”。 给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。 示例: 输入: n = 阅读全文
posted @ 2020-11-18 10:48 秋华 编辑
摘要:给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意:字符串长度 和 k 不会超过 104。 示例 1: 输入:s = "ABAB", k = 2 输出:4 解释:用两个'A'替换为两个'B 阅读全文
posted @ 2020-11-18 10:32 秋华 编辑
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 阅读全文
posted @ 2020-11-18 10:29 秋华 编辑
摘要:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2]输出: 2示例 2: 输入: [3,1,3,4,2]输出: 3说明: 不能更改原数组( 阅读全文
posted @ 2020-11-18 10:20 秋华 编辑
摘要:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama"输出: true示例 2: 输入: "race a car"输出: false 来源 阅读全文
posted @ 2020-11-18 10:18 秋华 编辑
摘要:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l 阅读全文
posted @ 2020-11-18 10:12 秋华 编辑
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3, 阅读全文
posted @ 2020-11-18 10:10 秋华 编辑
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2示例 2: 输入: [1,3,5,6], 2输出: 1 来源:力扣(LeetCode)链接:h 阅读全文
posted @ 2020-11-18 10:07 秋华 编辑
摘要:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 阅读全文
posted @ 2020-11-18 10:06 秋华 编辑
摘要:峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 class Solution 阅读全文
posted @ 2020-11-18 10:04 秋华 编辑
摘要:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 5 阅读全文
posted @ 2020-11-18 10:00 秋华 编辑

点击右上角即可分享
微信分享提示