- 博客(193)
- 资源 (33)
- 收藏
- 关注
转载 presto查询优化
资料:https://www.jianshu.com/p/f435ce79c966数据存储优化合理设置分区与Hive类似,Presto会根据元信息读取分区数据,合理的分区能减少Presto数据读取量,提升查询性能。使用列式存储Presto对ORC文件读取做了特定优化,因此在Hive中创建Presto使用的表时,建议采用ORC格式存储。相对于Parquet,Presto对ORC支持更好。使用压缩数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snapp
2021-04-20 15:40:07 834
原创 presto源码学习2——RESTFul服务
presto源码学习2——RESTFul服务presto集群中的数据传输、节点通信、计算调度和监控等都是通过接口间的互相调用来实现的。其中,主要的的查询相关的接口有Statement、Query、Stage、Task这几类,都位于presto-main模块中Statement接口接口概览Statement接口在QueuedStatementResource和ExecutingStatementResource类中声明QueuedStatementResource中有以下几个操作接口POST
2021-04-20 15:34:53 801
原创 presto查询是否下压测试
presto查询是否下压测试1、join场景select * from mysql.user_sys.sys_users a left join mysql.user_sys.sys_users_roles b on a.id = b.user_id;没有下压查询,分成以下两个查询从mysql获取数据SELECT `id`, `user_id`, `role_id`, `create_time`, `modify_time` FROM `user_sys`.`sys_users_roles
2021-04-20 15:20:35 335
原创 java截取视频的帧
使用javacv获取视频(本地视频文件、视频链接)中的帧,保存成图片或者base64串POM文件引入依赖<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <version>1.4.1</version></dependency><dependency> <
2021-02-03 17:12:08 1861 1
原创 presto源码学习1——Presto概述
presto源码学习1——Presto概述presto是基于Java语言开发的一个用来即席查询大数据的查询引擎,是facebook公司的一个开源产品相关文档git地址:https://gitee.com/mirrors/presto.git官方文档presto的特点特点说明多数据源presto目前支持包括mysql、hive等多种常用存储扩展性presto支持开发者自定义开发可插拔式的数据源插件混合计算presto支持同一个集群接入多个同一种存储组件
2020-10-17 20:08:54 1348 1
原创 guava——ListenableFuture
ListenableFuture简介public interface ListenableFuture extends FutureListenableFuture继承自Futures,同样是接口,主要的功能是允许给多线程任务添加监听器listener,当任务执行完之后,会自动触发listener的调用不同的listener可以在不同的Executors中执行,同一个的ListenableFuture可以注册多个listener。初始化ListenableFuture对象通过MoreExecuto
2020-10-12 20:26:46 649
原创 kylin Build Dimension Dictionary异常
kylin Build Dimension Dictionary异常处理--FileNotFoundException:/kylin_metadata/resources/dict/tb_name/***.dict异常原因解决方法异常Caused by: java.io.FileNotFoundException:/kylin_metadata/resources/dict/tb_name/***.dict原因 原因是kylin在创建维度字典的时候有一个bug,正常创建字典或者快照的时候会进行两个
2020-08-28 16:34:19 876
原创 缓存的使用问题
缓存的使用问题1、缓存穿透发生场景拿一个根本不会在缓存中存入的key值去请求,一定会造成程序访问DB,然而在DB中并不能查到相应的数据,所以这个key在查询DB之后也不会写入缓存,就会造成每次查询这个key都会访问DB,当同时出现大量的这种请求超过DB的负载时就会发生缓存穿透解决方案当在DB中查询不到key时,也将key存入缓存,时效可以短一些2、缓存击穿发生场景当一个key值在缓...
2019-10-23 19:49:19 234
原创 批量匹配删除redis缓存
使用spring boot2.x cache —— redis作为数据缓存方案时,可以采用@CacheEvict用来清除相应的数据缓存,但是@CacheEvict底层使用的redis的keys命令来遍历查找,但是keys太过暴力,不支持offset、limit参数,而且是遍历算法,复杂度为O(n),当redis中的数据量较大时,很容易造成服务卡顿阻塞,所以在正式环境keys这个命令是禁用的,那么@...
2019-10-23 19:46:31 1338
原创 spring boot2.x cache —— redis
引入pom文件```java<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>## **yml配置**`...
2019-10-23 19:44:45 1001
原创 spring boot2.x分布式集成ehcache
学习资料:IBM BLOG、ehcache官网、分布式缓存博客EhCache 从 1.7 版本开始,支持五种集群方案,分别是:Terracotta、RMI、JMS、JGroups和EhCache Server下文主要记录了RMI的具体实现方式(模式内容介绍摘自IBM BLOG)。目前只实现了手动配置(有坑),自动发现未实现,期待大神指点RMI 集群模式RMI 是 Java 的一...
2019-10-23 19:41:31 922
原创 数据结构——二叉树的构建+四种遍历(递归、非递归)
二叉树的结构定义package com.kexin.common;/** * @Author KeXin * @Date 2019/4/4 上午10:51 **/public class TreeNode { char val; TreeNode left; TreeNode right; public TreeNode(char x) { ...
2019-04-09 15:24:25 332
转载 微服务网关zuul使用指南
转载自:https://mp.weixin.qq.com/s/yOChVzBMwXIHHQHjKGzI0gZuul简介Zuul包含了对请求的路由和过滤两个主要的功能,其中路由功能负责将外部的请求转发到具体的微服务实例上,是实现外部访问统一入口的基础上,而过滤功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身...
2019-02-27 10:38:00 2217 2
原创 zookeeper节点操作zkclient
增加、删除节点,监测节点信息的变化,解析jsonpackage com.keixn.inspect.controller;/** * @Author KeXin * @Date 2018/7/19 下午3:36 **/import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import...
2018-09-05 09:50:19 599
原创 zookeeper-curator
Curator教程:https://www.jianshu.com/p/70151fc0ef5dCurator包含了几个包:curator-framework:对zookeeper的底层api的一些封装curator-client:提供一些客户端的操作,例如重试策略等curator-recipes:封装了一些高级特性,如:Cache事件监听、选举、分布式锁、分布式计数器、分布式B...
2018-09-05 09:50:11 254
原创 Dubbo配置
&lt;!--dubbo--&gt;&lt;dependency&gt; &lt;groupId&gt;com.alibaba.boot&lt;/groupId&gt; &lt;artifactId&gt;dubbo-spring-boot-starter&lt;/artifactId&gt;
2018-09-05 09:50:02 203
原创 dubbo和zookeeper
Dubbo建议使用Zookeeper作为服务的注册中心。Zookeeper的作用:zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。 zookeeper通...
2018-09-05 09:49:52 257
原创 zookeeper简介
zookeep搭建教程:http://www.cnblogs.com/EasonJim/p/7482961.htmlzk装在/usr/local/zk可以在bin目录下启动或关闭ZooKeeper是什么ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一...
2018-09-04 19:04:54 522
原创 impala、hive 操作hbase
impala、hive 操作hbase数据存储在HBase中,使用Hive执行SQL语句无论是使用Hive还是Impala还是Spark,第一步都是让他们先知道数据的表结构。 Hive的内置数据类型可以分为两大类: (1)、基础数据类型; (2)、复杂数据类型; 其中,基础数据类型包括:TINYINT、SMALLINT、INT、BIGINT、BOOLEAN、FLOAT、DOU...
2018-09-04 19:04:01 1429
原创 Hive和HBase的区别
Hive和HBase的区别一、两者分别是什么:Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Haoop上批量的执行Hadoop。Apache HBase是一...
2018-09-04 19:03:28 606
原创 kuduClient实现增删改查
使用kuduClient创建表; 使用kuduClient添加数据; 使用kuduClient更新数据; 使用kuduClient查询数据; 使用kuduClient删除表;使用kuduclient删除表数据;使用kuduclient条件查询;package com.kexin.kudu;import org.apache.kudu.ColumnSchema;imp...
2018-09-04 19:03:01 9565
原创 kudu
kudukudu:面向结构化数据的开源的table存储引擎,支持低延迟的随机存取以及高效的分析处理Kudu管理的是类似关系型数据库的结构化的表,表结构由类Sql的Schema进行定义,相比于HBase这样的NoSql类型的数据库,Kudu的行数据是由固定个数有明确类型定义的列组成,并且需要定义一个由一个或多个列组成的主键来对每行数据进行唯一索引,相比于传统的关系型数据库,kudu在索引上有...
2018-09-04 19:02:20 1411
原创 Hadoop YARN
基本思想教程: https://mp.weixin.qq.com/s/JEw7qCze2vlt9ys_Fe7cFAYARN(Yet Another Resource Negotiator)是一个分布式资源管理框架,基本思想是将资源管理和作业调度/监视的功能分解为单独的守护进程。一个全局ResourceManager(RM)和每个应用程序ApplicationMaster(AM),应用程序...
2018-09-04 18:21:13 266
原创 Hadoop简介
Hadoop的架构在其核心,Hadoop主要有两个层次,即:加工/计算层(MapReduce)存储层(Hadoop分布式文件系统)除了上面提到的两个核心组件,Hadoop的框架还包括以下两个模块:Hadoop通用:这是Java库和其他Hadoop组件所需的实用工具Hadoop YARN :这是作业调度和集群资源管理的框架Hadoop Streaming 是一个实用程...
2018-09-04 18:20:00 8668
原创 kafka基本的消息生产与消费
分布式的一个消息系统,生产者-broker-消费者分布式每个分区都由一个服务器作为“leader”,零或若干服务器作为“followers”,leader负责处理消息的读和写,followers则去复制leader.如果leader down了,followers中的一台则会自动成为leader。集群中的每个服务都会同时扮演两个角色:作为它所持有的一部分分区的leader,同时作为其他...
2018-09-04 18:19:04 3150
原创 spark+kafka+hive
使用spark streaming消费kafka消息,并通过hql同步到hive中用到的pom: <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core --> <dependency> <groupId>org.apache.sp...
2018-09-04 18:17:01 4025
原创 canal+kafka实践——实时etl
canal解析sql数据库的binlog并格式化数据,然后同步到kafka消息,可以用来实现实时etlyml:spring: application: name: canal canal: topic-prefix: etl_timely. destination: example: 0 username: password:...
2018-09-04 18:15:10 12995 1
原创 checkpoint
设置checkpoint存储目录,从最新的checkpoint恢复:JavaStreamingContext ssc = JavaStreamingContext.getOrCreate(checkpointDirectory, ()-> createContext(ip,port,outputPath,checkpointDirectory));...
2018-09-03 19:22:03 370
原创 spark消费kafka消息
教程:http://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.htmlpom:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</...
2018-09-03 19:21:36 1335
原创 Spark Streaming
教程:http://spark.apache.org/docs/latest/streaming-programming-guide.htmlpom:https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.spark%22%20AND%20v%3A%222.3.1%22Spark Streaming是核心Spark...
2018-09-03 19:21:08 1479 1
原创 Spark数据源
教程:http://spark.apache.org/docs/latest/sql-programming-guide.html#hive-metastore-parquet-table-conversion多种类型数据源加载和保存 // $example on:generic_load_save_functions$ Dataset<Row> users...
2018-09-03 19:20:45 823
原创 Spark SQL
教程:http://spark.apache.org/docs/latest/sql-programming-guide.htmlSpark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。Spark SQL的一个用途是执行SQL查询。Spark SQL还可用于从现有H...
2018-09-03 19:20:20 833
原创 spark简介
学习教程:https://www.cnblogs.com/qingyunzong/category/1202252.htmlhttps://www.cnblogs.com/wonglu/p/5901356.htmlhttp://spark.apache.org/docs/latest/quick-start.html1、什么是spark目前按照大数据处理类型来分大致可以分为...
2018-09-03 19:05:57 268
原创 quartz
简介使用调度器、触发器完成作业调度 教程:https://blog.csdn.net/oChengXuYuan88/article/details/76583068使用Quartz API 主要的接口如下: - Scheduler - 与调度器交互的主要API。 - Job - 需要被调度器调度的任务必须实现的接口。 - JobDetail - 用于定义任务的实例。...
2018-09-03 16:48:27 126
原创 redis
基本介绍内存数据存储,相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景redis 的默认端口是 6379属性配置# REDIS (RedisProperties...
2018-09-03 16:47:28 181
原创 canal
基于数据库增量日志解析,提供增量数据订阅&amp;amp;消费,目前主要支持了mysqlcanal装在/work/app/canal可以在bin目录下启动或关闭 原理: - canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 - mysql master收到dump请求,开始推送binary log给slave(也就是...
2018-09-03 16:41:53 303
原创 spring boot+mybatis
mybatis用到的pom:&lt;dependency&gt; &lt;groupId&gt;org.mybatis.spring.boot&lt;/groupId&gt; &lt;artifactId&gt;mybatis-spring-boot-starter&lt;/artifactId&gt; &am
2018-09-03 16:38:58 186
原创 spring boot项目上传服务器
1、编写package.xml文件,设置包含的文件及输出路径:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;assembly xmlns=&quot;http://maven.apache.org/plugins/maven-assembly-plugin/a
2018-08-28 14:04:10 273
原创 动态数据国际化开发
静态数据国际化对于软件中的菜单栏、导航条、错误提示信息,状态信息等这些固定不变的文本信息,可以把它们写在一个properties文件中,并根据不同的国家编写不同的properties文件。这一组properties文件称之为一个资源包。在JavaAPI中提供了一个ResourceBundle 类用于描述一个资源包,并且 ResourceBundle类提供了相应的方法getBundle,这个...
2018-08-28 14:02:42 2480
原创 文件上传与下载
文件上传实现web开发中的文件上传功能,需完成如下二步操作: 在web页面中添加上传输入项在servlet中读取上传文件的数据,并保存到本地硬盘中。如何在web页面中添加上传输入项?标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意: - 必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。 - 必须把form的++enctype属...
2018-08-28 14:02:19 244
山东大学计组实验7,CPU综合实验
2016-11-25
山东大学机组实验6控制器实验
2016-11-25
软件工程导论
2017-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人