- 博客(62)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 phoenix 5.0 二级索引表 与 主表 数据量不一致的情况
前言:select发现count没有值,但是实际上表中有数据的异常情况,是由于二级索引表 与 主表不一致导致的。主表是可变的,日常也是通过phoenix进行upsert的数据,其他几个类似的二级索引表都是正常的,只有这张二级索引表的早期数据缺失,目前原因不明(曾经历过: 停电、磁盘损坏文件丢失与转移)。-- 走二级索引表查询,无数据SELECT SERVER_DATE,COUNT(1) FROM T_ODS_XXX WHERE SERVER_DATE<'2020-01-10' GROUP
2021-06-23 15:34:01
621
原创 mysql 自增id 主键 与 普通key,查询速度 与 分页优化
自增长id,通常作为唯一标识。可以用于分页查询的优化。这里记录一下自增id,看看是作为 primary key查询更快、还是普通key更快。环境:mysql5.7单表数据量:11773632 (1千万左右) 、字段数量20个。1、id主键查询: 跳跃500万,查询10条数据。可以看得出,走主键索引,查询所有列 与只查id列,耗时基本相同。都是15秒左右...
2019-07-29 19:59:02
4899
1
转载 mysql federated引擎
通常情况,不推荐使用这个引擎。原因有两点:1、查询速度超级慢2、安全方面实在没有办法,需要使用。那么这篇文章很全:https://www.cnblogs.com/chenglee/p/9567248.html...
2019-07-23 15:03:30
533
原创 notepad 正则分组替换
正则替换,方便、快捷。前提是先学会编写正则表达式。例如:我只需要表名称,可以这样写。\1表示第几个分组。全部替换后的效果:补充:1、移除空行,也很实用。2、换行符替换。 \r\n可以替换为加号或者逗号等,也十分方便。...
2019-07-23 14:37:53
816
原创 mysql 字符串排序问题
mysql对字符串的排序是按照ASCII码来的,所以当出现 “类似数字”的字符串进行排序,是存在问题隐患的。即使你可能认为,很有规律。例如版本号排序:23.3.3这个版本应该比 23.11.2小,这个asc排序结果不是我们想要的。版本的命名规则是AA.BB.CC (AA代表架构更新、BB代表功能更新 、CC为BUG修复)解决方式:不改变原有的字段,新增...
2019-07-23 14:23:16
2262
1
原创 js 0与"" 以及 undefined与null
直接上控制台的js代码:// 1、0与""0 == ""true0 === ""falsetypeof 0"number"typeof """string"// 2、undefined与nullundefined == nulltrueundefined === nullfalsetypeof undefined"undefined"type...
2019-07-01 17:49:43
764
原创 mysql 后续,添加自增序列字段
由于表前期设计没考虑到,后续数据增长的情况,没有给自增id字段。当数据到达几百万时,分页会比较慢。(关键词,分页优化)现在想着,加一个自增序列。但已经有几十万数据,又想着按照某个字段的顺序,进行自增值的初始化。又不想通过额外的逻辑代码实现。版本5.7innodb引擎我是这么做的:-- 1、要改字段,先停应用-- 2、增加主键-- 2.1 修改字段类型,varcha...
2019-07-01 17:27:19
3261
原创 MySQL 自定义序列
原来用过Oracle的都清楚,序列的便利性。我们想在MySQL中也能使用序列,而不是字段的自增长。网上有很多这方面的资料,有些不够全面。我这里整理 并 优化了一些细节问题,直接上代码。use aglog;-- 创建公共的序列表DROP TABLE IF EXISTS t_common_sequence;CREATE TABLE t_common_sequence ( ...
2019-03-21 11:11:48
1183
原创 chrome 谷歌浏览器无法上网,IE浏览器可以上网
这是我开发的环境,怎么说呢,突然没有网络了,想当然的。用了一下某产品的,断网急救箱功能。于是乎噩梦开始。1、ie可以正常上网,chrome google浏览器无法上网。2、打开IntelliJ IDEA工具,报错Internal error. Please report to http://jb.gg....。3、之后,运行项目报错,是用到了HBase。WARN org.apac...
2019-03-19 19:19:07
28231
原创 phoenix 5.0 CURSOR 游标(三) 不得不说的坑
这个坑,不是phoenix本身的问题。只有在多线程并行的情况下才会发生。会出现各种错误,比如:org.apache.phoenix.exception.PhoenixIOException: nullorg.apache.phoenix.schema.ColumnNotFoundException: ERROR 504 (42703): Undefined column. ...
2019-03-15 19:37:59
1274
原创 Docker下修改 MySQL5.7 字符集配置
保存中文乱码问题。配置遇坑,首先网上找了好几篇文章,找了个觉得靠谱的。1、于是乎查看mysql容器ID[root@master bin]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS POR...
2019-03-13 17:40:00
3793
原创 Phoenix 执行错误 ERROR 604 (42P00): Syntax error. Mismatched input. Expecting "RPAREN", got "s"
org.apache.phoenix.exception.PhoenixParserException: ERROR 604 (42P00): Syntax error. Mismatched input. Expecting "RPAREN", got "s" at line 1, column 197.使用phoenix插入数据,有一次,遇到了上面描述的这种错误。事情是这样的,有...
2019-03-13 15:47:20
7844
原创 phoenix工具类 与 使用例子
phoenix工具类package com.hbase.util;import com.util.PropertiesUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.sql.*;import java.util.Properties;import java.util.UUID;...
2019-03-05 11:07:09
1616
原创 读取properties文件的工具类
package com.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/** * @Auther: wjc * @Date: 201...
2019-01-24 15:28:59
328
原创 Java 日期工具类
一些公共的方法,可能会使用到,记录下: /** * 获得时间范围的天数差 * @author wjc * @param startDateStr 开始日期字符串yyyy-MM-dd * @param endDateStr 结束日期字符串yyyy-MM-dd * @return 天数差 0:当天 1:连续日期 */ pu...
2019-01-24 15:25:40
279
原创 js 工具类 常用方法
js开头: /** * JavaScript 基础工具类,存放公共函数 */var base_utils = base_utils || {}; 时间类型的:/** * 获取几天前的时间 * @param n 天数 * @returns yyyy-MM-dd */base_utils.getBeforeDate = function(n){ var d...
2019-01-24 14:16:30
525
原创 log4j2 异常信息日志记录问题
通常检查性的日志,都是在try catch 中获取记录的。了解了一番,记录主要是两种:getMessage 与 详细的堆栈信息 printStackTrace()错误日志嘛,当然是越详细越好,生产环境,一定要避免直接控制台打印详细错误日志,记录在error log里面是最好的选择。既方便看,也节省资源。那么如何将 printStackTrace() 记录在error 的log文...
2019-01-03 15:02:06
3510
原创 xshell5 xftp5 要继续使用此程序,您必须应用最新的更新或使用新版本 正确处理方式
今天打开xshell莫名的就弹出这么一个对话框。接着又自动检测更新,提示是最新版本。netsarang想要闹哪样?这个算是自相矛盾嘛,一头雾水~~~~ 解决方法:很简单:1、设置系统时间,设置到你可用的时间段。比如:2018-10-012、打开xshell5,可以成功打开。(提示:修改时间后,设置取消更新,这种方式现在行不通了。)3、选择文件、导出备份连接信息,...
2018-12-26 11:11:07
2179
原创 phoenix 5.0 查询二级索引表错误 USE_STATS_FOR_PARALLELIZATION
查询二级索引表报错,但是不影响执行结果。经过一段时间,重启了hbase,这种错误就消失了。 WARN iterate.BaseResultIterators: Unable to find parent table "T_EXTENSION_ALL_DATAS" of table "IDX_T_EXTENSION_ALL_DATAS_COUNTRY" to determine USE_S...
2018-12-14 17:12:22
1476
3
原创 phoenix5.0 查询、删除 超时问题
遇到的查询超时情况:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=16, exceptions:Fri Dec 14 15:39:31 CST 2018, null, java.net.SocketTimeoutException: callTimeout=60000, callDu...
2018-12-14 16:52:15
3800
原创 phoenix 减少二级索引表的一种方式
二级索引表,在对原始表进行数据增加时,耗时增加。没有建立二级索引表时,耗时:1.7分钟4.8分钟 建立了9个简单的二级索引表,耗时:5.6分钟43分钟10分钟 16.4分钟从上面的实验结果,可以很明显看出耗时增加了好几倍。 但是页面存在多条件的查询,确实需要这些索引表。那我们是否有办法减少索引表数量呢? T_EXTENSION_ALL_DAT...
2018-12-14 09:58:44
553
原创 maven jar包冲突处理
SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/D:/maven-repository/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.9.1/log4j-slf4j-impl-2.9.1.jar!/org/sl...
2018-12-13 19:20:47
1056
原创 phoenix 查询记录(内存不足、有趣的等效SQL、exists)
-- hbase两张大表join查询,存在性能与逻辑的问题(特别是分页)。-- 不同数据,需要在进入Hbase前进行整合,大数据只存在一张表。-- 两张 200W+的表join,内存不足报错select t1.seq_id,t2.country from T_EXTENSION_SHOW t1 inner join T_EXTENSION_LOGIN t2 on(t1.sho...
2018-12-12 19:37:15
1140
原创 phoenix 查询 二级索引表
-- 查询索引表,字段使用双引号select * from IDX_T_EXTENSION_ALL_DATAS_COUNTRY where "0:COUNTRY"='England' limit 10;
2018-12-12 19:32:21
1246
原创 phoenix 5.0 CURSOR 游标(二) 不得不说的坑
这个坑很深沉,官方文档太简短了。这个坑是由:select语句引起的。也就是声明游标时的查询语句,如下: 拉开序幕:这是一张很简单的表test,id是row key,一共15条数据。 接着,我们使用游标遍历这个表数据。public static void main(String[] args) throws SQLException { ...
2018-12-08 18:24:59
753
原创 Hadoop 简单概念记录
Hadoop的核心,HDFS 与 MapReduceMapReduce 适合一次写入、多次读取数据的应用,关系型数据库则更适合持续更新的数据。MapReduce 的高级查询语言(如:phoenix、Pig、Hive )MapReduce 的核心特征,数据本地化(data locality)。因此获得良好的性能,并节省网络带宽。Apache Mahout 是一个在Hadoop上运行的机器...
2018-12-08 10:17:10
212
原创 phoenix 5.0 CURSOR 游标
都在一起,讲几个点:1、phoenix使用游标实例2、游标对SQL的支持情况3、phoenix游标与map reduce感受 1、phoenix使用游标实例官网地址:https://phoenix.apache.org/cursors.html官网示例很清晰明了,只不过使用存在几处问题。1、将execute() 改为 executeQuery() 这样rse...
2018-12-07 15:26:06
1969
原创 log4j2 + slf4j 项目实践
End of Life On August 5, 2015 the Logging Services Project Management Committee announced that Log4j 1.x had reached end of life. For complete text of the announcement please see the Apache Blog. Us...
2018-12-05 11:41:59
581
原创 JS 数组,对象。中划线、数字属性时值获取
var aa = [{name:'wjc',age:18,'20181204':55,'2018-12-04':66,'56.77':77}];// 获取name我们通常这样写aa[0].name//结果: "wjc"// 获取20181204日期的值aa[0].20181204//结果:Uncaught SyntaxError: Unexpected number// 正确...
2018-12-04 14:13:42
1960
原创 phoenix 有时候不走二级索引 会 更快 /*+ NO_INDEX*/
0: jdbc:phoenix:192.168.199.154> select t1.seq_id as seq_id from (select seq_id,toy from T_EXTENSION_SHOW where show_date='2018-11-24' and email='wjc@45555.com') t1 where t1.toy='ambi' and t1.cam_...
2018-12-04 10:36:07
1947
原创 phoenix 5.0 IN 语法走二级索引遇到的bug
两条基本相同的SQL:SELECT SEQ_ID,SHOW_DATE,EMAIL,TIME_SPEND,CAM_SITE,TOKEN_EARNED,REVENUE,TIPS_SENT,TOY FROM T_EXTENSION_SHOW WHERE SHOW_DATE='2018-11-26' AND SEQ_ID IN(2999909, 2999908, 2999907, 2999906...
2018-12-03 15:16:00
1635
原创 Phoenix 创建二级索引,字段顺序问题
T_SHOW 表如下,其中SHOW_DATE、EMAIL是Row key: 我需要这样查询:select seq_id from T_SHOW where show_date='2018-11-24' and cam_site='cam4' order by seq_id desc limit 1; 所以我增加了这样的主键:CREATE INDEX IDX_T_SHOW...
2018-11-27 20:27:35
1880
1
原创 phoenix 分页limit offset
offset 这个是phoenix新版本提供的属性,但是存在性能问题,大数据的情况下是不推荐的。 我本来想试试offset,随着数量增加,耗时会如何增加。但这两个不同的测试sql,让我有了新发现:两条语句的执行计划:0: jdbc:phoenix:192.168.199.154> explain select login_date,email from T_EXTENS...
2018-11-27 19:07:43
3924
4
原创 phoenix 排序优化,order by
0: jdbc:phoenix:192.168.199.154> select email from T_EXTENSION_ALL_DATAS_LOGIN where login_date='2018-11-24' order by email desc limit 1;+-----------------+| EMAIL |+-----------------...
2018-11-27 15:15:28
4128
2
原创 phoenix 查询报错RemoteWithExtrasException
Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): org.apache.hadoop.hbase.DoNotRetryIOException: Error when adding cache: : java.sql.SQL...
2018-11-26 18:52:18
3817
1
原创 phoenix 查询优化 40秒变为0.02秒
phoenix 5.0 数据量不多,就是100万,测试一般是够用的。0: jdbc:phoenix:192.168.199.154> select count(1) from T_EXTENSION_ALL_DATAS_SHOW;+-----------+| COUNT(1) |+-----------+| 999999 |+-----------+1...
2018-11-24 17:59:31
11386
2
原创 Phoenix SEQUENCE 序列
phoenix 5.0创建序列:CREATE SEQUENCE SEQ_T_TEST_ID START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 CYCLE CACHE 100;START WITH: 从1开始NCREMENT BY: 每次增长1MINVALUE 、MAXVALUE :最小值、最大...
2018-11-24 14:04:37
707
原创 phoenix 驱动错误
版本是phoenix5.0官网jdbc连接示例,驱动这块,埋了一个雷。import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.PreparedStatement;import ja...
2018-11-23 15:35:25
1815
phoenix 5.0 hbase2.0.1 新建二级索引后,新增数据报错
2018-11-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人