经常看到这种建表sql
1 | CREATE TABLE `table1` ( |
sql中为每个字段都加上了长度限制,能限制住吗?存储数据时占用的空间又是多少呢?
经常看到这种建表sql
1 | CREATE TABLE `table1` ( |
sql中为每个字段都加上了长度限制,能限制住吗?存储数据时占用的空间又是多少呢?
运行一段时间后,频繁fullgc,2s10几次fullgc,无法对外提供服务
内存还有非常多的情况下就开始了fullgc
只看到class loader的一直重新加载?内存指向java.security.Permission,没有其他大对象?没有搞懂重新改好了也是这样,需要再搞懂
1 | -Xms128m -Xmx256m -XX:ReservedCodeCacheSize=50m -XX:MetaspaceSize=96m -XX:MaxMetaspaceSize=96m -Xss256k -XX:MaxDirectMemorySize=16m |
怀疑是-XX:ReservedCodeCacheSize=50m导致Meta不生效,导致重新加载fullgc?
修改为jvm参数,后好使了
1 | -Xms128m -Xmx256m -XX:PermSize=128m -XX:-UseGCOverheadLimit -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 |
需要再研究,怎么来指向这个问题。
另外火焰图必不可少
有需求使用DataX将HBase表中数据迁移到MySQL中,有的表在Phoenix中定义,使用hbase20xsqlreader读取。有的没有在Phoenix中定义,数据是动态插入,列是不固定的。
不管读取HBase还是Phoenix都要求填写column,但是可以写sql占位,传进来。
我这里由于业务原因就没有使用占位符的方式传递。
现在的业务需求是我HBase横表迁移到MySQL纵表中。
动态列中的列名有在MySQL表中记录,所以实现流程就是
fork的项目running_page有一个Issue提到国家和地区识别不正确,看了数据样例较为复杂,有的是有国家省市区,有的只有部分,还有国外的。running_page中代码以逗号分隔取国家,然后根据统计用区划代码和城乡划分代码对比取出城市。
问题是,数据是全球的用户是全球的,那全球各个国家和区域的标准应该是什么?中国有省市区,那其他国家有吗?有统一标准吗?
全球化那就必然要找国际标准了,看这里ISO 3166, Codes for the representation of names of countries and their subdivisions
里面又包含了
我们拿到gps后做需要逆地址解析拿到ISO 3166标准的代码,有哪些方式可以呢,google map?
我调研了2个方式
启动Phenix Query Server 6.0.0报错
1 | 2023-08-03 15:20:01.672088 launching /var/jdk/bin/java -cp /etc/hbase/conf:/etc/hadoop/conf::/var/phoenix-queryserver-6.0.0/bin/../phoenix-queryserver-6.0.0.jar: -Dproc_phoenixserver -Dlog4j.configuration=file:/var/phoenix-queryserver-6.0.0/bin/log4j.properties -Dpsql.root.logger=INFO,DRFA -Dpsql.log.dir=/tmp/phoenix -Dpsql.log.file=phoenix-root-queryserver.log org.apache.phoenix.queryserver.server.QueryServer |
HBase 2.4.15
Phoenix 5.1.3
升级HBase 2.4.15后,之前的Phoenix 4.13.1就不能用了。从Phoenix官网看到Phoenix和HBase的版本对应。
Current release 4.16.1 can run on Apache HBase 1.3, 1.4, 1.5 and 1.6.
Current release 5.1.3 can run on Apache HBase 2.1, 2.2, 2.3, 2.4 and 2.5.
然后Phoenix 5.1.3中没有带query server,需要单独下载query server并启动,如图
最近使用Docker搭建FTP后,客户端可以连接无法列出目录,无法上传。通常我们认为FTP占用端口21用于传输控制命令,20传输数据。而我的21、20端口都有映射、开放。
FileZilla连接效果如下
同一个jar包,在某个环境下启动应用报错,另一个环境可以正常启动。报上面的错误1
caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
查看MySQL日志mysql/mysqld.log其中有1
22000-02-05T02:19:10.762462Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2000-02-05T02:19:10.762482Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
宽表、窄表是大数据中的概念
宽表,字段比较多的数据库表。将业务主题相关的多个维度的字段关联在一起的一张数据库表。
宽表的本质:以空间换时间
好处:
窄表,符合三范式,相同维度的字段组成一张表。表和表之间关联查询。
横表、纵表
横表:也称为行表,将数据按照行进行排列。
纵表:也称为列式表或属性表,将数据按照列进行排列。