- 博客(60)
- 资源 (4)
- 收藏
- 关注
原创 Canal Scala API Demo
原理官方网站canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )canal 解析 binary log 对象(原始为 byte 流)当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x安装mysql canall
2020-10-01 20:00:23 286 1
原创 SparkStreaming自定义数据源(即接收器)
自定义数据源(即接收器)实现接收sockey的接收器 集成Receiver抽象类 ,具体使用细节可查看Receiver 代码中注释部分有详细说明onStart启动一个子线程来结束数据接收到的数据通过调用store(data)传递给其他执行器进行处理如果发生异常,会重启接收器(按照顺序调用onStop,onStart)onStop释放资源package com.chen.sparksteaming.apiimport java.io.{BufferedReader, Inp
2020-08-27 17:41:00 386
原创 SparkSql自定义强类型、弱类型聚合函数
自定义弱类型package com.chen.sparksql.funcimport org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}import org.apache.spark.sql.types.{DataType, DoubleType, LongType, StructField, StructType}import org.apache.spark.sql.
2020-08-25 16:42:41 493
原创 Spark广播变量与累加器
累加器解决了在Driver端创建的变量在Task中修改但最终不会修改Driver端的变量(Task修改的只是副本,不会同步回Execute)解决了共享变量写的问题当需要一个累加变量时,再Driver 定义作为计数的变量,会复制到Executor中RDD执行时候通过代码对其进行累加,但是结果不会被收集回Driver中,使用累加器可以把Executor的变量值收集回Driver并进行累加注意:累加器再Driver端定义初始化。1.6版本在Excutor不能使用.value 获取累加器的值Demoi
2020-08-23 17:22:00 162
原创 Spark分区器:HashParititioner、RandPartitioner、自定义分区器
HashParititioner聚合算子默认分区器 通过hash值分区RandPartitioner范围分区器排序类算子默认分区器使用水塘抽样算法(抽样概率相同),对数据进行抽样来划分数据边界数组:数组长度由分区数决定,通过水塘抽样计算出数据切分的范围 存放在边界数组中源码:/*** A [[org.apache.spark.Partitioner]] that partitions sortable records by range into roughly* equal range
2020-08-20 18:13:36 315
原创 Spark 使用 Kyro 序列化
序列化解决Driver端创建的对象 在Execute端传输问题方式一:使用Java Serializable接口【Spark默认】优点:简单,不需要额外的工作java自带,方便缺点:序列化速度慢序列化后size比较大hadoop中采取了自定义序列化 …Writable方式二: Kyro 第三方序列化【Spark支持】优点:序列化后的size 大概是Serializable 十分之一 val conf = new SparkConf().setAppName("Demo
2020-08-19 22:51:52 273
原创 scala之模式匹配
一句话解释类似java中switch ,比switch更强大,可以匹配类型基本使用格式:要匹配的值 match {case 选项 => 操作} val a = 10 val b = 20 val op: String = StdIn.readLine("请输入一个运算符:") val result:Int = op match { case "+" => a + b case "-" =>
2020-08-18 15:33:34 100
原创 scala之偏函数
一句话解释只对于偏爱的值进行处理,其他值不进行处理定义偏函数定义方式一【不推荐该方式】 val list1 = List(1, 2, 3, "a", true) // 实现 PartialFunction[输入类型,输出类型]{} val f = new PartialFunction[Any, Int] { // 只对返回true的时候交给apply处理 override def isDefinedAt(x: Any): Boolean = x.
2020-08-18 14:57:37 161
原创 Spark 基础知识点、三种模式安装
环境说明centos 7.5spark-2.1.1Spark 内置模块[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4F5IqC5c-1597227561772)(spark知识点/New Mockup 1.png)]Spark local 模式安装直接解压即可,无需配置(spark-2.1.1-bin-hadoop2.7.tgz 集成hadoop环境包 )local 模式下测试# 提交任务 使用spark案例 计算pibin/spark-submit -
2020-08-12 18:20:17 464
原创 Hive函数Demo3:排序函数
/*数据集孙悟空 语文 87孙悟空 数学 95孙悟空 英语 68大海 语文 94大海 数学 56大海 英语 84宋宋 语文 64宋宋 数学 86宋宋 英语 84婷婷 语文 65婷婷 数学 85婷婷 英语 78*/-- 创建表create table score(name string,subject string,score int)row format delimited fields terminated by "\t";--导入数据load data
2020-08-07 23:01:00 142
原创 Hive函数之窗口(开窗)函数
官方介绍LanguageManual WindowingAndAnalytics一句话解释开窗作用使用开窗函数可以在一个select语句中且不使用子查询的情况下,显示同一指标不同维度的数据。(这么说虽然片面,但是便于理解,实际开窗函数的作用远远超出该描述,具体请看下面案例理解)开窗函数格式格式:over(partition by 要分组字段**,order by** 要排序的字段 window_clause)其中 partition by ,order by ,window_clause 均为可
2020-08-07 21:35:49 965
原创 Hive函数Demo2:字符串拼接函数、炸裂函数、侧写、行专列、列转行
/* 相关函数*/-- 拼接字符串,输入多个字符串select concat('a','b','c');-- 拼接字符串并指定分隔符select concat_ws(',','a','b','c');-- 炸裂函数 拆分数组为一行多列 map为2行多列select explode(array('a','b','c'));-- 侧写 用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias-- 解释 用于和split, ex
2020-08-06 23:44:33 943
原创 Hive函数Demo1:基础常用函数
-- 查看说明desc function extended 函数名/**/。-- 返回时间戳select unix_timestamp();select unix_timestamp('2019-01-01 01:01:01');select unix_timestamp('20190101 010101','yyyyMMdd HHmmss');-- 时间戳转时间select from_unixtime(1546304461,'yyyy-MM-dd HH:mm:ss');-- 返回当
2020-08-06 19:48:26 146
原创 Hive自定义UDF&UDTF函数
pom.xml <properties> <project.build.sourceEncoding>UTF8</project.build.sourceEncoding> <hive.version>1.2.1</hive.version> </properties> <repositories> <repository>
2020-08-03 14:55:43 395
原创 hive安装Tez计算引擎
环境CentOS 7hive 1.2.1apache-tez-0.9.1安装步骤上传taz到hdfs中hadoop fs -mkdir /tezhadoop fs -put apache-tez-0.9.1-bin.tar.gz /tez解压缩tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /opt修改名称mv /opt/apache-tez-0.9.1-bin /opt/tez-0.9.1在hive/conf目录下创建tez-
2020-07-30 14:41:01 217
原创 Flume之JMX监控三种方式
监控作用在flume运行期间,我们可以通过监控channel当前容量和已使用容量来调整channel是否需要扩容通过source向channel中put成功了多少event和sink从channel中take成功了多少个event,比较数据是否存在积压做出调整(通过sink组,和batchsize参数可增加sink读取速度)监控原理通过Java提供的JMX技术(java monitor extension)即 java监控扩展模块,是J2EE定义的14种技术规范之一。JMX可以帮助我们监控一个
2020-07-22 21:58:35 1287
原创 Flume自定义source、interceptor、sink
官方文档SourceSinkMaven 依赖<dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-core</artifactId> <version>1.7.0</version></dependency>自定义Source代码import org.apache.flume.Con
2020-07-22 19:59:59 160
原创 Kafka 自带测试脚本进行性能测试
压力测试用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。producer 压力测试bin/kafka-producer-perf-test.sh --topic test --record-size 100 --num-records 100000 --throughput 1000 --producer-props bootstrap.servers=dw-node01:9092,dw-node0
2020-07-20 20:57:23 442
原创 Kafka辅助工具:KafkaManager、KafkaMonitor、KafkaTool
Kafka 辅助工具目前主流有3中 Kafka辅助工具KafkaManagerKafkaMonitorKafkaToolKafkaManagerhttps://github.com/yahoo/CMAK解压 kafka-manager-1.3.3.22.zip修改conf/application.confkafka-manager.zkhosts= 为 zookepper地址编写启动脚本nohup /opt/kafka-manager-1.3.3.22/bin/kafka-ma
2020-07-20 19:23:11 630
原创 Hadoop 安装LZO压缩、创建LZO索引
编译LZOhadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。Hadoop支持LZO环境准备maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像)gcc-c++zlib-develautoconfautomakelibtool通过yum安装即可,yum -y install gcc-c++ lzo-devel zlib-devel autoconf
2020-07-20 15:13:35 275
原创 hadoop压缩方式deflate、gzip、bzip2、lzo、snappy
关于压缩压缩会减少磁盘空间、磁盘IO以及网络IO的负担,但会增加CPU负担在任意的MapReduce阶段都可以启动压缩使用原则运算密集型的job,少用压缩IO密集型的Job,多用压缩MR支持的压缩压缩格式Hadoop集成算法扩展名是否可splic更换压缩格式是否需要修改代码DEFLATE直接使用DEFLATE.deflate否不需要修改Gzip直接使用DEFLATE.gz否不需要修改bzip2直接使用bzip2.bz2是
2020-07-20 13:35:22 2245
原创 CentOS7.5安装Mysql5.5.6
环境centos 7.5MySQL-server-5.6.24-1.el6.x86_64.rpm卸载rpm -qa|grep -i mysql 查找mysql 是否已经安装rpm -ev 卸载查询到的软件包名依赖需要安装 perl依赖,否则安装完成后无法自动部署yum -y install autoconf安装mysql出现以下提示 安装成功[root@dw-node02 mysql-libs]# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rp
2020-07-19 22:08:14 97
原创 hadoop基准性能测试
HDFS写性能测试内容:向HDFS集群写10个128m的文件hadoop jar /opt/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB20/07/17 08:09:34 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write20/07/17
2020-07-17 19:03:26 296
原创 大数据常用端口
Hadoop50070:HDFS WEB UI端口8020 : 高可用的HDFS RPC端口9000 : 非高可用的HDFS RPC端口8088 : Yarn 的WEB UI 接口19888:jobhistory WEB UI端口8485 : JournalNode 的RPC端口8019 : ZKFC端口Zookeeper2181 : 客户端连接zookeeper的端口2888 : zookeeper集群内通讯使用,Leader监听此端口3888 : zookeeper端口 用于选举l
2020-07-16 13:34:41 104
原创 Hive知识点:索引、分区表、分桶表、抽样查询
索引在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括,索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量;分区表 PARTITIONE BY将表中的数据,分散到表目录下的多个子目录(分区目录)中目的在执行查询时只查询某些子目录中的数据加快查询效率导入数据时候需要指定向哪个分区导入数据相当于在表中增加一列分区列分区 使用 “列名=值” 的形式已有数据 可通过自动修复分区分桶表 CLUSTERED BY和MR中分区是一个概念,把数据分散到多个文件中分桶
2020-07-15 20:31:34 453
原创 Hive 练习题
hive 蚂蚁森林https://blog.csdn.net/qq_34264067/article/details/103157266
2020-07-14 15:51:55 130
原创 Nginx生成日志案例
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}# load modules compiled as Dynamic Shared Objec.
2020-07-14 15:42:04 352
原创 动态代理与AOP面向切面知识点
一句话描述代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展。Java的三种代理模式1. 静态代理/** * 创建接口 */public interface ISinger { void sing();}/** * 目标对象实现了某一接口 */public class Singer implements ISinger { public void sing() { System.out.println("唱一首歌");
2020-07-14 13:35:42 234
原创 MR知识点
MapReduce中常用组件Mapper :map阶段核心处理逻辑Reducer : reducer阶段核心逻辑处理MR 程序必须指定一个输入目录,一个输出目录InputFormat 输入格式FileInputFormat :普通文件DBInputFormat : 处理数据库中的数据SequnceFileInputFileFormat :SequeceFile (hadoop提供的一种文件格式)RecodeReader: 记录读取器,负责从输入格式中读取数据,读取后封
2020-07-10 22:13:41 305
原创 HDFS知识点.md
版本 hadoop-2.7.2HDFS 运行模式core-default.xml 中 fs.defaultFs本地模式 fs,defaultFs=file:/// (默认)分布式模式 fs.defaultFs=hdfs://MR运行模式core-default.xml 中 fs.defaultFs本地模式 mapreduce.framework.name=local (默认)分布式模式 mapreduce.framework.name=yarn本地模式指在本地运行hadoop 配置文件组
2020-07-10 22:13:08 184
原创 linux 常用知识点
新增硬盘# 查看硬盘(已分区的磁盘)df -h# 查看所有磁盘fdisk -l# 分区磁盘fdisk /dev/sdbm #查看帮助n #添加一个新建分区p #创建主分区1 #分区号1-41 #起始磁柱回车 #默认结束磁柱# 格式化mkfs -t ext4 /dev/sdb1# 挂载(临时)mkdir /newdiskmount /dev/sdb1 /newdiskdf -h# 开机自动挂载 blkid /dev/sdb1 #生成磁盘uuidvi /etc/
2020-07-10 22:11:09 107
转载 Python PEP8 编码规范
Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。1.变量_xxx,单下划线开头的变量,标明是一个受保护(protected)的变量,原则上不允许直接访问,但外部类还是可以访问到这个变量。这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。class Student(object): def __
2020-06-08 13:00:33 184
原创 资源清单、init容器、检测探针Demo
资源清单格式apiVersion: group/apiversion # 如果没有给定 group 名称,那么默认为 core,可以使用 kubectl apiversions# 获取当前 k8s 版本上所有的 apiVersion 版本信息( 每个版本可能不同 )kind: #资源类别metadata: #资源元数据namenamespacelablesannotations # 主要目的是方便用户阅读查找spec: # 期望的状态(disired state)status:# 当前状
2020-06-04 21:03:08 152
原创 k8s使用docker私有仓库配置并测试k8s集群【简记】
# 在所有节点docker配置文件中加入 私有仓库地址(解决安全认证问题)vi /etc/docker/deamon.json },"insecure-registries": ["https://hub.myhub.com"]}# 重启docker systemctl restart docker# 添加hostvi /etc/host192.168.2.2 hub.myhub.com# 一下操作在私有仓库node进行# 上传 docker-composemv docke
2020-06-04 15:00:09 586
原创 Kubeadm 部署安装
kube-proxy开启ipvs的前置条件modprobe br_netfiltercat > /etc/sysconfig/modules/ipvs.modules <<EOF#!/bin/bashmodprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip_vs_shmodprobe -- nf_conntrack_ipv4EOFchmod 755 /etc/sysconfig/mo
2020-06-03 23:06:24 1466
原创 centos7 安装k8s系统设置
设置系统主机名以及 Host 文件的相互解析hostnamectl set-hostname k8s-master01安装依赖包yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vimnet-tools git设置防火墙为 Iptables 并设置空规则systemctl stop firewalld && systemctl disabl
2020-06-03 22:06:52 179
原创 kettle整合CDH hadoop、hive、hbase
环境说明Hadoop 2.6.0cdh5.14.0kettle 8.2准备工作设置hadoop文件系统权限查看hadoop文件系统方式一: 浏览器访问 hadoop namenode地址:50070端口方式二: 通过终端 hadoop fs -ls创建目录 hadoop fs -markdir -p /hadoop/test 查看用户是否有创建权限使用 sudo -u hdfs hadoop fs -chmod -R 777 / 改变hadoop目录访问权限,之后再次创建
2020-05-19 20:33:48 1038
原创 完整CDH搭建,适用于Docker下安装CDH
1.1 环境说明CentOS 6.9JDK 1.8CDH 5.14.0Cloudera Manager 5.14.0MySql 5.1.73JDBC mysql-connector-java-5.1.32-bin.jar1.2 CDH相关下载cloudera 官网地址cloudera manager 离线安装的tar包下载地址cloudera-manager-installer.bin下载地址CDH下载地址1.3 虚拟机节点CDH Server :cdh-serverCDH
2020-05-19 17:16:10 1431
转载 两种方法迁移 Docker 的默认安装(存储)目录【转载】
如果是通过 Ubuntu 的 apt-get 安装的 Docker,默认的安装目录应该是:/var/lib/docker。为了完全确定,可以使用以下的命令查询真正的安装路径: sudo docker info | grep "Docker Root Dir"前置工作下文以 /store/software/docker 这个路径作为要迁移的新 Docker 安装(存储)目录在开始迁移之前,首先复制原 Docker 安装(存储)目录到新的路径下: cp -a /var/lib/docker /
2020-05-12 20:58:10 4564
寺冈条码机驱动_UP46_UP462_UP463_GP-470
2019-01-16
RealVNC(WinVNC)v5.3.1(带序列号)
2019-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人