自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java深入浅出之HashMap

HashMap 是使用频率最高的类型之一,同时也是面试经常被问到的问题之一,这是因为 HashMap 的知识点有很多,同时它又属于 Java 基础知识的一部分,因此在面试中经常被问到。HashMap 底层是如何实现的?在 JDK 1.8 中它都做了哪些优化?在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的组成结构如下图所示:数组中的元素我们称之为哈希桶,它的

2020-05-26 14:39:01 245

原创 Java深入浅出之String

String 是如何实现的?它有哪些重要的方法?以主流的 JDK 版本 1.8 来说,String 内部实际存储结构为 char 数组,源码如下:publicfinalclassStringimplementsjava.io.Serializable,Comparable<String>,CharSequence{//用于存储字符串的值privatefinalcharvalue[];//缓存字符串的hashcode...

2020-05-25 19:31:46 302

原创 Java深入浅出之线程

线程基本介绍线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。线程的状态有哪些?它是如何工作的?线程的状态在 JDK 1.5 之后以枚举的方式被定义在 Thread 的源码中,它总共包含以下 6 个状态:NEW,新建状态,线程被创建出来,但尚未启动时的线程状态; RUNNABLE,就绪状态,表示可以运行的线程状态,它可能正

2020-05-25 19:11:18 147

原创 Spark深入浅出之Actor编程

package actorimport akka.actor.{Actor, ActorSystem, Props}/** * 当继承actor后,就是一个Actor,核心方法receive 方法重写 */class SayHelloActor extends Actor { /** * 1. receive 方法,会被Actor的mailbox(实现了Runnable接口)调用 * 2.当该Actor的mailbox 接收到消息,就会调用了receive * 3.t.

2020-05-25 18:05:48 386

原创 Java深入浅出之JVM内存模型

一、虚拟机的发展HotSpot VM(SUN) 以前使用范围最广的Java虚拟机JRockit VM(BEA) 号称”世界上最快的Java虚拟机”J9 VM(IBM)Dalvik VM( Google )HotSpot VM(ORACLE) 目前使用范围最广的Java虚拟机二、JVM的整体介绍三、运行时数据区这个是抽象概念,内部实现依赖寄存器、高速缓存、主内存(具体要分析 JVM 源码 C++语言实现,没必要看) 计算机的运行=指令+数据,指令用于执行方法的,数..

2020-05-24 11:35:46 592

原创 Scala加载外部配置文件速成教学,实时离线都可用。

废话不多说,直接开干。一、配置文件创建及导出 src/resources/application.properties创建 将application.properties文件移到服务器或者本地。二、文件配置读取类编写 示例如下:import java.util.Propertiesobject PropsApp { //TODO 配置文件的加载 val path = "F:\\config\\application.properties"// va...

2020-05-24 10:59:11 748

原创 Scala深入浅出之对象层级关系示意图

2020-05-24 10:41:13 219

原创 Java集合框架常见面试

1.HashMap 和 ConcurrentHashMap 的区别ConcurrentHashMap对整个桶数组进行了分割分段(Segment),然后在每一个分段上都用lock锁进行保护,相对于HashTable的synchronized锁的粒度更精细了一些,并发性能更好,而HashMap没有锁机制,不是线程安全的。(JDK1.8之后ConcurrentHashMap启用了一种全新的方式实现,利用CAS算法。) HashMap的键值对允许有null,但是ConCurrentHashMap都不允许..

2020-05-23 22:45:17 200

原创 sk_iris_knn

# -*- coding:utf-8 -*-import numpy as npfrom sklearn.datasets import load_irisfrom sklearn.datasets.base import Bunchfrom sklearn import tree, metricsfrom sklearn.neighbors import KNeighborsClassifieriris_data = load_iris()X = iris_data.dataY = i.

2020-05-22 16:04:19 188

原创 Hand_iris_knn

# _*_coding:utf-8 _*_import csvimport operatorimport randomimport numpy as npdef loadDataSet(file_name, split, trainingSet=None, testSet=None): with open(file_name, 'rb') as csv_file: # 读取csv的格式 data_file = csv.reader(csv_file).

2020-05-22 16:03:48 166

原创 Scala高阶之多线程

Runnable/Callable入门级区别:Runnable无返回值,Callable线程执行完有返回值。深入源码后面会详解。Runnable示例import java.util.concurrent.{Executors, ExecutorService} object Test { def main(args: Array[String]) { //创建线程池 val threadPool:ExecutorService=Executors.newFixedT

2020-05-22 15:55:08 418

原创 spark2.0 scala2.11.8整合kafka0.10新特性pom及代码

Pom如下<?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

2020-05-22 15:46:39 652

原创 Scala之Json4s解析json

import com.alibaba.fastjson.{JSON, JSONObject}import org.apache.spark.rdd.RDD/** * Created by maokm on 2020/1/3. *//*""" |platformId;//渠道编码 | loanTerm;//贷款其次 |creditCode;//营业执照号 |riskId;//授信业务号 |status;//状态 |customerOpenId;//商户号 可以为空 | ap..

2020-05-22 15:40:46 1102

原创 Scala高阶编程之协变、逆变和不变

1、Scala的协变(+),逆变(-),协变covariant、逆变contravariant、不可变invariant2、对于一个带类型参数的类型,比如List[T],如果对A极其子类型B,满足List[B]也符合List[A]的子类型,那么久称为convariance(协变),如果List[A]是List[B]的子类型,即与原来的父子关系正相反,则称为contravariance(逆变).如果一个类型支持协变或逆变,则称这个类型为variance(翻译为可变的或变型),否则称为invariance(

2020-05-22 15:36:58 248

原创 Spark排序算法之二次排序

二次排序具体实现步骤:按照Ordered和serrializable接口实现自定义排序key 将要进行二次排序的文件假造进来生成<key,value>类型的RDD 使用sortbykey基于自定义的key进行二次排序 去除掉排序的key,只保留排序的结果源码如下import org.apache.spark.{SparkConf, SparkContext}class SecondarySortKey(val first: Int, val second: Int) ex.

2020-05-22 15:13:02 882

原创 Spark自定义Part-00001

import org.apache.spark.{SparkConf, SparkContext}/** * Created by maokm on 2017/7/20. */import org.apache.hadoop.mapred.lib.MultipleTextOutputFormatclass RDDMultipleTextOutputFormat extends MultipleTextOutputFormat[Any, Any] { override def gene.

2020-05-22 15:01:55 430

原创 Spark深入浅出之从源码看Spark布局

RDD基于工作集的应用抽象(动态感知,容错,负载均衡,弹性)1、RDD(Resilient distributed Dataset)弹性体现自动的进行内存和磁盘数据存储的切换 基于lineage的高效容错(第n个节点出错,会从n-1个节点恢复,血统容错) Task如果失败会自动进行特定次数的重试(默认4次) Stage如果失败会自动进行特定次数的重试(可以只运行计算失败的阶段),只计算失败的数据分片 Checkpoint和persist DAG,Task和资源管理无关 数据分片的高度弹.

2020-05-22 14:51:58 214

原创 Spark深入浅出之从物理执行角度看Spark

一、思考pipeline即使采用pipeline的方式,函数f对依赖的RDD中的数据集合的操作也会有两种方式:1、f (record) ,f作用于集合的每一条记录,每次只作用于一条记录2、f(records),f 一次性作用于集合的全部数据。Spark采用的是第一种方式,原因:1、无需等待,可以最大化的使用集群的计算资源。2、减少OOM的发生。3、最大化的有利于并发。4、可以精准的控制每一个Partition本身(Dependency)及其内部的计算(compute)。5

2020-05-21 16:14:14 179

原创 数据结构之队列的基本操作(Java基础)

/* * 队列 */public class MyCycleQueue { //底层使用数组 private long[] arr; //有效数据的大小 private int elements; //队头 private int front; //队尾 private int end; /** * 默认构造方法 */ public MyCycleQueue() { arr = new long[10]; elements = 0; front = 0;.

2020-05-21 16:09:07 288

原创 数据结构之汉诺塔(Java基础)

public class HanoiTower { /** * 移动盘子 * topN:移动的盘子数 * from:起始塔座 * inter:中间塔座 * to:目标塔座 */ public static void doTower(int topN,char from,char inter,char to) { if(topN == 1) { System.out.println("盘子1,从"+ from + "塔座到" + to + "塔座"); } el.

2020-05-21 16:08:01 303

原创 数据结构之栈的基本操作(Java基础)

public class MyStack { //底层实现是一个数组 private long[] arr; private int top; /** * 默认的构造方法 */ public MyStack() { arr = new long[10]; top = -1; } /** * 带参数构造方法,参数为数组初始化大小 */ public MyStack(int maxsize) { arr = new long[maxsize]; top .

2020-05-21 16:06:29 236

原创 SparkHbase 切分Hfile, 海量数据优化

package cn.jkjf.bigdata.utils.testimport cn.jkjf.bigdata.utils.mysql.Globalimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.fs.Pathimport org.apache.hadoop.hbase.client.{ConnectionFactory, HTable}import org.apache.hadoop.hbase..

2020-05-21 16:03:20 428

原创 生成Hfile 并给HDFSSHELL授权

package cn.jkjf.bigdata.utils.testimport java.text.SimpleDateFormatimport java.util.{Date, UUID}import cn.jkjf.bigdata.utils.hbase.HFilePartitionerimport cn.jkjf.bigdata.utils.mysql.Globalimport org.apache.hadoop.conf.Configurationimport org.apach.

2020-05-21 16:01:38 311

原创 Scala 生成一个Hfile

package cn.jkjf.bigdata.utils.hbaseimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbase.util.Bytesimport org.apache.spark.Partitionerclass HFilePartitioner(conf: Configuration, splits: Array[Array[Byte]], numFilesPerRegion: Int.

2020-05-21 16:00:13 267

原创 Cloudera Manager 5.14.4离线安装

安装环境 本次安装一共使用6台服务器 硬件环境:/目录500G,数据目录500G 操作系统:CentOS7 相关应用:JDK、Mysql 操作用户:root系统配置(每个节点) hostnamectl set-hostname jkbigdata01 #cat /etc/hostname jkbigdata01 修改所有服务器 重启服务器使host主...

2020-05-21 15:50:07 942 2

原创 Flume:SpoolDir实战

#source的名字agent.sources = s1# channels的名字agent.channels = c1# sink的名字# 指定source使用的channelagent.sources.s1.channels = c1# 指定sink使用的channel# source的名字agent.sources = s1# channels的名字agent.channels = c1# sink的名字agent.sinks = r1# 指定source使用的chan.

2020-05-21 14:43:47 1048

原创 Flume:TailDir实战

#source的名字agent.sources = s1# channels的名字agent.channels = c1# sink的名字# 指定source使用的channelagent.sources.s1.channels = c1# 指定sink使用的channel# source的名字agent.sources = s1# channels的名字agent.channels = c1# sink的名字agent.sinks = r1# 指定source使用的chan.

2020-05-21 14:41:37 1131

原创 logstash配置文件(ELK)

input{ kafka{+ bootstrap_servers => ["192.168.234.*:9092,192.168.234.*:9092"] group_id => "loan-log-consumer" auto_offset_reset => "latest" consumer_threads => 5 topics => ["loan-log"] type => "loan" }}filter{ if[type].

2020-05-20 19:40:51 586

原创 Oracle导出表结构到excel

SELECT a.COLUMN_NAME,a.DATA_TYPE,a.DATA_LENGTH,a.NULLABLE,b.COMMENTSfrom ALL_TAB_COLUMNS a,ALL_COL_COMMENTS bWHERE a.OWNER=b.OWNER AND a.TABLE_NAME=b.TABLE_NAME AND a.COLUMN_NAME=b.COLUMN_NAME AND a.OWNER='LOANCORE' AND a.TABLE_NAME='T_BA_REPAY_PL.

2020-05-20 19:39:24 766

原创 storm 环境搭建问题解决

Running: /data/service/jdk1.8.0_111/bin/java -client -Ddaemon.name= -Dstorm.options= -Dstorm.home=/usr/local/storm/storm -Dstorm.log.dir=/usr/local/storm/storm/logs -Djava.library.path= -Dstorm.conf.file= -cp /usr/local/storm/storm/lib/log4j-over-slf4j-1.6

2020-05-20 19:37:58 474

原创 Hadoop文件归档OOM解决

export HADOOP_CLIENT_OPTS=-Xmx20g

2020-05-20 19:34:30 297

原创 Hadoop 文件归档

#! bin/bashPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binexport PATHexport JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$PATHexport HADOOP_USER_NAME=hdfs if [ -z "$1" ]; thenyesterday=`date -d '0 day' +%Y%m%d`echo $yeste.

2020-05-20 19:33:41 332

原创 Spark读取Kafka 高低阶API

1、KafkaUtils.createDstream构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic,partitions] )使用了receivers来接收数据,利用的是Kafka高层次的消费者api,对于所有的receivers接收到的数据将会保存在Sparkexecutors中,然后通过Spark Streaming启动job来处理这些数据,默认会丢失,可启用WAL日志,该日志存储在HDFS上...

2020-05-20 19:31:33 457

原创 磁盘挂载分配

umount /websphere删除/etc/fstab中的最后含有这个的一行: /dev/mapper/datavg-vg1 /websphere…………删除原有lv:lvremove /dev/datavg/vg1重新调整datavg大小:pvresize /dev/sdb创建LV:lvcreate -L 50G -n datavg-opt datavg格式化:mkfs.ext4 /dev/datavg/datavg-opt挂载:mount /dev/datavg/datavg-op.

2020-05-20 19:29:23 302

原创 算法优化之梯度下降

import matplotlib.pyplot as pltimport numpy as np#1.初始化数据X = np.linspace(0,1,num = 100).reshape(100,1)print X#模拟效果,预测值noise = np.random.random((100,1)) /10 #100行 1列 /10 缩小10倍# 2.目标系数Y = 2 * X + 3 + noise#观察效果#创建一个画布fig = plt.figure()ax = .

2020-05-20 19:27:31 189

原创 五子棋游戏(Scala版本)

package datastructureimport scala.collection.mutable.ArrayBuffer/** * 编写五子棋程序,有存盘退出和续上盘的功能 */object Sparsearray { def main(args: Array[String]): Unit = { val rowSize = 11 val colSize = 11 //创建棋盘 val chessArray = Array.ofDim[Int].

2020-05-20 19:19:59 371

原创 二叉树(Scala版本)

package datastructure/** * 二叉树demo */object BinaryTreeDemo { def main(args: Array[String]): Unit = { val root = new HeroNode(1, "宋江") val hero2 = new HeroNode(2, "吴用") val hero3 = new HeroNode(3, "卢俊义") val hero4 = new HeroNode(4, ".

2020-05-20 19:16:27 1571

datax之hivereader

datax之hivereader,下载完成后直接解压到plugin下的reader。解压完后记得把zip包删掉,不然报错哟

2020-11-04

json-serde-1.3.7-jar-with-dependencies.jar

hive解析json数据依赖jar包,下载jar包后,直接放到对应路径,在建表语句中加入org.openx.data.jsonserde.JsonSerDe即可使用。

2020-10-20

空空如也

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

TA关注的人

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