学习笔记
文章平均质量分 52
笙不凡
这个作者很懒,什么都没留下…
展开
-
windows中 beego 手动安装bee工具
执行完上述所有的操作后,测试bee。目录下会生成bee.exe文件。进入bee目录,执行编译命令。原创 2022-10-26 14:53:58 · 402 阅读 · 2 评论 -
fatal: unable to access ‘https://***.git/‘: OpenSSL SSL_read: Connection was reset, errno 10054
OpenSSL SSL_read: Connection was reset, errno 10054原创 2022-03-03 14:27:19 · 2519 阅读 · 0 评论 -
MySQL中,创建触发器
在MySQL中,创建触发器语法如下:CREATE TRIGGER trigger_nametrigger_time trigger_event ON tbl_nameFOR EACH ROWtrigger_stmt其中:trigger_name:标识触发器名称,用户自行指定;trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;tbl_name:标识建立触发器的表名,即在原创 2021-03-23 20:20:34 · 1426 阅读 · 0 评论 -
对于表actor插入数据,如果数据已经存在,请忽略(不支持使用replace操作)
对于表actor插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)如果不存在就忽略,需要使用ignore关键字,insert ignore into actor values('1','张三') ;原创 2021-03-23 19:37:25 · 215 阅读 · 0 评论 -
Hadoop作业调度策略
作业调度策略有三种:1、默认调度算法–FIFO队列策略:hadoop默认调度器,它先按照作业优先级的高低,再按照到达时间的先后来选择被执行的作业。优点:调度算法简单,JobTracker工作负担轻。缺点:忽略了不同作业的需求差异。例如如果类似于对海量数据进行统计分析的作业长期占据计算资源,那么在其后提交的交互型作业有可能迟迟得不到处理,从而影响用户体验。2、计算能力调度算法Capacity Scheduler(Yahoo 开发)(1)Capacity Scheduler 中可以定义多个作业队列,原创 2021-03-10 15:39:39 · 730 阅读 · 0 评论 -
Hadoop文件读写简易版
NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次namenode 启动的时候才会读取。文件写入Client 向 NameNode 发起文件写入的请求。NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个 DataNode 块中。文件读取Client 向 NameNode 发起文件读取原创 2021-03-10 15:28:26 · 85 阅读 · 1 评论 -
Spark的容错机制
一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。面向大规模数据分析,数据检查点操作成本很高,需要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低得多,同时还需要消耗更多的存储资源。因此,Spark选择记录更新的方式。但是,如果更新粒度太细太多,那么记录更新成本也不低。因此,RDD只支持粗粒度转换,即只记录单个块上执行的单个操作,然后将创建RDD的一系列变换序列(每个RDD都包含了他是如何由其他RDD变换过来的以及如何重建某一块数据的信息。因此RDD的容错原创 2021-03-10 15:12:22 · 905 阅读 · 0 评论 -
Linux下kafka集群配置安装
写在最前由于kafka的启动依赖zookeeper,所以在此之前首首先需要安装号zookeeper集群并可以成功启动,一.下载kafka的包先去镜像网站下载kafka对应版本的jar包,apache安装包镜像网站然后上传到Linux中解压,并使用xsnyc命令将其分发到集群的其他节点的机器中 xsync kafka/进入到config目录下,修改kafka的安装配置vim server.properties主要修改broker.id,log.dirs=/opt/module/kafk原创 2021-01-06 20:07:14 · 477 阅读 · 0 评论 -
Spark集群中整合hive(元数据存储在MySQL)
本文的前提是,已经在集群的一个节点配置好了hive,我的hive已经再Hadoop104节点配置完毕,并且可以正常启动和运行。一.将hive-site.xml,复制到spark主节点的conf目录下scp hive-site.xml LMK@hadoop102:/opt/module/spark-2.4.6/conf二.将jdbc的连接驱动放到spark的jars目录下 scp mysql-connector-java-5.1.38.jar LMK@hadoop102:/opt/module/s原创 2020-12-09 15:35:12 · 245 阅读 · 0 评论 -
Linux中scp,rsync,xsync命令的区别
scp、 拷贝完全相同scp -r etc/hadoop/dfs.hosts [email protected]:/usr/local/hadoop/hadoop-2.7.6/etc/hadoop/rsync、拷贝有差异的文件rsync -rvl etc/hadoop/hdfs-site.xml [email protected]:/usr/local/hadoop/hadoop-2.7.6/etc/hadoop/xsync、循环复制文件到所有节点相同的目录下!/bin/bas原创 2020-12-09 15:22:23 · 856 阅读 · 0 评论 -
OLAP和OLTP区别分析
OLAP(On-Line Analytical Processing)联机分析处理,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。应用在数据仓库,使用对象是决策者。OLAP系统强调的是数据分析,响应速度要求没那么高。OLTP(On-Line Transaction Processing)联机事务处理,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fas原创 2020-12-06 17:13:04 · 272 阅读 · 0 评论 -
Zeppelin的配置和安装
Zeppelin 是和Juppter 类似的笔记本工具,支持多种语言,支持spark,scala ,一》在官网下载安装包,我选择的是在清华的镜像网站下载https://mirrors.tuna.tsinghua.edu.cn/apache/zeppelin/将其解压到Linux中,这里我选则的是我的hadoop104节点。二》如果只是用于了解和学习,并不需要复杂配置,只需要配置env文件和site文件即可。首先将conf目录下的zeppelin-site.xml模板复制一份,env文件同理。c原创 2020-12-05 21:09:21 · 518 阅读 · 0 评论 -
zookeeper中共享锁
共享锁共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren 方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 exists(String path, boolean watch) 方法并监控 Zookeeper原创 2020-11-30 11:17:46 · 290 阅读 · 0 评论 -
Java中字符串数组转字符串
1.如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法String[] str = {"abc", "bcd", "def"};StringBuffer sb = new StringBuffer();for(int i = 0; i < str.length; i++){ sb. append(str[i]);}String s = sb.toString();2.如果是 “字符数组” 转 “字符串” 可以通过下边的方法char[] data={'a','b',原创 2020-11-27 18:51:34 · 625 阅读 · 0 评论 -
java中替换字符串中的字符
java中替换字符串中的字符public static void main(String[] args) { String string = "aaabbb"; String newString = string.replace('a', 'o'); System.out.println(newString); }原创 2020-11-27 17:26:23 · 4888 阅读 · 0 评论 -
HashMap.getOrDefault()的用法
当Map集合中有这个key时,就使用这个key值,如果没有就使用默认值defaultValue HashMap<String, String> map = new HashMap<>(); map.put("name", "cookie"); map.put("age", "18"); map.put("sex", "女"); String name = map.getOrDefault("name", "random"); System.out.println(name原创 2020-11-27 12:48:16 · 1271 阅读 · 0 评论 -
计数排序,桶排序,基数排序代码
一、计数排序1.基本思想计数是一种适合元素均为大于等于零的整数,且最大值与最小值差值不大的排序将数组元素作为数组下标,用一个临时数组统计每个元素出现的个数,再将临时数组从小到大输出,就得到了排序好的数组比如 2,5,8,9,6,6,1这几个数排序,令临时数组长度为 10,当读入2时,count[2]++,所有数据读完后的count数组如下count[0] = 0count[1] = 1count[2] = 1count[3] = 0count[4] = 0count[5] = 1cou原创 2020-11-26 20:41:02 · 154 阅读 · 0 评论 -
Zookeeper功能简介
Zookeeper功能简介ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管理、Master 选举、分布式锁和分布式队列 等功能。Zookeeper基本概念集群角色Leader (领导)Follower (追随者)Observer (观察员)一个 ZooKeeper 集群同一时刻只会有一个 Leader,其他都是 Foll原创 2020-11-23 19:01:18 · 206 阅读 · 0 评论 -
hive建表语法和参数说明
create [external] table [if not exists] table_name (col_name data_type [comment '字段描述信息']col_name data_type [comment '字段描述信息'])[comment '表的描述信息'][partitioned by (col_name data_type,...)][clustered by (col_name,col_name,...)][sorted by (col_name [asc|原创 2020-11-21 20:02:19 · 1410 阅读 · 1 评论 -
hive创建不同的表(内部,外部,分区,分桶)
Hive本身并不存储数据,而是将数据存储在Hadoop的HDFS中,表名对应HDFS中的目录/文件。根据数据的不同存储方式,将Hive表分为外部表、内部表、分区表和分桶表四种数据模型。每种数据模型各有优缺点。通过create user命令创建user表时,会在HDFS中生成一个user目录/文件。外部表数据不由Hive管理,使用drop命令删除一个表时,只是把表的元数据给删除了,而表的数据不会删除。 创建外部表的SQL语句:create external table bigdata17_user(u原创 2020-11-21 19:55:30 · 479 阅读 · 0 评论 -
hive导入excel数据
拿到Excel表后将数据保留,其他的乱七八糟都删掉,然后另存为txt格式的文本,用nodepad++将文本转换为UTF-8编码,此处命名为cityprovince.txt将cityprovince.txt传入操作的Linux环境中hive建表,注意字段类型要相同drop table tmp.cityprovince;create table tmp.cityprovince (province String,city String,county String,station String) ro原创 2020-11-21 17:02:27 · 2990 阅读 · 2 评论 -
Linux中安装MySQL
第一步:在线安装mysql相关的软件包yum install mysql mysql-server mysql-devel第二步:启动mysql的服务/etc/init.d/mysqld start第三步:通过mysql安装自带脚本进行设置/usr/bin/mysql_secure_installationmysql -u root -p 进入mysql中第四步:进入mysql的客户端然后进行授权grant all privileges on *.* to 'root'@'原创 2020-11-18 16:14:22 · 71 阅读 · 0 评论 -
CentOS 修改/etc/resolv.conf 重启network后又恢复到原来的状态解决方案
问题描述:CentOS 修改/etc/resolv.conf 执行service network restart后,/etc/resolv.conf又恢复到原来的状态解决方法:/etc/resolv.conf保存DNS是暂时的,当重新启动network时,/etc/resolv.conf恢复到了初始状态,要想更改,可尝试下边的方法。修改 /etc/sysconfig/network-scripts/ifcfg-eth0在其中的加入你要添加的DNS,如下图之后保存退出,执行service networ原创 2020-11-18 15:20:22 · 2000 阅读 · 0 评论 -
hive和Hadoop的版本关系
hbase和hive之间版本对应关系在这里插入图片描述图片来源参考官网:http://hbase.apache.org/book.html#hadoophive和hadoop、hive和spark之间版本对应关系版本信息来自于hive源码包的pom.xml:hive-3.1.2<hadoop.version>3.1.0</hadoop.version><hbase.version>2.0.0-alpha4</hbase.version><原创 2020-11-18 14:57:15 · 16324 阅读 · 2 评论 -
Java中var类型的用法
Java中var是Java10版本新出的特性,用它来定义局部变量。使用var 定义变量的语法: var 变量名 = 初始值;如果代码:var a = 20;var a =8.9;这样的代码会报错 显示int到double的转换;Java是强类型语言,每个变量都有固定的变量类型。var是什么:var不是关键字,它相当于是一种动态类型;var动态类型是编译器根据变量所赋的值来推断类型;var 没有改变Java的本质,var只是一种简便的写法,就是说在定义局部变量时,任意什么类型都可以用va原创 2020-11-16 17:15:35 · 24898 阅读 · 0 评论 -
Java中栈和队列的常用方法
Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。Queue MethodEquivalent Deque Method说明add(e)addLast(e)向队尾插入元素,失败则抛出异常offer(e)offerLast(e)向队尾插入元素,失败则原创 2020-11-16 17:00:37 · 1063 阅读 · 0 评论 -
栈的poll,pollFirst,pollLast用法
LinkedList.poll():检索并删除此列表的头部(第一个元素)。LinkedList.pollFirst():检索并删除此列表的第一个元素,如果此列表为空,则返回null。LinkedList.pollLast():检索并删除此列表的最后一个元素,如果此列表为空,则返回null...原创 2020-11-16 16:47:43 · 4474 阅读 · 0 评论 -
form表单标签的enctype属性用法介绍
一、application/x-www-form-urlencoded:1、表单中的enctype值如果不设置,则默认是application/x-www-form-urlencoded,它会将表单中的数据变为键值对的形式。2、如果action为get,则将表单数据编码为(name1=value1&name2=value2…),然后把这个字符串加到url后面,中间用?分隔。3、如果action为post,浏览器把form数据封装到http body中,然后发送到服务器。二、text/plai原创 2020-11-09 20:16:47 · 928 阅读 · 0 评论 -
spring之@Autowired
@Autowired用来标记一个构造方法(constructors),属性(field),设值方法(setter method),或者配置方法(config method)被自动配置,其底层是通过spring的依赖注入能力实现的。@Autowired可传入一个属性required,默认值是true,@Autowired(required=true)等同于@Autowired,所以一般省略。@Autowired与构造方法(constructors)1.对bean类来说只有一个构造方法能够使用属性requ原创 2020-11-08 09:08:53 · 315 阅读 · 0 评论 -
IDEA导入maven项目不自动识别
从github上,检出maven多模块工程项目,发现module不被识别为maven项目,而是一个文件夹原创 2020-11-07 16:32:57 · 596 阅读 · 0 评论 -
窗口函数的作用
分类函数名备注Ranking functionsrank排名重叠时,下一名次有间隔dense_rank排名重叠时,下一名次无间隔percent_rank(rank - 1) / (total_rows - 1)ntilerow_numberAnalytic functionsfirst_valueframe_definitionlast_valueframe_definitionnth_valueframe_de...原创 2020-11-02 17:11:31 · 739 阅读 · 0 评论 -
SQL语句limit和offset的用法
假设有这么一张表名叫ids,只有id一列:id---12345......197198199200执行:SELECT * FROM ids LIMIT 10, 1输出:id---11执行:SELECT * FROM ids LIMIT 10, 3输出:id---111213执行:SELECT * FROM ids LIMIT 45, 1输出:id---46从以上示例可以看出,LIMIT后的第一个参数是输出记录的初始位置,第二个原创 2020-11-02 16:07:34 · 1892 阅读 · 0 评论 -
Linux中集群时间同步
参考:http://www.cnblogs.com/pipelone/archive/2009/06/17/1505002.htmlyum安装于卸载软件常见命令:http://blog.csdn.net/kandyer/article/details/7941302时区设置:http://blog.csdn.net/gtlions/article/details/7542932说明1:①yum install ntpntp是一个服务,安装ntp服务②yum install ntpdatentp原创 2020-10-30 21:16:52 · 324 阅读 · 1 评论 -
一些关于spark集群节点的问题
1.SparkContext哪一端生成的?Driver端2.DAG是在哪一端被构建的?Driver端3.RDD是在哪一端生成的?Driver端4.广播变量是在哪一端调用的方法进行广播的?Driver端5.要广播的数据应该在哪一端先创建好再广播呢?Driver端6.调用RDD的算子(Transformation和Action)是在哪一端调用的Driver端7.RDD在调用Transformation和Action时需要传入一个函数,函数是在哪一端声明和传入的?Driver端6.RD原创 2020-10-30 20:42:13 · 163 阅读 · 0 评论 -
在客户端中,实现spark单词计数,
package day3import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * created by lmk on 2020/10/16 */object ScalaWordCount { def main(args: Array[String]): Unit = { //创建spark配置,设置应用程序名字 val conf=new SparkConf(原创 2020-10-30 12:21:19 · 104 阅读 · 0 评论 -
本地运行spark的pom文件
<dependencies> <!--mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> ...原创 2020-10-30 12:18:39 · 248 阅读 · 0 评论 -
maven引入MySQL,Scala,Spark相关依赖
<!--mysql驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> &l原创 2020-10-30 12:17:13 · 664 阅读 · 0 评论 -
ip地址与整数相互转换
一、将ip地址转成long数值将IP地址转化成整数的方法如下:1、通过String的split方法按.分隔得到4个长度的数组2、通过左移位操作(<<)给每一段的数字加权,第一段的权为2的24次方,第二段的权为2的16次方,第三段的权为2的8次方,最后一段的权为1二、将数值转换为ip地址将十进制整数形式转换成127.0.0.1形式的ip地址将整数形式的IP地址转化成字符串的方法如下:1、将整数值进行右移位操作(>>>),右移24位,右移时高位补0,得到的数字即为第一原创 2020-10-28 19:47:52 · 1704 阅读 · 0 评论 -
@Controller和@RestController的区别
@Controller和@RestController的区别如下:官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1)如果只是使用@Controller注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器In原创 2020-10-28 17:05:18 · 602 阅读 · 0 评论 -
Scala常用符号
:: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil))。所以 :: +: :::这些操作符都是在前面插入( ++: 除外,为什么?)。:+ ++ ++:这些是追加、拼接。原创 2020-10-25 10:44:31 · 692 阅读 · 0 评论