自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 大数据私房菜面试题

一.Hadoop1.hdfs写流程2.hdfs读流程3.hdfs的体系结构4.一个datanode 宕机,怎么一个流程恢复5.hadoop 的 namenode 宕机,怎么解决6.namenode对元数据的管理7.元数据的checkpoint8.yarn资源调度流程9.hadoop中combiner和partition的作用10.用mapreduce怎么处理数据倾斜问题?11.shuffle 阶段,你怎么理解的12.Mapreduce 的 map 数量 和 .

2020-10-24 22:31:00 2982

原创 面试题集锦

一.Hadoop1.hdfs写流程2.hdfs读流程3.hdfs的体系结构4.一个datanode 宕机,怎么一个流程恢复5.hadoop 的 namenode 宕机,怎么解决6.namenode对元数据的管理7.元数据的checkpoint8.yarn资源调度流程9.hadoop中combiner和partition的作用10.用mapreduce怎么处理数据倾斜问题?11.shuffle 阶段,你怎么理解的12.Mapreduce 的 map 数量 和 .

2020-10-24 22:21:48 1120

原创 交易

绝大多数人做期货是没有多大前途的,因为这种魔鬼技能太简单了,简单到大多数人都视而不见的地步。期货投资是一种原始的低层次的世界,人类总是用高级的眼光来看待低层次的世界。将无比简单的东西无限复杂化。这就是绝大多数人最终不能成功的最主要原因之一。一、期货交易的不是商品,而是人性。期货交易的到底是什么?为什么大多数的投资者仍然不能够稳定获利?而且不同的人在使用同一套交易系统时的投资结果却千差万别呢?绝大多数投资者的投资失败并不是应为他们缺乏交易知识,而是因为没有听从交易知识。一个好的方法最终会落实到使用方法

2020-10-24 22:16:27 526 1

原创 hadoop inputformat

MapReduce过程Mapper的输出参数和Reducer的输入参数是一样的,都是中间需要处理的结果,而Reducer的输出结果便是我们想要的输出结果。所以根据需要对InputFormat进行较合理的设置,Job才能正常运行。Job过程中间的Key和Value的对应关系可以简单阐述如下:map: <k1,v1> -> list(k2,v2)combile: <k2,list(v2)> ->

2020-09-22 22:47:15 363 1

原创 jar包冲突分析及解决

jar包冲突原因我们知道maven有传递性依赖机制,举例来说,当我们需要A的依赖的时候,就会在pom.xml中引入A的jar包;而A的jar包中依赖了B的jar包,这样Maven在解析pom.xml的时候,会依次将A、B 的jar包全部都引入进来。这样就会造成一个问题:A->B->C->G21(guava 21.0)E->F->G20(guava 20.0)假设pom.xml 文件中引入A与E两个依赖,按照上述的传递性依赖机制,与默认的依赖调解机制(第一:路径最近者优

2020-09-22 11:38:11 474

原创 hbase 动态均衡分配策略和整体架构

hbase是基于列族存储,列族下面有很多的列,hbase一张表可以特别大,可以有多个列族,每个列族中又有多个列,由于一张表存储的数据量比较多,所以就把一张表横向拆分多个region进行存储,一台节点就是一个regionserver,一张表的不同region可以存储在不同的regionserver中,同时,在一个region中又存在不同的列族,每个列族又存着不同的列,一个列族横向只对应着一个hfile,竖向对应着多个hfile和region,一个hregionserver里有多个hregion,多个h.

2020-09-03 22:19:18 435

原创 java守护线程的设置

在创建一个线程时,可以在主线程里将其设置为守护线程,线程.setdaemon,但只有守护线程在运行时,会自动关闭

2020-08-23 10:42:23 169

原创 jprofile的使用

https://www.bilibili.com/video/BV1PJ411n7xZ?p=146https://www.bilibili.com/video/BV1PJ411n7xZ?p=145

2020-08-22 10:05:02 187

原创 visualvm

1.idea jdk设置为自己下载目录的jdk目录2.在setting搜索visualvm 设置如下3.visualvm 调出应用程序4.官网下载插件, 然后工具–>工具->插件–>已下载–>添加插件

2020-08-21 23:32:56 162

原创 2020-08-21

1、sparkSQL中的UDF可变参数先定义一个方法,在将方法转为函数,由于函数不能定义可变参数,可变参数传入参数的时候使用Array(字段名,字段名…)UDF(User Defined Function):通常sparkSQL的内置函数满足大部分需求,面对特定需求,往往需要用户自定义函数。UDF的开发package com.bw.spark.udfimport org.apache.commons.lang3.StringUtilsobject UDF { # 获取主

2020-08-21 14:19:27 106

原创 字符串

在使用new String(“a”)的时候首先会new一个空的String对象,然后在常量池生成一个常量a,然后把a传到空的String对象里,在使用Stringbuild()返回String类型时,会使用Stringbuild的的toString方法,把生成一个新的String对象,然后把Stringbuild的value值作为参数传入到String中,并不会在常量池生成一个新的对象...

2020-08-20 22:51:45 85

原创 scala自动增加返回值类型

勾选方框内部分

2020-08-11 21:36:43 368 1

原创 weakhashmap

public class JvmTest { public static void main(String[] args) throws InterruptedException { WeakHashMap<String,Object> whm= new WeakHashMap<>(); String string = new String("String"); String str=new String("String");

2020-08-07 21:28:23 166

原创 软应用GC DEMO

在使用下列代码测试软引用时,需要保证sr.get()执行,new的数组对象必须放在try里面,否则会没等到执行try catch语句块就报错,下面的语句就不会执行.public class JvmTest { public static void main(String[] args) throws InterruptedException { Object o1=new Object(); SoftReference sr=new SoftReference(o1

2020-08-07 20:22:54 152

原创 javap命令

javap定义javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。测试类public class JavapTest {private static final int _P_1 = 1;public static final int _P_2 = 2;public static void main(String[] args) { int m = 0, n = 0; f.

2020-08-07 10:17:37 897

原创 改变eden区,from,to区的比例

-XX:SurvivorRatio=8 -XX:+PrintGCDetails -Xms10m -Xmx10m -XX:+UseSerialGC如果不加SerialGC只改变SurvivorRatio,最终输出结果不会改变,

2020-08-06 22:16:38 1716 1

原创 hashtable和hashmap

HashMap在Jdk1.7和1.8中的实现一、初窥HashMapHashMap是应用更广泛的哈希表实现,而且大部分情况下,都能在常数时间性能的情况下进行put和get操作。要掌握HashMap,主要从如下几点来把握:jdk1.7中底层是由数组(也有叫做“位桶”的)+链表实现;jdk1.8中底层是由数组+链表/红黑树实现可以存储null键和null值,线程不安全。在HashMap中,null可以作为键,这样的键只有一个,但可以有一个或多个键所对应的值为null。当get()方法返回null值

2020-08-01 19:20:38 90

原创 lambda与多线程和线程任务

1.利用lambda创建一个线程任务,然后thread.start执行`public static void main(String[] args) { /** * 建立一个线程任务,然后在主线程你执行 */ Runnable a = () -> { System.out.println("1"); }; new Thread(a).start(); Syste

2020-07-31 21:58:47 175

原创 arraylist多线程错误类型及分析

1.数出现null值赋值语句elementData[size] = e;size ++;1.出现null先对数组赋值,然后size++,如果先对array的某一位置进行赋值,size++尚未执行,另一项程开始对此位置赋值,然后执行size++,之后,此线程执行size++,相当于size跳空一位,此位置并没有赋值,就会出现null值.结束后,下一次赋值从size+2,开始.假设初始size为0,elementData为空。当线程A执行完elementData[size] = e;还未执行

2020-07-30 11:30:48 340 2

原创 java面试2

https://gitee.com/moxi159753/LearningNotes/tree/master/%E6%A0%A1%E6%8B%9B%E9%9D%A2%E8%AF%95/JUC/1_%E8%B0%88%E8%B0%88Volatile/1_Volatile%E5%92%8CJMM%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%8F%AF%E8%A7%81%E6%80%A7

2020-07-28 19:31:14 119

原创 Java面试

1.关于i++与++ipublic static void main(String[] args) { int i=1; i=i++; //1 int j=i++; //2 int k=i+ ++i* i++; //3 System.out.println(i+":"+j+":"+k);}上面输出结果为i=4,j=1,k=11,关于++的算法为存在局部变量表和操作数栈,操作数栈是对数字进行运算的,局部变量表的数据是进行打印的结果,++i是先把局部变量表中的变量先进行自增操作然后压入

2020-07-28 16:25:58 105

原创 maven打包jar

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.

2020-07-25 21:02:55 202

原创 hbase region, store, storefile和列簇的关系

Hbase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写;另外一部分作为BlockCache,主要用于读数据;这里主要介绍写数据的部分,即Memstore。当RegionServer(RS)收到写请求的时候(writerequest),RS会将请求转至相应的Region。每一个Region都存储着一些列(a set of rows)。根据其列族的不同,将这些列数据存储在相应的列族中(Column Family,简写CF)。不同的CF中的数据存储在各自的HStore中,.

2020-07-22 13:11:08 1037

原创 hbase获取.root表与.meta表

在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在研究源码的基础上揭秘这个过程。 在前面的文章“HBase存储架构”中我们已经讨论了HBase基本的存储架构。在此基础上我们引入两个

2020-07-22 12:41:45 400

原创 java hdfs中在一个方法中调用另一个方法

public void listdict(String para) throws Exception { FileSystem fileSystem = getFileSystem(); FileStatus[] fileStatuses = fileSystem.listStatus(new Path(para)); /* if(fileStatuses.length!=0){ }else{ }*/ for (F.

2020-07-18 16:02:26 62

原创 本地上传到hdfs文件乱码问题

@Test public void uploadFile() throws Exception { FileSystem fileSystem = getFileSystem(); fileSystem.copyFromLocalFile(false,true,new Path("D:\\桌面资料\\新建文件夹\\外汇九段.txt"),new Path("/test.txt")); }使用notepad++更改文本文件的编码格式...

2020-07-18 14:51:59 518

原创 mysql建立压力测试数据集

1.建库建表在建立大数据插入时,mysql会报错,需要设置参数2.设置参数log_bin_trust_function_creators3.创建函数保证每条数据不同3.1随机产生字符串3.2 随即产生部门编号4.创建存储过程4.1 往emp表中插入数据的存储过程上述过程需要把自动提交取消,防止每次insert都会自动提交,一次性提交50万条4.,2往dept表插入数据的存储过程5.调用存储过程5.1dept5.2emp...

2020-07-14 18:35:49 268

原创 mysql|优化原则小表驱动大表|in&exists|单双路排序

1.观察 至少跑一天,查看生产的慢sql情况2.开启慢查询日志, 设置阈值,将符合条件的慢sql抓取出来3.explain +慢sql分析4.show profile5.运维经理或者DBA进行sql数据库参数调优===总结1.慢查询的开启并捕获2.expain+慢查询分析3.show profile查询4.sql数据库服务器的参数调优小表驱动大表for(i=5;...){for (i=1000){}}for(i=1000;...){for (i=5){}}第一种,比较

2020-07-14 11:01:47 137

原创 将依赖打入架包

在pom.xml文件中加入 <build> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.15.2&

2020-07-13 19:48:37 58

原创 linux tar 命令

Linux tar命令tar功能,1)将多个文文件打包为一个文件,2)将文件打包并压缩,3)将打包的文件解包,4)将打包压缩的文件解压1、用法tar [选项] [文件…]2、命令选项-A, --catenate        追加 tar 文件至归档-c, --create      创建一个新归档-r, --append      追加文件至归档结尾-u, --update      仅追加比归档中副本更新

2020-07-03 11:55:46 78

原创 linux 打包解压

压缩解压 压缩格式zip打包+压缩解压1 压缩和解压命令1.1 gzip ()压缩) 文件1 文件2gzip 文件 直接压缩文件 后缀名 .gz(压缩格式)[root@bogon doit16]# gzip 1.txt[root@bogon doit16]# lltotal 8-rw-r–r--. 1 root root 59 Jul 2 15:57 1.txt.gz-rw-r–r--. 1 root root 83 Jul 2 16:22 a.txt[root@bo

2020-07-03 11:05:46 223

空空如也

空空如也

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

TA关注的人

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