- 博客(22)
- 资源 (6)
- 收藏
- 关注

原创 C语言数据结构排序 -- 冒泡
本人很懒,直接贴代码,提供三种排序的思路冒泡规则:首先拿第一个元素和后面的所有一个个比较,如果比后面的大就交换,所以始终会保证第一个元素是最小的,然后再从第二个第三个,以此类推(万变不离其中)常规排序思路void first(int a[], int len) { for (int i = 0; i < len - 1; i++) { for (int...
2019-01-09 21:12:59
400

转载 如何高效使用Spark的mappartition
mappartition的妙用本问主要想讲如何高效的使用mappartition。 首先,说到mappartition大家肯定想到的是map和MapPartition的对比。网上这类教程很多了,以前浪尖也发过类似的,比如 对比foreach和foreachpartition主要是map和foreach这类的是针对一个元素调用一次我们的函数,也即是我们的函数参数是单个元素,假如函数内部存...
2018-08-13 10:27:36
7207
1

原创 Elasticsearch全方面优化点
Elastic优化点优化点分片策略分片分配行为segement路由优化避免内存交换(内存交换空间一定要关闭)副本控制索引合并tranlog内存分配大小http://www.tuicool.com/articles/7fueUbb分片上面讲到的每个分片最好不超过30GB的原则依然使用一个好的方案是根据你的节点数量按照1.5~3倍的原则来创建分片 如果你有3个节点, 则推荐你创
2017-06-09 13:57:15
2566
原创 LeetCode-岛屿数量(Queue+BFS)
基于JAVA代码编译,数据结构Queue+BFS的实现逻辑public class Island { //Queue+BFS的实现方式,得到总的岛屿的数量 public static int islands(char[][] point) { if (point == null || point.length == 0 || point[0].length == ...
2020-04-23 15:28:10
291
原创 一句话总结JVM
JVM识别的编译后的字节码文件程序计数器针对每个线程都有独立的计数器,记录当前这个线程执行到哪一条字节码指令了Java虚拟机栈JVM必须有一块区域来保存每个方法的内的局部变量等等数据,每个线程都有自己的Java虚拟机栈,对应被调用的每个方法都会有一个栈帧,方法执行完毕后就会把相应的方法栈帧从栈里剔除调用执行任何方法的时候,都会给方法创建栈帧然后入栈。而在栈帧里存放了这个...
2019-05-16 11:09:26
384
原创 ETL-Talend官方入门实战案例
鉴于国内关于Talend文档使用案例相对较少,对初学者相当不友好,所以本文基于官方文档做出的实际的使用例子,全部流程完美复现。对于初学者请耐心作完,将受益匪浅。文档是省略版,底部有打包上传的代码,请实际操作并复现比对使用界面介绍案例1 :读取本地源文件并结构化输出1. 构建movie.csv文件元数据结构信息2. 在Job design添加一个movie的作业3. 添加fFile...
2019-05-15 11:52:42
14217
原创 方法内部多线程调用局部变量问题
问题场景: 方法n内部多线程调用内部局部变量集合,并发写入数据库,集合线程间隔离(线程调用完毕就需要清空集合),数据不重复写入问题核心代码片段: class ThreadSync implements Runnable { private final String oldEsUrl = String.format("%s", BULK); private ...
2019-04-01 17:22:28
1338
原创 C语言数据结构排序 -- 插入
本人很懒,直接贴代码,提供以下排序的思路排序规则:每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。图解:常规排序思路void first(int *a, int len) { for (int i = 1; i < len; i++) { int j = i; int temp = *(a + i...
2019-01-27 12:43:35
392
原创 JVM虚拟机实战案例 -- OOM
一、通过运行时验证Java虚拟机规范中描述的各个运行时区域存储的内容二、在工作中遇到OOM,根据异常信息快速判断是哪个区域的内存溢出,知道什么样的代码可能导致OOM,以及解决方案Java堆溢出VM参数: Xms20M -Xmx20M -XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:\Java\dump2.hprof代码Ma...
2019-01-22 17:54:50
431
原创 C语言数据结构排序 -- 选择
本人很懒,直接贴代码,提供三种排序的思路排序规则:选择排序和冒泡排序有一点点像,选择排序是默认前面都是已经排序好的,然后从后面选择最小的放在前面排序好的的后面,首先第一轮循环的时候默认的排序好的为空,然后从后面选择最小的放到数组的第一个位置,第二轮循环的时候默认第一个元素是已经排序好的,然后从剩下的找出最小的放到数组的第二个位置,第三轮循环的时候默认前两个都是已经排序好的,然后再从剩下的选择一...
2019-01-21 15:17:10
265
原创 JVM启动参数大全及默认值
Java启动参数分为三类:1.标准参数(-)2.非标准参数(-X)3.非Stable参数(-XX)一、标准参数-classpath-cp告知jvm搜索目录名、jar文档名、zip文档名,之间用分号;分隔;使用-classpath后jvm将不再使用CLASSPATH中的类搜索路径,如果-classpath和CLASSPATH都没有设置,则jvm使用当前路径(.)作为类搜索路径。jvm...
2019-01-18 16:27:56
1557
原创 JVM垃圾回收总结详解(二)细心阅读
GC 回收需要完成的三件事情:哪些内存需要回收什么时候回收如何回收HotSpot 虚拟机中,对象在内存中存储的布局分为三块区域:对象头、实例数据、对齐填充对象头:第一部分用于存储对象自身的运行时数据对象头的另外一部分是类型指针,即是对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。实例数据接下来实例数据部分是对象真正存储的有效信息,也既是我们在程序...
2019-01-17 22:36:51
204
原创 JVM垃圾回收总结详解(一)细心阅读
Java内存大体分为:堆内存(Heap) 栈内存(Stack)内存细分:虚拟机栈本地方法栈PC寄存器方法区堆区再分:线程共享区:方法区,堆区。随着虚拟机启动而创建,随着虚拟机退出而销毁,并且为进程的所有子线程共享线程独享区:虚拟机栈,本地方法栈,PC寄存器,这些数据与线程一一对应,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁一 、线程独享区PC寄存器:任意时刻,...
2019-01-17 16:14:08
383
原创 Hhbase性能优化配置
最主要的是IO的操作(重点)不要在一张表里定义太多的Column FamilyHbase目前不能良好的处理超过包含2-3个CF的表。因为某个CF在flush发生时,它邻近的CF也会因关联效应被触发flush,最终导致系统产生更多IO配置优化zookeeper.session.timeout 1.默认的是3分钟 2.RegionServer与Zookeeper间的连接超时时间。当超时时间到
2017-09-02 17:13:26
309
原创 java重载、重写和this、super
重载 (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。 (3) 重载的时候,方法名要
2017-09-02 17:12:31
264
原创 HBASE基础命令大全
HBASE基础命令大全1.查询服务器状态> status 2.查询HIVE版本> version3.创建一个表>create 'member','cf','cf','cf'4.查询有哪些表>list5.表的描述>descirbe 'biaoming'6.删除一个列组>alter 'biao',{NAME="LIEZU",METHOD=>'delete'}7.下线表>disa
2017-09-02 17:11:38
450
原创 Hbase过滤器(Filter)汇总
FilterCompareFilter 是高层的抽象类,下面我们将看到他的实现类和实现类代表的各种过滤条件RowFilter,FamliyFilter,QualifierFilter,ValueFilter 行,列组,列,值等的过滤SingleColumnValueFilter 单值过滤器是以特定“列”的“值”为过滤内容,值得是单列的值。而行值过滤器比较的是所有列的值。与其进行比较。F
2017-09-02 17:10:46
513
原创 Hbase基础原理
发展历史HBASE是建立在HDFS上的高性能数据库系统通过ROWKEY和主键的range来检索数据HIVE支持多表的复杂操作主要是横向扩展,通过增加廉价的服务器,来提高计算能力表名,行健,列组,列,值HBASE中的行只支持三种方式访问1.通过单个ROWKEY访问2.通过ROWKEY的范围访问3.全表扫描 注意ROWKEY在HBASE的内部保存为“字节数组”,一般长度为100左右的B
2017-09-02 17:10:04
275
原创 hbase与hive的区别与联系
hbase与hive的联系 1.hive适合处理离线的数据 2.hbase适合处理实时的数据的查询 两者合并起来使用可以达到‘+’的效果hive hive适合用于网络日志等数据量大的静态数据查询 HIVE是hadoop的数据仓库,依赖于HDFS和mapreduce 类似于SQL操作 把MAPREDUCE的程序作为插件来支持HIVE的数据分析 作用于全表扫描使用(HIVE+HA
2017-09-02 17:08:43
839
原创 Hadoop Hbase Spark 配置文档详解
hadoop1.core-site.xml 1.fs.defaultFS hdfs默认端口 2.hadoop.tmp.dir Hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。它默认的位置是在/tmp/{$user}下面,但是在/tmp路径下的存储是不安全的,因为linux一次重启,文件就可能被删除。 3.fs.trash.inter
2017-09-02 17:07:09
445
原创 Elasticsearch ulimit
ulimit 配置步骤 vi /etc/sysctl.conf vm.max_map_count=262144vi /etc/security/limits.conf soft nofile 81930 hard nofile 81930 es soft memlock unlimited es hard memlock unlimited root soft nof
2017-06-09 13:49:27
1468
转载 elsaticsearch聚合内存控制
内存控制篇elasticsearch除了提供检索功能之外,还能做更多的事情,比如近实时的数据分析。对此elasticsearch提供了聚合aggregation模块,这比之前的facet模块更加强大。具体提供的聚合类型本文不再介绍,而是重点关注aggr模块中关于内存控制的一些事情。Fielddataaggr大量使用fielddata,fielddata也是es中的内存大户。众所周知,倒排索引建立
2017-06-09 13:43:17
592
talend_project.zip
2019-05-14
talend.zip
2019-05-14
elasticsearch分布式优化配置总结
2016-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人