- 博客(94)
- 收藏
- 关注
原创 java键盘输入char类型二维数组
char类型数组和常规的int类型不同,next获取的是字符串,看了下网上其他文章都是错误的,发出来一下Scanner in=new Scanner(System.in); int m=in.nextInt(); int n=in.nextInt(); char[][] nums=new char[m][n]; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){
2022-04-19 21:24:06 2226 1
原创 mysql(补)
1.查询字段新名字select ename as ‘员工姓名’ from emp;2.不等于<> 或 !=3.范围查询between … and:包括最大值和最小值4.符号优先级用括号,不要记5.对于null为空:is null不为空:not null6.模糊查询:like_代表一个字符%代表多个字符例:查询姓名以M开头所有的员工select * from emp where ename like ‘M%’;以N结尾: ‘%N’包含O: ‘%O%’第二个字符是
2022-04-06 18:59:57 882
原创 二维数组排序
1.第一个元素升序Arrays.sort(nums, new Comparator<int[]>() {@Overridepublic int compare(int[] num1, int[] num2) {return num1[0]-num2[0];}});2.第一个元素降序Arrays.sort(nums, new Comparator<int[]>() {@Overridepublic int compare(int[] num1, int[] n
2022-03-25 20:53:54 625
原创 Hive------Hive Lateral view、视图、索引
1.Hive Lateral viewLateral View用于和UDTF函数(explode、split)结合来使用。主要解决在select使用UDTF做查询过程中,查询只能包含单个UDTF,不能包含其他字段、以及多个UDTF的问题语法:LATERAL VIEW udtf函数 表名 AS 字段名...
2021-12-20 22:42:56 740
原创 Hive------内置运算符,内置函数,内置聚合函数,内置表生成函数,自定义函数,hive分桶,
1.Hive JDBCpublic class Hive01 { private static String driverName="org.apache.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { try { Class.forName(driverName); } catch (ClassNotFoundE
2021-12-05 13:41:13 276
原创 Hive----建表,删除数据,添加数据
1.Hive的直连数据库(mysql)模式最常用的模式2.Hive数据类型(data_type)**基本类型(primitive type):**与mysql相同array_type: Array<data_type>map_type: MAP < primitive_type, data_type >**struct_type:**STRUCT < col_name : data_type [COMMENT col_comment], …>3.内部表和外
2021-12-03 14:12:59 452
原创 SparkStreaming-----第一个wordcount,算子,Driver HA
1.sparkStreaming流式处理框架,是Spark API的扩展,RDD最终封装到DStream中2.第一个wordcountpom依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.12</artifactId> <version>3.0.0</version> &l
2021-12-01 22:19:26 1083
原创 sparkSQL------读取Hive数据、UDF和UDAF自定义函数、SparkSQL开窗函数
1.读取Hive中的数据加载成DataFrame <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.11</artifactId> <version>2.3.1</version> </dependency>object sparkSQL06 { def m
2021-11-30 12:23:06 1714
原创 SparkSQL-----各种方式加载DataFrame
1.SparkSQL介绍SaprkSQL完全脱离了Hive的限制,能够在Scala中写SQL语句。支持简单的SQL语法检查,能够在Scala中写Hive语句访问Hive数据,并将结果取回作为RDD使用。2. Spark on Hive和Hive on SparkSpark on Hive: Hive只作为储存角色,Spark负责sql解析优化,执行。Hive on Spark:Hive即作为存储又负责sql的解析优化,Spark负责执行。3.DataFrameDataFrame也是一个分布式数据
2021-11-25 12:34:44 1657
原创 spark(四)-------术语解释、案例、二次排序及案例、分组取topN及案例
1.spark-core中的术语Master:资源管理的主节点Cluster Manager:在集群上获取资源的外部服务Worker Node:资源管理的从节点或者说管理本机资源的进程Application:基于Spark的用户程序,包含了driver程序和运行在集群上的executor程序Driver Program:用来连接工作进程的程序Executor:是在一个worker进程所管理的节点上为某Application启动的一个进程。Task:被送到某个executor上的工作单元Job
2021-11-12 20:28:32 1501
原创 idea自带程序打jar包
1.Ctrl+Alt+shift+S打开项目的Project Structure。在Artifacts创建2.指定mian class3.点击ok,打包Artifacts:Build—选择Build Artifacts
2021-11-08 12:02:24 267
原创 spark(三)------spark pi任务提交
1.输出1到100的数字中x,y轴的和在单位圆中的点,并统计个数object sparkPi { def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf() conf.setAppName("sparkPi") conf.setMaster("local") val context: SparkContext = new SparkContext(conf) val
2021-11-07 14:28:45 2938
原创 spark(二)--------集群搭建
1.spark下载地址spark.apache.org版本选择2.3.1,个人建议不选择.0结尾的,测试版容易有bug2.解压并配置worker节点我们需要一台虚拟机作为master节点,两台作为worker节点将下载好的spark安装包上传到master节点,并解压[root@hadoop102 module]# tar -zvxf spark-3.0.0-bin-hadoop3.2.tgz解压后我们进入conf文件夹下的slaves.template文件,个人不建议直接vim,先将该
2021-11-06 16:16:31 1089
原创 spark与scala版本报错:NoSuchMethodError
1.一般来说这是版本不对应的报错,spark3对应的scala版本应该是2.12,具体见官网,然后讲scala版本进行修改,修改方式2.scala下载地址:
2021-11-02 16:07:51 328
原创 spark wordcount
1.创建maven项目,引入pom依赖```xml<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dependency></dependencies><
2021-11-02 10:34:31 252
原创 spark(一)----算子
1.算子:RDD的方法就叫算子RDD:spark中分区的集合2.spark中算子分类:(1)Transformations类算子:不能自己执行,需要Action类算子。flatMap,map,sortBy,sortByKey,mapToPair,reduceByKey(2)Action类算子:出发Transformation类算子执行,foreach(3)...
2021-11-02 10:31:12 386
原创 scala语言(八)-------隐式转换
1.隐式值和隐式参数使用关键字impilicit定义隐式值就是:implicit val name:String=“zjc”隐式方法就是给参数用implicit定义隐式转换作用:调用方法时,不需要传参,scala会自动寻找隐式值传入object test11 { def main(args: Array[String]): Unit = { implicit val name="zjc" sayName } def sayName(implicit name:Strin
2021-10-31 10:25:37 137
原创 scala语言(七)-----接口trait、case class 和偏函数
1.traittrait相当于java中的接口,但用法截然不同trait中可以定义属性和方法,但是在实现类中需要给属性赋值,方法可以直接调用trait不可以传参package zjctrait read{ var age:Int def read(name:String){ println(name + "is reading") }}trait listen{ var sex:Int def listen(name:String){ println
2021-10-29 17:42:58 243
原创 Scala语言(六)-------Set、Map、Tuple
一.Set1.set集合创建以及方法package zjcobject test05 { def main(args: Array[String]): Unit = { val set=Set[Int](1,2,3,4) val set1=Set[Int](2,3,4,5) val value: Set[Int] = set.intersect(set1) value.foreach(println) println("============")
2021-10-28 18:34:28 115
原创 Scala语言(五)------数组、列表
1.创建一维数组及遍历//第一种方式var array1=new Array[Int](3) array1(0)=1 array1(1)=2 array1(2)=3//第二种方式 var array2=Array[String]("s100","s200","s300")//遍历的两种方式//第一种fereacharray2.foreach{ x=>println(x) }//第二种for for(i<-array1){ prin
2021-10-27 14:14:18 161
原创 scala语言(四)----函数和方法
1.函数定义2.函数简化原则1)如果返回值可以一行搞定,可以将{}省略不写2)可以不写return,会把方法中最后一行当做结果返回。3)返回值的类型也可以不写,会自动推断object test02 { def main(args: Array[String]): Unit = { def sum(x:Int,y:Int)= x+y println(sum(1,2)) }}3.递归算法递归时一定要定义方法的返回值类型4.可变长参数表示是指定类型的参数,但是个数不固
2021-10-26 22:51:59 139
原创 Scala语言(三)----循环判断
1.变量和数据类型(1)变量和常量定义变量:var 变量名[:变量类型]=初始值定义常量:val 常量名[:常量类型]=初始值2.if else和其他语言一样3.for循环tofor(i<-1 to 3) )i 将会从 1-3 循环,前后闭合untilfor(i <- 1 until 3) i 是从 1 到 2,前闭合后开by 步长for (i <- 1 to 10 by 2)循环嵌套for(i <- 1 to 3; j <- 1 to 3)
2021-10-26 15:38:14 106
原创 scala语言(一):环境搭建
1.hello worldobject Hello{def main(args:Array[String]):Unit={println(“hello”)}}2. 写scala程序,一定要有scala插件scala下载地址:https://plugins.jetbrains.com/plugin/1347-scala/versions安装:3.IDEA编程创建新的类
2021-10-19 18:57:14 123 1
原创 hadoop基础案例题
HDFS篇文件上传、文件下载MapReduceMapReduce篇1.helloMapReduce(WordCount)2.phoneData3.phoneData4.5.6.
2021-10-10 22:13:03 77
原创 大数据开发Hadoop-----MapReduce
1.常用得数据序列化类型2.MapReduce编程规范1)Mapper阶段(1)用户自定义的Mapper要继承自己的父类(2)Mapper的输入数据是KV对的形式(KV的类型可自定义)(3)Mapper中的业务逻辑写在map()方法中(4)Mapper的输出数据是KV对的形式(KV的类型可自定义)(5)map()方法(MapTask进程)对每一个<K,V>调用一次2)Reducer阶段(1)用户自定义的Reducer要继承自己的父类(2)Reducer的输入数据类型对应Map
2021-10-08 19:57:07 428
原创 Hadoop笔记----HDFS
对HDFS进行操作,需要先新建FileSystem对象1.文件上传FileSystem fs= FileSystem.get(uri,configuration);fs.mkdirs(new Path("/hougong/lff"));//参数解读:参数一:删除原数据,参数二:是否允许覆盖,参数三:原数据路径,参 数 四:目的地路径fs.copyFromLocalFile(false,false,new Path(“D:\hadoop\lff.txt”),new Path("/hougong
2021-09-28 21:51:55 248
原创 大数据linux命令
1.vim三种模式2.vim +文件名(修改该文件)3.进入编辑模式–i或insert都可以编辑完成后esc退出编辑模式:wq-----保存后返回命令行:wq!----强制离开q!----不保存而强制离开4.vim快捷键拷贝当前行:yy,拷贝当前行向下的5行:5yy。粘贴:p。【一般模式】删除当前行:dd,删除当前行向下的5行:5dd 【一般模式】在文件中查找某个单词 【命令模式下:/关键字,回车查找,输入n就是查找下一个】编辑/etc/profile文件,使用快捷键到底文档的最末行
2021-09-19 15:23:14 264
原创 vmware新建虚拟机
2.选择自定义3.下一步,下一步,稍后安装操作系统4.5.6.7.一直下一步到,分配磁盘大小为50G8.指定存储位置9.目前硬件部分全部完成10.双击CD/DVD(IDE)11.使用镜像文件12.开启虚拟机13.设置时间,软件选择最小安装,14.15.配置网络和主机名...
2021-09-17 16:27:04 105
原创 mybatis分页
一.依赖<!-- pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version></dependency>二。application.y
2021-08-31 10:22:34 125
原创 springboot与shiro整合
一。shiro1.1 shiro的核心APISubject:用户主体(把操作交给SecurityManager)SecurityManager:安全管理器(关联Realm)Realm:连接数据的桥梁1.2整合依赖
2021-08-19 18:04:07 66
原创 8080 is already in use
端口号被占用今天只讲一种方法:1.netstat -ano可以看到8080占用端口号是163402.在任务管理器—详细信息中查找16340,结束该进程。
2021-08-17 15:04:42 95
原创 java代码规范
【强制】缩进采用4个空格,禁止使用tab字符。【强制】任何运算符左右必须加一个空格。【强制】左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格。【强制】if/for/while/switch/do等保留字与左右括号之间都必须加空格。【强制】方法参数在定义和传入时,多个参数逗号后边必须加空格。【强制】Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。正例:“test”.equals(object);反例:object.equal
2021-07-13 14:35:15 456
原创 力扣热题100---链表篇
回顾链表知识:单链表有一个头结点,不存储元素的值,所以P.next才是指链表的第一个元素。1.合并两个有序链表法一:递归class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2){ if(l1==null){ return l2; } if(l2==null){ return l1; }
2021-06-09 16:00:41 204
原创 力扣热题100(数组篇)
1.最大子序和法一:贪心算法:若当前指针所指元素之前的和小于0,则丢弃当前元素之前的数列(在每一步在求得最大和,再加上最新元素时与最大和做比较)/*伪代码部分,解题思路cur_sum=max_sum=nums[0];cur_sum=max(nums[i],cur_sum+nums[i]);max_sum=max(cur_sum,max_sum);*/class Solution { public int maxSubArray(int[] nums) { int max_su
2021-06-01 10:42:06 395
原创 thymeleaf常用属性--包括th:each,条件判断和th:inline
1.基础属性<body><h1>text属性:</h1><h1 th:text="${lff.name}"></h1><br><p>href属性:</p><a th:href="@{/href}">查看</a><br><p>action属性</p><form th:action="@{/action}" th:method="po
2021-05-27 21:06:30 417
原创 力扣热题100---树
1.对称二叉树法一:递归class Solution { public boolean isSymmetric(TreeNode root) { return check(root,root); } public boolean check(TreeNode p,TreeNode q){ if(p==null&&q==null){ return true; } if(p==nul
2021-05-27 12:18:22 162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人