- 博客(32)
- 收藏
- 关注
原创 hiveserver2是什么
HiveServer 是建立在 Apache ThriftTM(http://thrift.apache.org/) 之上的,因此有时会被称为 Thrift Server,这可能会导致我们认知的混乱,因为新服务 HiveServer2 也是建立在 Thrift 之上的。HiveServer2 作为复合服在单个进程中运行,其中包括基于 Thrift 的 Hive 服务(TCP或HTTP)以及用于 Web UI的 Jetty Web 服务。HiveServer2 是一种能使客户端执行 Hive 查询的服务。
2023-01-10 16:19:32
364
原创 Hive-cli(hive)与Beeline的区别
hive-cli(hive) 是hive连接hivesever的命令行工具,从hive出生就一直存在,但随着hive功能的增强、bug的修复、版本升级,hive-cli结构的局限性跟不上hive的发展,如果强行更改就不能满足向下兼容,就出现了全新的beeline命令行结构,即就是hive-cli能做的事beeline都能做,而beeline能做的事hive-cli不一定能做。2、CliDriver是SQL本地直接编译,然后访问MetaStore,提交作业,是重客户端。3、多用户、安全、可以实现其权限控制。
2023-01-10 16:06:27
1272
原创 报错解决Missing artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde
今天编包,疯狂报Missingartifactorg.pentahopentaho-aggdesigner-algorithmjar5.1.5-jhyde的错,网上各种查,好像还是不太行。最终把mavensetting的镜像地址改成如下,终于ok了。
2022-07-29 17:06:08
822
原创 数据倾斜优化
参考文章:Hive SQL 参数与性能调优数据倾斜的原理都知道,就是某一个或几个key占据了整个数据的90%,这样整个任务的效率都会被这个key的处理拖慢,同时也可能会因为相同的key会聚合到一起造成内存溢出。Hive的数据倾斜一般的处理方案:常见的做法,通过参数调优:set hive.map.aggr=true; set hive.groupby.skewindata = ture;当选项设定为true时,生成的查询计划有两个MapReduce任务。在第一个MapRe
2022-03-07 17:25:32
1268
原创 Hive参数与优化
参考资料:Hive SQL 参数与性能调优小文件优化小文件过多的影响:(1)小文件过多会导致namenode元数据特别大,占用过多内存,严重影响HDFS性能(2)对Hive来说,在进行查询时,每个小文件都会当成一个块,启动一个Map任务来完成。如果文件过多的话,Map任务启动和初始化的时间可能远远大于逻辑处理的时间,就会造成很大的资源浪费。同时可执行的Map数量是受限的。解决方法:1.使用 hive 自带的 concatenate 命令,自动合并小文件#对于非分区表al.
2022-03-07 15:59:26
1249
原创 数据仓库学习笔记
数仓建设保姆级教程,离线和实时理论+实战) - 简书存在意义数据库是为捕获数据而设计,数据仓库是为分析数据而设计。数据仓库从数据库、数据源获取数据,并加以加工、汇总,为分析、决策提供依据。...
2022-02-09 14:27:48
1387
原创 排序算法(go实现)
参考文章:https://www.cnblogs.com/onepixel/articles/7674659.htmlhttps://blog.youkuaiyun.com/benben_2015/article/details/79231929排序算法比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。.
2021-05-07 10:13:46
123
原创 golang container/heap学习
根据维基百科:堆是一种特别的完全二叉树。若是满足以下特性,即可称为堆:“给定堆中任意节点P和C,若P是C的父节点,那么P的值会小于等于(或大于等于)C的值”。若父节点的值恒小于等于子节点的值,此堆称为最小堆(min heap);反之,若父节点的值恒大于等于子节点的值,此堆称为最大堆(max heap)。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
2021-04-21 00:57:40
478
原创 networkx
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.简单来说NetworkX是一个Python的包,用来创建和处理复杂网络结构。中文文档:https://www.osgeo.cn/networkx/install.html英文文档:https://networkx.org/docu.
2021-04-16 19:23:04
386
原创 Fisher-Yates 洗牌算法
leetcode题目:打乱数组https://leetcode-cn.com/problems/shuffle-an-array/给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。实现 Solution class:Solution(int[] nums) 使用整数数组 nums 初始化对象int[] reset() 重设数组到它的初始状态并返回int[] shuffle() 返回数组随机打乱后的结果示例:输入["Solution", "shuffle..
2021-04-15 00:00:13
180
原创 图算法概念及介绍
学习几个图算法的概念。团团(clique):一个无向图的子图,该子图中所有任意两个顶点之间都存在一条边。极大团(maximal clique):是一个团,该团不能被更大的团所包含,换句话说,再也不存在一个点能加入这个团。最大团(maximum clique):是指一个图中size最大的极大团。团的size是指极大团的顶点个数。模块度模块度用来衡量一个网络切分的好坏。It was designed to measure the strength of division of.
2021-04-12 23:41:53
1051
原创 鸡蛋掉落
谷歌的一道经典面试题,题目如下:https://leetcode-cn.com/problems/super-egg-drop/给你 k 枚相同的鸡蛋,并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。已知存在楼层 f ,满足0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都会碎,从 f 楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层 x 扔下(满足1 <= x <= n)。如果鸡蛋碎了,你就不能再..
2021-04-10 01:01:53
160
原创 Boyer-Moore 算法
Boyer-Moore 算法的详细步骤:我们维护一个候选众数 candidate 和它出现的次数 count。初始时 candidate 可以为任意值,count 为 0;我们遍历数组 nums 中的所有元素,对于每个元素 x,在判断 x 之前,如果 count 的值为 0,我们先将 x 的值赋予 candidate,随后我们判断 x:如果 x 与 candidate 相等,那么计数器 count 的值增加 1;如果 x 与 candidate 不等,那么计数器 count 的值减少 1。
2021-04-07 21:39:01
315
原创 异或运算
异或运算有以下三个性质。任何数和 00 做异或运算,结果仍然是原来的数,即 a \oplus 0=aa⊕0=a。任何数和其自身做异或运算,结果是 00,即 a \oplus a=0a⊕a=0。异或运算满足交换律和结合律,即 a \oplus b \oplus a=b \oplus a \oplus a=b \oplus (a \oplus a)=b \oplus0=ba⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。...
2021-04-07 21:04:37
1050
原创 Zookeeper安装(单机)
参考文章:https://www.jianshu.com/p/30bcaf55f451Zookeeper搭建下载zookeeper国内镜像源:https://mirror.bjtu.edu.cn/apache/zookeeper/stable/解压zookeepertar -zxvf apache-zookeeper-3.5.9-bin.tar.gz配置zookeeper# 创建相应目录mkdir /tmp/zookeepermkdir /tmp/zookeeper/data
2021-03-25 17:32:44
327
原创 Hive 使用derby作为元数据库
Hive内置存储元数据的数据库为derby。但是使用时会有问题,开启Hive之后会占用元数据库,而derby不与其他客户端共享数据。所以一次只能有一个客户端在使用,如果开了另一个客户端就会连接不上。另外,启动hive时,会在启动的目录创建metasore_db。假设我在bin目录启动hive,因为本地配了HIVE_HOME,所以直接输 hive就可以启动。此时bin目录就有metasore_db。如果我再进入其他目录,如conf,输出hive,能成功启动。但是当输入命令时,会报错如下:
2021-03-24 23:53:51
2007
原创 安装Hive(单机)
安装Hive(单机)环境:macOS安装Hadoop如果环境已有Hadoop,可忽略。下载hadoop-3.3.0.tar.gz ,放到要安装的目录下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/解压tar -zxvf hadoop-3.3.0.tar.gz添加环境变量vim ~/.bash_profile# hadoopexport HADOOP_HOME=/software/hadoop-
2021-03-21 18:31:59
233
原创 Spark RDD算子之foreachPartition
首先,看如下代码ds.foreachRDD( rdd =>{ rdd.foreach{ case( (a,b) =>{ val conn: Connection = JDBCUtil.getConnection conn.close() }) } })在如上代码情况下,rdd中每一条数据处理时都会创建连接,有问题。但是如果
2021-03-04 22:57:26
1437
1
原创 mac brew加速
mac brew安装一直很慢,参考文章https://www.cnblogs.com/syw-home/p/12677586.html进行了代理配置。不过本人没有用清华的代理,而是用其他代理,原理是一样的。配置之前可以看到brew是用的github的仓库,所以很慢,如下:Developer:Homebrew user$ git remote -vorigin https://github.com/Homebrew/brew (fetch)origin https://githu...
2021-03-04 14:21:04
316
1
原创 KMP算法学习
http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/
2020-08-12 21:27:47
114
原创 Go程序设计语言 练习题
练习1.1:修改echo程序输出os.Args[0],即命令的名字。package mainimport ( "fmt" "os")func main(){ if len(os.Args) > 0 { fmt.Println(os.Args[0]) }}运行:go run main.go args args2输出:...
2020-03-29 11:11:27
1368
原创 rancher安装(mac)
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable由于是国内网络,拉取镜像失败了。Unable to find image 'rancher/server:stable' locallydocker: Error response from daemon: Get http...
2019-04-16 16:35:44
1449
原创 javascript学习(一)
最近在做一个在图片上画矩形框的任务。在网上先找了一段代码,准备进行学习。Javascript代码:DrawRectangle = function(id, onMouseUp, className){ document.oncontextmenu=function() { return true;
2016-04-16 23:49:36
304
原创 unix Learning
今天开始学习《UNIX 环境高级编程》,作者为W.Richard Srevens Stephen A.Rago程序清单1-1 有头文件百度之,有#include 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数、readdir函数.opendir函数:DIR *opendir(const
2015-10-17 09:39:51
291
原创 css初学
样式规则结构:selector{ property: value; property: value;}selector:选择符,表示要格式化什么内容,比如head。property:属性,表示要应用什么样式。value:值,表示给样式设置什么样的值。使用类格式化,比如类名为ArticleTitle.HEML5 is Winning.Arti
2015-09-21 13:55:05
257
原创 Git 学习
之前在上学期的Linux学习中有学到一些git的知识,算初步接触吧。然后实话实说老师教得并不好,讲得很混乱,知识没有系统性,不过也怪自己课后没有去自己查阅资料。今天开始看一个git的基础学习,重新学一遍。网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000曾经已
2015-09-13 19:44:29
297
原创 初学HTML5
今天上W3C开始看HTML5。首先是一段实现拖放的代码:function allowDrop(ev){ev.preventDefault();}function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);}function drop(ev){ev.preventDefault();var d
2015-09-09 12:44:25
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人