Clickhouse2022开源路线图(重大特性的实现蓝图),看看有没有你想要的
原创 2022-11-01 16:43 阅读(669)次
clickhouse更新太快,2022又发布了很多新特性,截止今天还有部分新特性还在开发中,我列举一些大家可能比较关注的:
1.使clickhouse-keeper生产准备就绪,意味着官方已经推荐生产上替换掉zookeeper了
2.支持备份和恢复:
备份表、数据库、服务器和集群;
增量备份、支持部分恢复;
支持可插拔式的备份存储选项。
3.事务支持(还在开发中)
4.支持轻量化的删除
5.存算分离(还在开发中)
6.流式查询(还在开发中)
7.join优化(还在开发中)
还有很多特性我没列出,其他大家可以[点这查看详细](https://...
使用hsqldb工具连接嵌入式数据库hsqldb
原创 2022-10-08 17:42 阅读(960)次
最近在写一个工具,用了HsqlDB来当作这个工具的本地数据库,但是有一个烦恼就是自己建的表和数据不能用工具浏览,查了一下官网说自带了swing操作界面的工具,于是研究了一下,还真能连接。
用这个工具要下载数据库,不大100多MB,操作如下:
下载数据库
https://sourceforge.net/projects/hsqldb/files/
解压到E:\mytools\hsqldb-2.7.0\中
执行E:\mytools\hsqldb-2.7.0\hsqldb\bin中的runManagerSwing.bat
但是里面的命令是java,要求jdk11以上,所以要下载一...
HsqlDB数据库自增长的两种方式
原创 2022-09-23 18:43 阅读(618)次
HsqlDB数据库自增长的两种方式:一种是IDENTITY,一种是使用SEQUENCE序列;下面介绍一下这两种方式,包括insert后如何获取最后的自增id;
自增:
CREATE TABLE mt_data_source (
id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,
name varchar(255) DEFAULT NULL,
);
序列自增:
CREATE SEQUENCE seq
CREATE TABLE star (id INTEGER...
clickhouse删除数据时报错
原创 2022-06-13 14:02 阅读(3062)次
今天执行了一下ck的表数据删除报错,错误信息如下:
```
ClickHouse exception, code: 1002, host: 192.168.29.124, port: 18123; Code: 341. DB::Exception: There was an error on [192.168.29.126:9000]: Code: 341. DB::Exception: Exception happened during execution of mutation '0000000000' with part 'all_3_3_0' reason: 'Code: 198....
java List数据内存分页
原创 2021-12-08 13:33 阅读(2371)次
我们常常要对List数据切分和分页,最近客户要求我们调用第三方接口拿到所有数据然后做分页返回给他 们,全量数据拿到后都是在缓存在内存中,这不像查询询数据库有语句支持,于是我们就搞了个List分页的工具类。这里分享一下我们使用的分页工具类。代码其实也是简单的,没什么难度,关键是提供给急需的朋友们。
上代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ListPageUtil {
/**
...
存算分离与存算一体的优缺点比较
转载 2021-11-02 10:05 阅读(5137)次
#### 分布式数据库是时代的选择
从1970年IBM的E.F Codd在论文《A Ralational Model of Data for Large Shared Data Banks》中提出的数据库系统关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,到1977年 Oracle数据库发布,开启了IBM DB2和Oracle等大型商业公司垄断数据库市场二十年。
直到90年代中期,随着互联网时代的来临,开源数据库MySQL,PostgreSQL的出现,这种垄断现象才被打破,以MySQL为代表的开源数据库开始迅速发展。
21世纪10年代,数据的井...
jmeter随机日期参数
原创 2021-09-24 12:03 阅读(751)次
10000到15999随机数
${__Random(10000,15999,)}
当前日期格式化成yyyy-MM-dd HH🇲🇲ss
${__time(yyyy-MM-dd HH🇲🇲ss)}
日期范围内随机
${__RandomDate(yyyy-MM-dd,2018-01-01,2018-12-31,,)}
随机日期时间,拼接的格式为yyyy-MM-dd HH🇲🇲ss
```
${__RandomDate(yyyy-MM-dd,2021-09-10,2021-09-18,,)} ${__Random(10,24,)}:${__Random(10,59,...
json转List<T>数组泛型如何转以及Map的泛型?
原创 2021-07-08 16:18 阅读(2098)次
json转List数组泛型如何转?
我们可以使用fastjson,如下代码:
```java
List cacheList
= JSON.parseObject(deviceListJson, new TypeReference>() {});
```
如上代码是想把json转成数组,Ape是我们的实体类。
pom就不贴了
以及Map的转换
```java
Map outputData = JSON.parseObject(jsonString, new TypeReference>() {});
```
clickhouse清空删除表数据
原创 2021-05-25 18:30 阅读(17492)次
最近看到很多朋友问clickhouse如何清空表数据?或者有没有像mysql一样truncate删除整张表数据的语句呢?
答案是:旧版没有,新版本中有提供。先说旧版中它只提供如下语句:
ALTER TABLE 表名 DELETE WHERE 条件
.
并且这语句性能不是很好,也是异步删除,语句执行成功不代表真的成功。
当然你也可以使用删除分区的方式达到清空表的目的,但提前你得一个一个分区的删,太麻烦了。
你想快速清空表,只能重建表了。
重建表要先drop表,如下:
drop table 表名
.
如果你的表是在集群下,也可以使用分布式DDL来删除和重建表...
hadoop运行mapreduce报错Error: Could not find or load main class
原创 2021-05-23 15:42 阅读(2627)次
#### 异常问题:
今天运行word count单词统计示例,hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
详细错误信息如下:
```xml
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
Please check whether your etc/hadoop/mapred-sit...
安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4
原创 2021-05-22 18:33 阅读(993)次
Hadoop有三种安装模式,今天分享其中一种:伪分布式模式。
下载地址:https://hadoop.apache.org/releases.html
安装过程中解决了一些坑点,具体如下:
这种模式只需要一台服务器即可
##### 1.上传hadoop-3.1.4.tar.gz到服务器中,解压
tar -zxvf hadoop-3.1.4.tar.gz
##### 2.修改机器名
hostnamectl set-hostname hd1
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
v...
postgresql数据库表分区字段有必要创建索引么?
原创 2021-04-08 09:45 阅读(1844)次
postgresql数据库表分区后,分区字段有必要创建索引么?
昨天项目上线前进行性能并发测试,发现一个简单请求单并发要1分多钟,我进行代码跟踪了下,最终定位到如下SQL语句代码:
```xml
select min(collect_time) from A
```
我才想起来这个是我写的,当时是认为A表用collect_time字段做了分区,应该不用给collect_time字段做索引了,而且A表中已经有6个索引字段了,生怕创建太多索引而影响写入性能。
但性能测试环境中A表有6亿数据,上面这个查询就显的力不从心。于是...
es7.x版本如何获取查询命中的文档总数
原创 2021-03-03 11:26 阅读(4141)次
#### 前言
早在elasticsearch6.x版本时,es查询时默认会显示hits total总数,当然聚合场景下是不会的。目前我们项目将es6.8升级到7.6,一些普通查询,总数显示不正常了,最大只显示10000条。
比如查询语句如下:
```json
GET bd_frequent_test/_search
{
"query": {
"match_all": {}
}
}
```
查询结果如下:
```json
{
"took": 1,
"timed_out": false,
"_shards": {
"total": ...
Es 7.x版本批量写入数据路由字段报错:Action/metadata line [1] contains an unknown parameter [_routing]
原创 2021-03-02 19:02 阅读(3505)次
#### 异常问题
在使用elasticsearch7版本批量插入数据时,因为设置了路由,一直报错:Action/metadata line [1] contains an unknown parameter [_routing]
具体错误信息如下:
```json
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Action/metadata line [1] contains an unknown parameter [_routing]"}],"type":"illegal_argu...
clickhouse如何删除数据库和创建数据库以及分布式DDL创建数据库
原创 2021-02-25 17:20 阅读(6267)次
#### 前言
我们使用clickhouse大部分情况都是使用集群模式,那么我们希望创建库或删除库时都是一条语句在集群所有节点中运行,而不是手动在各节点单独执行创建或删除库。
语句如下:
#### 1.clickhouse删除数据库
```sql
drop database base_db
```
#### 2.存在时再删除数据库
```sql
drop database IF EXISTS base_db
```
IF EXISTS是可选的
#### 3.分布式DDL删除数据库
```sql
drop database IF E...
java使用BufferedImage放大或缩小图片
原创 2021-02-23 11:32 阅读(4208)次
BufferedImage可以用来简单编辑图片:包括裁剪、放大、缩小等。
下面贴的是利用BufferedImage做图片放大或缩小代码:
```java
String imageBase64 = "xxxxxx";//图片base64字符串
BufferedImage image = ImageUtils.base64ToBufferedImage(imageBase64);
int width = image.getWidth();
int height = image.getHe...
java数组转list
原创 2020-12-16 17:54 阅读(736)次
java中数组如何转list或者说ArrayList,每次码代码时,遇到这个问题都要想一下,这里给自己记录下,免得每次都跳坑。数组转list,有两种方法,代码如下: //方法一
List<String> lista = Arrays.asList(split);
//方法二
List<String> listb = new ArrayList<>(split.length);
Collectio...
clickhouse如何删除数据
原创 2020-11-27 18:09 阅读(38815)次
clickhouse删除数据提供了三种方式:一、是删除分区,数据就会删除掉二、是通过Alter语句删除数据三、是还可以通过设置日期字段或表的TTL生命周期,到期自动清除数据四、直接用delete from语句删除(22.8版本之后才有的功能)注意:上面前2点都可以使用分布式DDL删除集群各节点数据,第三点是创建表时定义的,暂时不提。1.删除分区alter table 表名 drop partition 分区名分区名可以用下语句查询select * from system.parts p where table = '表名'以我下面这张表为例,分区函数是toYYYYMMDD(collect_ti...
quartz定时器改名后报错,删除多余的定时表数据
原创 2020-09-27 16:55 阅读(2355)次
quartz定时器改名后报错,需要清除原来表中的对应数据,删除多余的定时表数据删除语句如下,对应的定时信息要传入:DELETE from qrtz_cron_triggers where TRIGGER_NAME = 'personTimeSpaceTaskTrigger';
DELETE from qrtz_triggers where TRIGGER_NAME = 'personTimeSpaceTaskTrigger';
DELETE from qrtz_job_details where JOB_NAME = 'personTimeSpaceTask';
DELETE from ...
postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user
原创 2020-03-20 13:39 阅读(6485)次
今天在部署postgresql主从复制时,复制一直不成功,检查了主从库的配置没发现什么问题,于是修改主库的配置,修改postgresql.conf:logging_collector = on将日志功能打开,重启主库看到日志一直在报错:FATAL: no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off我以为pg_hba.conf中配置了如下就可以:local replication all ...
linux下docker安装postgreSql数据库,附带启动脚本
原创 2020-03-19 11:14 阅读(1478)次
docker这东西安装中间件真是方便,不需要再去手动下载安装包,省事,今天分享一下我在docker中安装postgresql数据库的过程。1.搜索docker search postgresql2.上面可以看到NAME为postgres的镜像,直接安装,我选择的是10.5版本docker pull postgres:10.53.经过10分钟左右,镜像下载下来了,查看一下docker image listREPOSITORY TAG ...
利用fastJson保证数据字段顺序做api数据签名加密
原创 2020-01-08 17:28 阅读(1798)次
我们在开发api接口时,尤其是开放给第三方使用的接口,通常会对接口参数做签名加密校验。我看了下大部分人都只是把url上的参数放到TreeMap中做加密:import org.apache.commons.codec.digest.DigestUtils;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import java.util.TreeMap;
/**
* @Author: rongrong
* @Date: 2018/4/23
* @Description:
*/
publ...
java解析request或url中的参数工具类代码
转载 2019-11-05 21:21 阅读(2457)次
无论我们在做爬虫时还是在做访问日志解析时,都需要java获取request中的参数、java解析URL问号后的参数。有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需要用哪个就取哪个,方便省事代码转载https://www.bbsmax.com/A/GBJrq74Wz0/上代码:import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util....
java中jsoup解析爬虫获取的页面html数据,轻松实现一个爬虫
原创 2019-11-05 16:16 阅读(2895)次
最近在找工作,看看各大人才网上的工作岗位,搜索了一下自己住所附近的工作,搜索功能好像对地址搜索不是很友好,于是自己想爬一下各大人才网上的数据,以便自己好搜索,并不商用也不开放数据,话说最近反爬虫很严啊,不过想来自己只是爬取公开的数据,并且不会影响目标网站的正常运行,应该是没事的,这里也希望大家遵守爬虫协议。jsoup是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据以某人才网为例,把他的搜索地址中的搜索词和页码动态传入参数,用Jsoup解析dom就可以把想要搜索的岗位数...
select2级联+ajax动态数据源
原创 2019-09-05 21:23 阅读(1966)次
上一篇,我分享了select2 ajax动态加载数据:http://classinstance.cn/detail/59.html这次,我分享select2要实现级联,如下图:直接上代码html:<div class="form-group">
公司:
<select class="js-example-data-ajax" style="width: 200px" id="companyId">
</select>
门店:
<select class=...
canal client同步数据报错:Nested repetitions *?+ in expression
原创 2019-08-23 18:33 阅读(1347)次
canal同步mysql数据时报错:2019-08-23 18:17:10.504 [destination = example , address = /127.0.0.1:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address 127.0.0.1/127.0.0.1:3306 has an error, retrying. caused by
com.alibaba.otter.canal.parse.exception.CanalParseExcept...
select2下拉选择框ajax搜索加载数据
原创 2019-08-13 14:52 阅读(1730)次
前端表单需要使用ajax查询数据并选择的场景很多,今天就想起使用select2处理这样的问题,记录一下代码,省的每次都去网上找。上代码:引入select2<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.8/js/select2.min.j...
因磁盘满了Mysql数据库宕机的解决办法
原创 2018-05-07 10:59 阅读(2069)次
今天发现数据库宕机了,周五的时候看到磁盘快满了,于是叫同事清理一下数据,没想到他删除的数据量有点大,delete语句执行了一天没删除完,而数据库在周六正好硬盘满了,于是数据库就在执行大事务的同时因为硬盘满了而宕机了。于是本人要恢复数据库,直接启动是启动不了,没空间了,只能把其中一个数据库搬到另一个盘中,释放空间了。我这个数据库实例中有两个数据库,一个叫bdad,一个叫weibo,如下图所示:如上图所示:/data/mysql-data/mysql是我的数据库目录,里有两个数据库bdad,weibo我把weibo这个库搬到了/home目录下,并给这个库创建了软链,相当于两个库使用不同的硬盘工作。...
emoji表情在Mysql数据库中乱码问题总结
原创 2018-03-01 12:32 阅读(2161)次
最近在爬取微博数据中发现有些数据保存失败,调试后发现都是emoji表情保存到数据库后乱码造成的。我的Mysql编码都是utf8,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节,所以乱码了。下面我总结一下我知道的处理方式:1.保存前使用emoji的官方jar包提供的方法将表情转成代码,再保存2.设置数据库的字符编码为支持emoji表情的字符集:utf8mb43.如果可以,我说如果可以。。。过滤掉吧一、emoji表情转成代码保存例如: 😁 我可以存储为:smile:,😭存储为:cry:,等等,可以这样映射起来。这种方法要使用jar包提供的方法,...
聊聊数据保存到MySQL后数据乱码的问题
原创 2018-02-10 17:20 阅读(1536)次
经常我们会碰到数据乱码的问题,有页面乱码,java运行时变量里的数据乱码,数据库表数据乱码。我今天主要说说我在工作中遇到的数据库表数据乱码问题怎么解决。当我们表里数据保存后发现乱码,首先我们要确定数据的来源以及中间处理层的字符集编码是不是一致,比如我们用java从文件中读取一段utf-8的文字然后保存到数据库中时,首先我们得用utf-8编码读取并用utf-8保存到数据库中。也就是说java应用层和数据库的编码必须一致才不会出现乱码。应用层的编码我们暂时不说,我主要分享一下mysql数据库中的乱码如何解决,关于乱码为什么会出现或者说原理我也讲不通,给个链接,大家自己看,乱码是怎么形成的?我们出现...