自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

攻城狮Kevin

爱学习,爱工作,爱生活

  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 log.info

import org.slf4j.Logger;import org.slf4j.LoggerFactory;logger.info("get records list:{}", JSONHelper.toJSON(userPackageList));

2020-05-22 17:12:02 3116

原创 每隔半点清理一次ES缓存脚本

ES清空所有索引的缓存POST _cache/_clearES清空指定索引的缓存POST /{_index}/_cache/_clear通过脚本来清理缓存如下#!/bin/bash# 为防止ES查询缓存过大,每半点清除一次缓存curl -uES访问账号:ES访问密码 -s -XPOST "http://ES访问域名:ES访问密码/_cache/clear"exit 0然后利用crontab控制每隔半点执行一次清理缓存脚本即可*/30 * * * * /全..

2020-05-22 15:48:24 1028 1

原创 运行jar包指定java的主类名,运行其main方法

在jar包中,META-INF目录下,修改MANIFEST.MF文件Manifest-Version: 1.0Main-Class: 主类名全路径

2020-05-21 14:40:23 6095 1

原创 ES删除别名、删除索引、添加副本、修改interval时间等操作的脚本

#!/bin/bashif [ $# -eq 1 ]; then day=$1else day=`date +"%Y%m%d" -d"-1 days"`fiesType="_doc"esIndex="ES索引名前缀"esIndexName=${esIndex}_${day}/${esType}name=dataToES_${day}userandkey=ES访问账号:ES访问密码ipAndPort=ES访问域名:ES访问端口#添加当天日期的索引别名使查询有效#保.

2020-05-21 14:26:39 1676

原创 ES通过脚本自动化删除、创建索引,及mapping基础配置

利用java代码删除ES索引、创建ES索引public class smartNormanCreateOnlineIndex { public static void main(String[] args) throws Exception { String user_id_types = args[0]; String tag_origin_short_name = args[1]; String dt = args[2];

2020-05-21 14:16:04 599

原创 Druid压测和数据摄入优化

Druid压测结论: 1.“枚举型”和“连续数值型”在当前业务数据量级(500G左右)下摄入和查询功能可轻松支撑,摄入时长可保证30分钟以内,查询用时可保证200ms以内。 2.10倍于当前业务数据量级下,枚举型摄入时长可优化至2小时,连续数值型可优化至40分钟,查询用时可保证200ms以内。Druid数据摄入优化经验1.对HDFS文件开启gz压缩,测试gz格式比lzo格式入库要省30%的时间,因为数据压缩率变大。2.对tuningConfig里的"targetParti...

2020-05-20 15:25:55 435

原创 ES自动负载均衡、分片迁移的表现

当发现某个索引并没有数据写入,但其indexing Rate的数值并不为0 /s的时候,一般是集群在做负载均衡,或者正在给索引添加副本,把该索引的数据,将数据从多数据量的节点,迁移一部分至低数据量的节点。...

2020-05-19 17:42:51 2039

原创 ES踩坑——提高写入性能之集群负载均衡

还是往ES集群写入耗时太长,速率太慢的问题,当文档id,即_id自定义指定的情况下,由于每条文档往ES写入时,会对_id进行hash分配其写到哪个节点的主分片上,这样有可能出现写偏了的情况,即集群某台节点的负载特别高,所以一般建议_id让ES自动设置。当集群某台节点负载特别高时,集群会自动进行负载均衡,将某个数据量异常大的主分片数据迁移至其他分片,这个负载均衡过程是很耗集群写入性能的,当多份数据往集群写入时,有可能因为集群的负载均衡占用太多资源,导致写入速率过慢。这种情况可以设置某.

2020-05-18 20:48:47 2540

原创 ES踩坑——提高写入性能之合理安排加副本和删索引的时机

问题表现是:ES集群的cpu和负载都非常低,几乎与无数据写入时一致,indexing rate也很低,基本在2000-5000左右;但是此时有6个大数据量的任务在并行往ES集群各自的索引写入,但是耗时都严重变长,比如正常1h运行完毕的写入任务可以变成14h才运行完毕。问题解决如下:正常在ES写入时,会把索引副本关闭,写完后再加副本。但是当多个数据源,同时并行往一个ES集群的多个索引写入数据时,如果流程设计为:数据源写入ES -> 写入完毕 -> 加副本、删除过期索引.

2020-05-18 20:43:36 1762

原创 Arrays.asList()将数组转list

if (splitList.contains(tagKey)) { val tmpList = String.valueOf(tagValue).split("\\|").filter(!_.equals("")) tagValueArr.addAll(util.Arrays.asList(tmpList))} else { tagValueArr.add(tagValue)}split拆分出数组,然后ava.util.Arrays.asList(Array),将数组转换成list集合.

2020-05-15 10:51:25 763

原创 Spark flatMap算子扁平化数据

/*4. hive表数据扁平化(画像id,faid)*/val id2ffaid = rawData.flatMap(x => {val arr = x.split(splitType, -1)val mergeId = arr(0)val faid = arr(2)val strs = mergeId.split("\\|", -1)val ids = strsval listBuffer = new ListBuffer[(String, String)]for (i &l.

2020-05-14 16:25:29 677

原创 【Hive】解析json(get_json_object)

get_json_object(string json_string, string path)说明:第一个参数填写json对象变量,第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。每次只能返回一个数据项。举例:data 为 test表中的字段,数据结构如下:data ={"store": { "fruit":[{"weight":8,"type":"apple"},...

2020-05-11 17:55:45 1973

原创 针对ES对于upsert和nested嵌套类型数据支持不友好的一种解决方案

index模式入库ES索引:新写入的文档,会在ES索引中查找_id是否存在,不管存在不存在,都会直接覆盖;upsert模式入库ES索引:新写入的文档,会在ES索引中查询_id是否存在,如果不存在则覆盖,如果存在则取出原始文档里的数据(版本1),补上新增文档的数据,合并后生成的数据(版本2)重新写入_id文档,并同时删掉版本1的文档原始数据。所以ES对于upsert模式更新入库的支持性能并不是很好,数据量小,且索引里没有数据的时候影响不大,但是数据量大,且索引里已经存在数据的时候影响较

2020-05-09 20:52:40 1706

原创 Spark调优sc通过textFile读取文件后repartition

在spark中,读取hdfs文件sc.textFile("hdfs路径"),其底层调用的是hadoopFile来获取hdfs路径的数据,1. 对于textFile文件,会做切分,128M一个block,作为一个分区读取过来,形成一个task,2. 对于常见的lzo文件,lzo文件是不支持切分的,所以当一个lzo文件交给一个task去处理时,可能某个lzo文件过大,会导致所有tasks的整体进度被某个task拖慢亲测读取lzo文件,在spark代码中,就算加上切分参数,也不生效(后面是字节数

2020-05-09 20:31:45 2215

原创 ES的数据写入原理,refresh和flush

数据写入ES集群,主要是经过以下2个主要步骤:1. 读取数据 -> 验证(master节点分发给data节点处理,或直接访问data节点主分片)2. 同时写入buffer缓冲区和translog日志文件 -> 生成segment file -> 合并小segment file生成大segment file -> 将合并的segment file刷写到系统缓存,此时...

2020-05-07 15:16:43 6617

原创 java程序报错Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ReflectionUtil

异常如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil......Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.Reflec...

2020-05-06 10:27:40 15939 3

1ARCGIS工具条-启动窗口及主界面的构成

1ARCGIS工具条-启动窗口及主界面的构成,1ARCGIS工具条-启动窗口及主界面的构成,1ARCGIS工具条-启动窗口及主界面的构成

2020-11-19

win10下编译过的hadoop2.7.2 jar包

win10下编译过的hadoop2.7.2 jar包,配置hadoop客户端环境必备

2018-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除