自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Hive的not in子查询引发的血案:子查询用in,结果正确;而not in 子查询结果必须key(id)中没有null值存在,最终结果才正确

------------------------------------------------- 子查询用in,结果正确;而not in 子查询结果必须key(id)中没有null值存在,最终结果才正确with a as ( select 1 as id, "a1" as name union all select 2 as id, "a2" as name union all select 3 as id, "a3" as name ),b as( selec

2020-06-20 22:47:27 423

原创 给定数组[4,5,6,7,8,9,0,1], 在时间复杂度logn限制下, 找出n是否在该数组中,如果在返回索引位置,如果不在返回-1

给定数组[4,5,6,7,8,9,0,1], 在时间复杂度logn限制下,找出n是否在该数组中,如果在返回索引位置,如果不在返回-1

2020-05-27 21:05:51 246

原创 实现多个线程间交替打印,如在100以内,每个线程每打印10次,然后交换

加粗样式package com.jn.learning.javalearning.thread;/*************************************************************************** * * Written by TankPush (Jn) * DATE: 2020-05-24 23:55 * * Description: 实现多个线程间交替打印,如在100以内,每个线程每打印10次,然后交换 * * *********

2020-05-25 00:08:08 478

原创 多线程(多窗口售票:线程间通信问题,因为多个线程操作同一份共享数据)

实现Runnable接口相对继承Thread要简洁些package com.jn.learning.javalearning.thread;/*************************************************************************** * * Written by TankPush (Jn) * * Description:窗口卖票(多线程操作同一份共享数据,实现线程间通信) * 1、定义总票数:共享数据 * 2、定义卖票功能:同步

2020-05-24 23:47:20 356

原创 Kafka配置

Kafka群起脚本#!/bin/bashfor i in `cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves`dossh $i 'source /etc/profile && /opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.11-0.11.0.2/config/server.properties'if [ $? -

2020-05-24 16:22:20 134

转载 Java内存模型(分代参数)

转自下面链接https://www.jianshu.com/p/61e539b790e3

2020-05-24 11:32:07 196

原创 Idea添加新依赖后,自动将Language Level重置为5的解决办法

Pom文件中添加如下配置添加新依赖的操作在Maven项目发生变化而自动update时,依然会被重置,因此需要保证上面的设置版本号是对的即可,最根本的解决方案就是在pom.xml文件中指定项目编译的Java版本,即maven-compiler-plugin的版本,该版本会影响Language Level和JavaCompiler,修改后项目默认就使用了该配置<build> <plugins> <plugin> <

2020-05-24 11:01:35 807

原创 Spark依赖(SparkCore、SparkSql、SparkStreaming)

SparkStreaming<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.1</version></dependency>

2020-05-24 10:44:39 458

原创 冒泡排序(二次优化版)

package com.jn.learning.algorithm.sort;import java.util.Arrays;import java.util.Random;/*************************************************************************** * * * Written by TankPush (Jn) * Description:冒泡排序: * 优化点: * 1、一轮内部遍历排序后,查看标志位是否无改

2020-05-20 23:34:44 157

原创 给定一个数组,返回一个去重且有序的数组(三种方式)

package com.jn.learning.algorithm.sort;import java.util.Arrays;import java.util.Iterator;import java.util.TreeSet;/***************************************************************************** * * * Written by TankPush (Jn) * * Description: 对给定数组

2020-05-20 00:14:54 889

原创 Hive中inline(array(struct))直接解析struct结构中的内容

从struct 类型的 named_struct_1字段 解析其中内容:page_id, page_name, log_datecreate table tmp_user_scan_info_struct_mid stored as orc asselect uid, named_struct('page_id', page_id, 'page_name', page_name, 'log_date', log_d

2020-05-17 04:51:50 2004

原创 Hive中String数据类型转Map类型(第一种:完整map结构的string类型转map类型;第二、三种:类似map结构的string类型转map类型,第三种需指定分隔符)

----------第一种 完整map结构的string类型: 查看原始表的表结构和数据 ------------hive> select * from test_map_1_to_string;uid string11 {"key1":"value1,key2":"value2"}2 {"key3":"value3,key4":"value4"}-------------------------------- 错误 HiveSQL ---------------------------

2020-05-16 19:30:30 3293

原创 Hive自带函数和配置参数(更新中,对Hive函数或具体实现有疑问处可留言)

create_union

2020-05-16 17:42:55 197

原创 Hive实现:1、获取每个人最高分对应的学科和分数(学生最高分);2、获取每门课程都高于平均分的人、课程和分数(三好学生:每科高于平均分);3、获取每个学科都及格(即不低于60分)的学生

数据表和需求表名:student, 结构和具体内容如下:name course scorezs Math 100zs Engl 80ls Math 90ls Engl 70需求如下:1、获取每个人最高分对应的学科和分数(方式一:使用row_number()开窗函数;方式二:不用开窗函数,使用join方式)2、获取每门课程都高于平均分的人、课程和分数数据准备set hive.exec.mode.local.auto=true;set hive.c

2020-05-16 14:42:42 4033

原创 Hive中Map数据类型转String类型,其中具体内容不变

--上传测试数据drop table test_map_1;create table test_map_1 asselect 1 as uid, map("key1", "value1","key2", "value2") as map1 union all select 2 as uid, map("key3", "value3","key4", "value4") as map1;--查看当前测试表结构是否是map<string,string>类型hive> desc t

2020-05-13 17:25:21 11702

原创 Hive sql 任意N天中有M天登录,如 任意7天达到3天登录

使用HiveSQL实现 任意N天中有M天登录的需求:具体举例,***任意7天达到3天登录***可以翻译为:当前次登录时间 与 第3次登陆的时间 的差值在7天内WITH user_info as(select 1 as user_id, '2020-01-01' as log_date union allselect 1 as user_id, '2020-01-02' as log_date union allselect 1 as user_id, '2020-01-03' as log_dat

2020-05-13 16:58:30 791

原创 多字段同时列转多行(Hive版),即多字段,对应应的位置连接 (如 a-b 1-2 =>列转行后为两行,分别为 a-1,b-2) 注意:posexplode比 explode多返回一个pos

查询sql:select tmp.*, t1.t1_sku_id, t2.t2_order_numfrom( select 1 as uid, 'a,b,c' as sku_id, '10,20,30' as order_num union all select 2 as uid, 'a,b,c,d' as sku_id, '10,20,30,40' as order_num)tmplateral view outer posexplode( spl

2020-05-13 15:10:43 440

原创 使用HiveSQL实现开始到结束日期之间的所有日期

查询1:set hive.exec.mode.local.auto=true; --开启本地模式set hive.cli.print.header=true; --打印表.列名select tmp.*, t.*, date_add(start_date, pos) as mid_datefrom( select '1' as uid, '2020-01-01' as start_date, '2020-01-05' as end_date

2020-05-13 14:40:52 4022

原创 单例设计模式(静态内部类方式:线程安全,且懒加载)

package com.jn.learning.javalearning.singleton;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * 静态内部类方式 * 线程安全,且懒加载 * * *****************************

2020-05-11 13:05:20 193

原创 经典的生产消费者问题(多线程:线程间通信;静态代理)

package com.jn.learning.javalearning.thread;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * 生产消费者问题:线程间通信 * 生产者生产产品,消费者消费产品, * 中间环节中店员负责二者间联系,当数量少于10

2020-05-11 12:34:46 130

原创 单例设计模式(饿汉式:线程安全)

package com.jn.learning.javalearning.singleton;/********************************************************************************************** * * * Written by TankPush (Jn) * Description: * 饿汉式:线程安全 * * ********************************************

2020-05-11 01:04:39 202

原创 单例设计模式(DCL:双重检锁、懒汉式)

package com.jn.learning.javalearning.singleton;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * DCL双重检测单例 * volatile: ①保证线程可见性 ②防止指令重排序 * 线程安全 * * *

2020-05-11 00:48:32 357 1

原创 单例设计模式(枚举方式:饿汉式)

package com.jn.learning.javalearning.singleton;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * 饿汉式:最简洁。 * 实现了序列化、toString、可比较大小等 * * ***************

2020-05-11 00:44:29 246

原创 选择排序 V1 (初始版本)

package com.jn.learning.algorithm.sort;import java.util.Random;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * 选择排序,是不稳定排序:从开始位置,选定一个元素,依次与后面元素比较,如果后

2020-05-11 00:37:34 93

原创 选择排序 V3(遍历优化,一次遍历找出最大值和最小值)

package com.jn.learning.algorithm.sort;import java.util.Arrays;import java.util.Random;/********************************************************************************************** * * * Written by TankPush (Jn) * * Description: * 选择排序 * 时间复杂度

2020-05-11 00:23:07 664

原创 选择排序 V2(多次执行的代码单独成方法)

package com.jn.learning.algorithm.array;import java.util.Arrays;import java.util.Random;/********************************************************************************************** * * * Written by TankPush ((Jn)) * * Description: * 选择排序,是不稳定排

2020-05-11 00:13:07 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除