- 博客(48)
- 资源 (2)
- 收藏
- 关注
原创 拉链表简单实现
表说明:ods_product_2 :产品 ods 表 ,dw_product_2 :产品 dw 表表初始化-- databasecreate database if not exists demo ;use demo;-- create ods tablecreate table if not exists `demo`.`ods_product_2`(goods_id string comment '商品编号',goods_status string comment '商
2021-05-30 17:25:41 420
原创 HBase
1.HBase 概述1.1 HBase 数据模型In HBase, data is stored in tables, which have rows and columns. This is a terminology overlap with relational databases (RDBMSs), but this is not a helpful analogy. Instead, it can be helpful to think of an HBase table as a mult
2020-06-19 17:44:56 725
原创 Spark源码-Executor 源码解析
Executor 源码解析Executor 是干嘛的处理任务的执行器,是一个JVM进程 ,是一个以线程池实现的运行 Task 的进程。看一下官网和代码注释对 Executor 的说明官网介绍A process launched for an application on a worker node, that runs tasks and keeps data in memory o...
2020-04-27 14:27:12 498
原创 浅析Broadcast
浅析 Broadcast主要有三种对象 BroadcastManager、BroadcastFactory 和 BroadcastBroadcastManager 负责Broadcast的全局管理BroadcastFactory 负责创建或取消BroadcastBroadcast 为实际的一次广播操作BroadcastManager 是 BroadcastFactory 的封...
2020-04-15 17:40:09 334
原创 RDD 的缓存(persist)和检查点(Checkpoint)
RDD 的缓存(persist)和检查点(Checkpoint)RDD的缓存通过persist()或cache()方法可以标记一个要被持久化的RDD,一旦首次被触发,该RDD将会被保留在计算节点的内存中并重用。假设首先进行了RDD0→RDD1→RDD2的计算作业,那么计算结束时,RDD1就已经缓存在系统中了。在进行RDD0→RDD1→RDD3的计算作业时,由于RDD1已经缓存在系统中...
2020-04-15 16:36:21 638
原创 Spark checkpoint 详述
checkpoint 的使用和源码说明本文基于 spark2.4.4 版本进行分析,如有刊误望告之,求指教使用step1 设置checkpoint 目录sc.setCheckpointDir("hdfs://hadoop01:8020/tmp/hc")step2 调用 RDD#checkpoint()方法 val rdd1 = sc.parallelize(score,2)...
2020-04-15 16:16:24 494
原创 HashMap源码研究——resize() 扩容
直接上源码: /** * Initializes or doubles table size. If null, allocates in * accord with initial capacity target held in field threshold. * Otherwise, because we are using power-of...
2020-01-17 10:42:17 272
原创 MySQL 数据库操作
-- -----建用户 hochoymysql -u root -p111111CREATE USER 'hochoy'@'%' IDENTIFIED BY 'hochoy'; -- 远程登录create database hochoy default charset utf8 collate utf8_general_ci;grant insert,select,update on ...
2019-10-12 14:16:33 295
转载 JVM-类的加载和初始化
JVM类的加载与初始化:https://www.jianshu.com/p/aae6e11d54f2jstat 命令查看jvm的GC情况(以Linux为例):https://www.cnblogs.com/yjd_hycf_space/p/7755633.html
2019-09-03 10:18:21 318
原创 clickhouse简介和性能测试
clickhouse使用文档:相对简洁的介绍了clickhouse的使用,对各种引擎做了简单介绍clickhouse官网:clickhouse的权威官方网站准备:在分布式clickhouse集群搭建好之后,进行建库建表,并导入数据并做性能测试。clickhouse特点: 数据通过小批量Batch存储 支持高强度的写操作(数千行写入/每秒) 读数据量非常小...
2019-02-28 11:57:56 11447
原创 文件数字签名(zip、jar等)
说明:需要签名的文件须为压缩类型文件,jar,zip,rar等,简单的文本文件无法进行签名 关于数字签名等的理论和说明,网上文档较多,本文不做赘述,另附两篇较通俗易懂的文章供参阅:https://www.sohu.com/a/217347496_100008678http://www.youdzone.com/signature.html本文旨在使用jdk命令工具对文件进行签名...
2019-02-19 12:01:27 8208
原创 sbt简单使用
在scala 和spark的学习研究中难免会用到sbt 工具,以下对sbt的使用做简要说明sbt 的安装在本文中不做赘述,网上安装可以百度一大堆。以下简单说明sbt 的常用命令。sbt 安装之后,注意配置sbt环境变量。说明:sbt 命令同Linux的命令一样,支持tab键补全命令,如果匹配多个命令,则会显示命令列表,以供选择sbt 常用命令说明:命令输完回车运行后当窗口中出...
2019-01-31 16:01:52 2042
原创 Git 删除分支以及 修改分支名称
git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branch git push --set-upstream origin new_branch # Push the new branch, set local branch to...
2019-01-16 09:32:16 2215
原创 linux 常用命令操作
根据端口号查看进程netstat -anp | grep 8090 ps aux | grep 48198( ps -ef | grep 48198)
2018-11-28 17:15:33 188
原创 java.util.concurrent java并发包中部分工具的使用
java.util.concurrent.Semaphore(信号量) https://www.cnblogs.com/nullzx/p/5270233.htmlhttps://my.oschina.net/cloudcoder/blog/362974 java.util.concurrent.CopyOnWriteArrayList() https://www.cnb...
2018-11-20 14:29:24 156
原创 spark源码解读
SparkContext初始化操作 private val creationSite: CallSite = Utils.getCallSite() private[spark] val listenerBus = new LiveListenerBus(this) addedFiles/addedJars:用于存储每个静态文件/ jar的URL以及文件的本地时间戳 val spar...
2018-11-16 11:26:12 626
转载 Java多线程之 daemon 线程
来源:https://www.cnblogs.com/liboBlog/p/6431733.htmljava线程是一个运用很广泛的重点知识,我们很有必要了解java的daemon线程.线程的分类首先我们必须清楚的认识到java的线程分为两类: 用户线程和daemon线程 A. 用户线程: 用户线程可以简单的理解为用户定义的线程,当然包括main线程(以前我错误的认为main线程...
2018-10-31 17:25:17 443
转载 Java多线程之join()方法
概要本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例来源:http://www.cnblogs.com/skywang12345/p/3479275.html 1. join()介绍join() 定义在Thread.java中。join() 的作...
2018-10-31 16:20:08 208
转载 find -mtime +N/-N/N 的时间算法
(1)find -mtime +N/-N/N 的时间算法: 原文链接地址:http://www.oracleblog.org/study-note/how-to-calculate-find-mtime/ 在unix或linux环境中经常会用到find -mtime这样的写法来找某某时间点之前的文件,至于如何写find -mtime +N/-N/N,原来并不是很...
2018-10-17 14:37:16 7291
原创 shell 连接DB2并执行查询,删除等操作
使用shell执行db2操作#!/usr/bin/env shDBNODE='dbname'DBUSER='db2inst1'DBPASSWORD='123456'#连接DB2connDB2(){ if( /home/db2inst1/sqllib/bin/db2 connect to $1 user $2 using $3 > /dev/null ) ...
2018-10-11 21:07:38 6964
原创 hbase根据时间戳删除数据
hbase shell 或者脚本删除数据一般都根据rowkey进行操作,因此,此处还是要先根据时间戳范围找出rowkey,然后进行deleteall 操作,以下简单分四步进行操作#第一步:通过时间戳找到要删除的数据#第二步:构建删除数据的shell#第三步:给delete_all_by_rowkey.sh 加可执行权限 执行删除shell#!/bin/bash -lec...
2018-09-13 11:42:23 7840
原创 HBase 修改 TTL 属性以释放空间
40. Time To Live (TTL)ColumnFamilies can set a TTL length in seconds, and HBase will automatically delete rows once the expiration time is reached. This applies to all versions of a row - even the ...
2018-09-13 11:07:19 10050 1
原创 VIM 简单使用
vim 替换 命令格式 说明 备注 基本替换 :s/str1/str2/ 替换当前行第一个str1为str2 :s/str1/str2/g 替换当前行所有str1为str2 个人而言较为常用...
2018-08-08 19:10:06 208
原创 crond引发大量sendmail、postdrop进程
问题:登录服务器某用户时,出现以下问题(资源暂时不可用):但是该服务器的其他用户能正常登录,经查看该用户下存在大量的sendmail、postdrop进程,初步确定是crond引发大量的sendmail、postdrop进程导致。su: cannot set user id: Resource temporarily unavailable服务器内存接近耗尽报警,ps -ef查看...
2018-07-24 10:26:36 2200
转载 Spark2.10中使用累加器、注意点以及实现自定义累加器
累加器(accumulator)是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变。累加器的一个常见用途是在调试时对作业执行过程中的事件进行计数。累加器简单使用Spark内置的提供了Long和Double类型的累加器。下面是一个简单的使用示例,在这个例子中我们在过滤掉RDD中奇数的同时进行计数,最后计算剩下整数的和。 val spark...
2018-07-15 22:38:18 215
原创 linux文件压缩命令
01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$ gunzip FileName.gz解压2:[*******]$ gzip -d FileName.gz压 缩:[*******]$ gzip File...
2018-06-27 13:59:52 337
原创 硬盘挂载、分区、格式化为ext4格式
硬盘分区分两种情况:当硬盘磁盘空间< 2T时,使用此种方式没有问题,当硬盘磁盘空间> 2T 时 使用此种方式可能会出问题,这种情况下使用Parted磁盘分区及挂载第一步:添加硬盘/新建分区(fdisk)(此步骤非必须)第二步:格式化分区(mkfs.ext4)第三步:加载分区(mount)1、第一步:添加硬盘/新建分区(fdisk)a、查看当前系统所有硬盘及分区情况:fdisk -lb、...
2018-06-20 19:54:18 124378 3
原创 Parted磁盘分区及挂载
一、parted的用途及说明概括使用说明:parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小。GNU手册说明:parted是一个用于硬盘分区或调整分区大小的工具。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分区;也能创建、调整和移动苹果系统...
2018-06-20 19:50:04 9902
原创 linux设置ssh免密登录和ssh-copy-id命令
linux系统配置免密码的方式:1:ssh-keygen -t rsassh-keygen -t dsa生成密钥2:ssh-copy-id -i ~/.ssh/id_rsa.pub root@tw-master# 接下来一路回车到底cd /rootssh-keygen -t rsa# 接下来一路回车到底ssh-copy-id -i ~/.ssh/id_dsa.pub root@tdhtest...
2018-06-20 17:43:56 13403
转载 Linux安装JDK完整步骤
1、检查一下系统中的jdk版本[root@localhost software]# java -version显示:openjdk version "1.8.0_102"OpenJDK Runtime Environment (build 1.8.0_102-b14)OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)2、检测jdk安装...
2018-06-20 17:36:39 227
原创 Centos6.5安装步骤(U盘安装)
以下以dell R720为例 重启机器按F11进bootmanager, 选择bios boot Menu 选择 Front USB 选择 install or update an existing system 回车选择English 选择us 回车选择Hard drive 回车选择第一个 /dev/sda1 回车进入如下界面进入如下界面,稍等片刻,若无反应,按回车试一下然后进入如下界面,选择...
2018-06-14 19:45:50 26083 1
原创 hbase shell启动报错(KeeperException$ConnectionLossException)
hbase shell启动报错问题:执行hbase shell的时候报错org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid,提示连接不上zookeeper排查思路:查看hbase-site.xml配置文件<proper...
2018-06-12 14:14:54 2559
原创 GIT--------创建与合并分支
创建与合并分支命令查看分支:git branch创建分支:git branch <name>切换分支:git checkout <name>创建+切换分支:git checkout -b <name>合并某分支到当前分支:git merge <name>删除分支:git branch -d <name>命令及说明示例查看分支:git br...
2018-06-12 11:44:25 209
原创 Hadoop----HA
HA基础 HA,High Available,即高可用(7*24小时不中断服务) HDFS的管理是通过namenode来实现的,数据存储在Datanode上,而在Hadoop中namenode是存在SPOF(single point of failure),而Datanode失败,Hadoop会自动的重启一个复制失败的备份数据,所以datanode不存在HA,Had...
2018-06-11 23:49:25 309
原创 spark-submit简要说明
首先通过bin/spark-submit --help查看一下spark-submit命令的帮助说明:使用格式: ./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<...
2018-05-30 10:49:53 2821 1
原创 Java 实现HDFS文件上传
HDFS上传文件大致分为三种:1)直接调用API2)使用webhdfs3)httpfs以下对前两种进行简要说明1)直接调用API(直接上代码)public void hdfsUpload(String srcPath) throws IOException,URISyntaxException { Configuration conf = new Configuration(); ...
2018-05-24 15:57:57 7395 2
原创 Shell特殊变量: $0, $#, $*, $@, $?, $$对应参数
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数特殊变量列表变量 含义$0 当前脚本的文件名$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$# 传递给脚本或函数的参数个数。$* 传递给脚本或函数的所有参数。$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $*...
2018-05-20 17:22:04 324
转载 [shell] if else以及大于、小于、等于逻辑表达式
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等,通常用"[]"来表示条件测试。注意这里的空格很重要。要确保方括号的空格。 首先对if-else if- if的使用进行简单说明,直接贴脚本如下,if空格[空格"xx"空格=空格"xx"空格];空格thenecho "if"elif空格[空格"xx"空格=空格"xx"空格];空格then
2018-05-20 17:12:06 4527
原创 MapReduce 之 排序
排序是MapReduce核心技术,尽管实际应用中可能不需要对数据进行排序,但是MapReduce过程本身就含有排序的概念。MapReduce的排序是默认按照Key排序的,也就是说输出的时候,key会按照大小或字典顺序来输出,比如一个简单的wordcount,出现的结果也会是左侧的字母按照字典顺序排列。 1)排序的分类:(1)部分排序:MapReduce中默认的排序方式,默认输出是按照键的自...
2018-05-05 09:15:21 1791
转载 apache kafka系列之server.properties配置文件参数说明
来源:https://blog.csdn.net/lizhitao/article/details/25667831每个kafka broker中配置文件server.properties默认必须配置的属性如下:[java] view plain copybroker.id=0 num.network.threads=2 num.io.threads=8 socket.send.buffer...
2018-04-24 11:39:46 169
Hadoop计算框架:MapReduce
2018-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人