- 博客(41)
- 收藏
- 关注
转载 Iceberg - 打造新一代数据湖技术
| 导语 新型数据湖框架是在大数据技术经历了10余年的沉淀之后,又一项业界炙手可热的技术。当前,业界涌现了一批优秀的开源框架,例如:Iceberg, Hudi, Delta Lake等。该技术可以解决大数据领域长期的流批作业混合(lambda架构)的业务痛点,包括:上游数据导入与下游分析作业的schema规范与对齐,数据写入的ACID保证,数据变更(Update, Delete等)操作,以及频繁数据导入造成的海量小文件等。TEG数据平台部的数据湖团队自2019年上半年开始密切关注与调研业界最新的热点技术,结
2021-09-15 14:36:56 1060
原创 BitMap 的基本原理和实现
目录一、原理二、实现三、使用四、总结一、原理基本原理BitMap 的基本原理就是用一个 bit 来标记某个元素对应的 Value,而 Key 即是该元素。由于采用一 个bit 来存储一个数据,因此可以大大的节省空间。我们通过一个具体的例子来说明 BitMap 的原理,假设我们要对 0-31 内的 3 个元素 (10, 17,28) 排序,那么我们就可以采用 BitMap 方法(假设这些元素...
2019-05-05 21:09:53 899
原创 python常用魔法方法汇总
在python中,有一些内置好的特定的方法,这些方法在进行特定的操作时会自动被调用,称之为魔法方法,下面介绍几种常见的魔法方法。目录1、__init__2、__new__3、__class__4、__str__5、__del__6、__getattribute__7、__bases__8、__mro__9、__all__1、init初始化函数,在创建实例对象为其赋值时使用,在__new__之...
2019-05-04 17:02:56 818
转载 CMS 收集器
HotSpot JVM 的并发标记清理收集器 (CMS 收集器) 的主要目标就是:低应用停顿时间。该目标对于大多数交互式应用很重要,比如 web 应用。在我们看一下有关 JVM 的参数之前, 让我们简要回顾 CMS 收集器的操作和使用它时可能出现的主要挑战。就像吞吐量收集器 (参见本系列的第 6 部分),CMS 收集器处理老年代的对象, 然而其操作要复杂得多。吞吐量收集器总是暂停应用程序线程,并...
2019-02-12 20:57:28 322
转载 Maven生成可以直接运行的jar包的多种方式
Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误。要想jar包能直接通过java -jar xxx.jar运行,需要满足:1、在jar包...
2019-02-12 15:52:04 157
原创 hive窗口函数
建立一张测试表CREATE TABLE test (cookieid STRING, create_time STRING, pv INT) ROW FORMAT DELIMITEDFIELDS TERMINATED BY ',';查看表数据select * from test;+----------------+-------------------+----------+--+...
2019-02-01 01:36:54 802
原创 Mysql事务隔离级别与MVCC的实现
事务是一组原子性的查询单元,这组查询单元执行要么全部成功,要么全部失败。如果其中有任何一条语句因为崩溃或者其他原因导致失败,那么事务中的其他查询也会随之失败。ACID特性MySQL中事务必须满足ACID特性:ACID表示:原子性(atomicity),一致性(consistency),隔离性(isolation)和持久性(durability)原子性:一个事务必须是一个不可分割的原子单元,...
2018-12-03 21:33:50 1060
原创 深入理解JVM内核----内存分配与回收策略
注:此处的JVM特指HOTSPOT虚拟机名词解释:GC:垃圾收集器Minor GC:新生代GC, 指的是发生在新生代的垃圾收集动作,Major GC/FULL GC: 发生在老年代的GC动作JVM中堆空间分代JVM中将堆空间分为新生代和老年代,新生代又被分为1个Eden区和两个Survivor区(ToSpace和FromSpace)。为什么要分代?分代的唯一理由是优化GC性能,...
2018-12-01 16:55:18 348
原创 python 处理 Impala 日志
使用到的Url为: /clusters/{clusterName}/services/{serviceName}/impalaQueries需要导入的函数库:#encoding:utf-8import urllib.requestimport base64import jsonimport timeimport datetimeimport pytzimport py...
2018-06-26 17:52:13 945
原创 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。class Solution { private int max = 0; public int maxSubArray(in...
2018-06-12 20:35:50 649
原创 hive数据优化
影响Mapper的数量 1)文件数量 2)文件大小,根据下面参数进行切割 set mapred.max.split.size=128000000影响Reducer数量 mapred.reduce.tasks(强制指定reduce的任务数量) hive.exec.reducers.bytes.per.reducer(每个reduce任务处理的数据量,默认为1000^3=1G)...
2018-06-12 19:55:27 285
原创 hive参数调优
Map Reduce数量相关 数据分片大小 (分片的数量决定map的数量) 计算公式: splitSize = Math.max(minSize, Math.min(maxSize, blockSize)) set mapreduce.input.fileinputformat.split.maxsize=750000000;单个reduce处理的数据量 (影响reduce的数量) ...
2018-06-12 19:51:28 1323
原创 hadoop基本命令
用户命令distcp 用于大规模集群内部和集群之间拷贝的工具, 使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成 把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝 命令行中可以指定多个源目录: bash$ hadoop distcp hdfs://nn1:8020/foo/a \ hdfs://...
2018-02-24 18:02:58 294
原创 shell-管道命令
cut 将一段信息的某一段“切”出来,处理得信息是以“行为单位” 参数: -d:后面接分隔字符,与-f一起使用 -f:依据-d的分隔字符将一段信息切割为数段,用-f取出第几段的意思 -c:以字符为单位取出固定字符区间 echo $PATH | cut -d ‘:’ -f 3,5 以 :为分隔,取出第3和第5个字段echo $PATH | cut -c 12- echo $PAT...
2018-02-24 17:59:04 556
原创 vim常用快捷键
基本上vi可分为三个模式,分别是一般模式、命令行模式和编辑模式。三个模式的作用分别如下。 一般模式:打开vi时即为一般模式,可以进行read操作,也可以复制、粘贴文件数据。编辑模式:在一般模式下输入’i,I,o,O,a,A,r,R’键后可切换进入编辑模式,不同按键有不同功能,分别是:i,I: 进入插入模式,i为从光标所在处插入,I为目前所在行的第一个非空格字符处开始插入。a,A:
2018-02-06 00:37:11 164
原创 深入了解Java虚拟机——JVM内存分配
相关引用: 字符串编译期与运行期分析及字符串常量池 Java虚拟机—–方法区和运行时常量池 JVM-String常量池与运行时常量池 深入理解Java虚拟机笔记—运行时栈帧结构Java虚拟机将在Java程序运行过程中将内存分为不同的数据区域,每个区域都有自己的用途以及生命周期,大致划分如下图: 1. 程序计数器(线程私有)占用很小的内存,可以看做当前线程执行的行号指示器,可以根据程序计
2017-09-21 17:54:19 305
原创 链表求和 II
假定用一个链表表示两个数,其中每个节点仅包含一个数字。假设这两个数的数字顺序排列,请设计一种方法将两个数相加,并将其结果表现为链表的形式。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) {
2017-07-03 15:49:14 474
原创 将二叉查找树转换成双链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */p
2017-06-29 19:06:49 286
原创 二叉树的路径和
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left =
2017-06-29 19:05:15 222
原创 字符串置换
规则:给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。置换的意思是,通过改变顺序可以使得两个字符串相等。第一次写的办法:public class Solution { /** * @param A a string * @param B a string * @return a boolean */ public b
2017-06-26 13:18:58 257
原创 给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形?
public class Solution { /** * @param S: A list of integers * @return: An integer */ public int triangleCount(int S[]) { // write your code here List<int[]> result
2017-06-26 13:03:54 3300 2
原创 判定一个数独是否有效。
/** * Sudoku * Created by Administrator on 2017/6/24. * 请判定一个数独是否有效。 * 该数独可能只填充了部分数字,其中缺少的数字用 . 表示。 */class Solution { /** * @param board: the board @return: wether the Sudo
2017-06-24 19:32:03 522
原创 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
我的代码 public static void main(String[] args) { String str = "we are family's"; StringBuffer sb = new StringBuffer(str).reverse(); String[] split = sb.toString().split(" ");
2017-06-23 19:33:00 3758 1
转载 $.ajax()方法各参数详细了解
一直在用ajax,可从未认真查看过该方法里面的每一个参数具体用途,碰巧看到$.ajax()方法详解这篇文章讲解的比较详细,特转载!1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。3.timeo
2017-06-10 19:24:33 228
原创 SpringBoot 创建启动运行类
第一步:呃,大概就一步@Component@Order(value = 1)public class StartupRunner implements CommandLineRunner{ @Override public void run(String... strings) throws Exception { System.out.println("来来来,跑
2017-06-10 19:16:51 1145
原创 SpringBoot 定时任务
第一步: 在启动类中加入如下注解@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}注意:@Enabl
2017-06-10 19:11:26 567
原创 springboot乐观锁
包依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>1.2.6.RELEASE</version> </dep
2017-05-26 10:36:37 3751
原创 防止重复提交
/** * Token * Created by Administrator on 2017/4/27. * 防止重复提交注解,用于方法上 * 在新建页面方法上,设置needSaveToken()为true,此时拦截器会在Session中保存一个token, * * *********************************************** * 同时需要在新
2017-05-26 10:28:33 176
原创 java 短信发送验证码
本人使用的第三方为 阿里大于,代码其实不用看也行,毕竟人家官网有demo,随便写写玩。蹭个流量。 public static void send(String phone ,String noteVerify) throws ApiException { TaobaoClient client = new DefaultTaobaoClient(NoteConfig.getSe
2017-05-26 10:24:32 355
原创 java的邮件发送代码
配置文件:package com.nroad.config;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.PropertiesC
2017-05-26 10:18:42 253
原创 微信扫码支付
配置文件package com.nroad.config;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.PropertiesCon
2017-05-26 10:03:32 543
原创 支付宝PC网站支付
配置文件: package com.***.config;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.Properties
2017-05-26 09:52:35 390
转载 高级Java程序员要具备哪些知识
文章转载自 : http://blog.csdn.net/qq_35101189/article/details/71194652?ref=myread每个人都有大梦想,作为程序员当然是想做一个程序大牛,毕竟 不想当将军的厨子不是好裁缝!那么要想成为好裁缝,不好程序员,应该需要哪些知识呢?搜罗了一下,还真不少呢!高级程序员需要:1.Core
2017-05-05 12:36:34 245
转载 SpringBoot 配置文件 application.properties
mvcspring.mvc.async.request-timeout设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒.spring.mvc.date-format设定日期的格式,比如dd/MM/yyyy.spring.mvc.favicon.enabled是否
2017-04-09 16:24:32 212
转载 Spring Boot 将配置文件放到jar外部
如果不想使用默认的application.properties,而想将属性文件放到jar包外面,可以使用如下两种方法:只能设置全路径。因为Java -jar运行jar包时,无法指定classpath(无论通过参数还是环境变量,设置的classpath都会被覆盖)。方法1:命令行传参指定spring.config.locationjava -jar -Dspring.co
2017-04-09 16:06:57 5762
转载 windows bat脚本编写
Windows .bat 脚本简单用法介绍:一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法: echo [{on│off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号
2017-04-09 16:06:16 461
转载 JAXB XML转Bean,Bean转XML
xml转BeanJAXBContext context = JAXBContext.newInstance(Bean.class);Unmarshaller unmarshaller = context.createUnmarshaller(); Bean bean = (Bean) unmarshaller.unmarshal(new StringReader(xml));
2017-04-01 11:24:16 269
转载 springboot Maven 打包可执行jar
Maven pom.xml 必须包含[plain] view plain copy jar [html] view plain copy build> plugins> plugin> groupId>org.
2017-04-01 11:22:31 279
原创 SpringBoot单元测试
引入maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 为类添加注解
2017-03-16 15:27:39 318
原创 IDEA常用快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可
2017-03-16 15:22:57 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人