自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java大数据

专注写bug

  • 博客(66)
  • 资源 (3)
  • 收藏
  • 关注

原创 GitHub 迁移

从一个企业内部的GitHub仓库迁移到另外一个,企业版的GitHub仓库内过程,同时需要保存,工程代码中所有的元数据信息,如git log信息。所有操作都采用的是 GitBash.exe 客户端操作。1 克隆要迁移的仓库作为裸仓库;这将不包含工作目录。git clone --mirror ssh://[email protected]/xxx/xxx.gitcd xxxx.git2 将 Repo 的 Push URL 更新为复制的 Github repo URLgit remote set-url --

2021-06-02 15:03:59 655

原创 Spark 使用自带的Jackson解析Json字符串为Scala对象

因为Spark自带有Jacksonjar包,所以不需要额外的引入FastJson包即可完成json的解析工作。json 字符串样例:{ "TaskId": 5, "output": "s3://a/b/c/file.csv", "input": "s3://a/b/c/file.csv", "seg": { "type":"haap", "requestId": "dsafdsaf", "requestDate": "2021-01-15" }, "fie

2021-01-20 14:58:44 863

原创 SparkSQL DataFrame Select时传入可变参数

最近有个新需求用到spark动态读取数据源,因数据源列名通过json传入,而且业务场景是只用DataFrame做不好用SQL处理。一开始错误代码示例: val ds: Dataset[String] = sparkSession.read.textFile("input/user.txt","input/traffics.txt") ds.show(20) val result = ds.map(x=>{ val str = x.split(" ") (

2021-01-18 13:19:12 1846

原创 hive 中lateral view 和 explode使用案例

0.函数说明EXPLODE(col):将 hive 一列中复杂的 array 或者 map 结构拆分成多行。LATERAL VIEW用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view 使用案例:源数据结构如下:movie category

2020-07-23 15:09:27 942

原创 Spark 通过submit作业启动流程源码分析

Spark作业通过submit操作提交作业一开始脚本通过执行// 很明显这个类中绝对有Main方法, 脚本中 @$ 意思是启动时传递的一堆参数org.apache.spark.deploy.SparkSubmit 类来启动程序 // 很明显 main方法中就调用了一个doSubmit方法而已,并将参数传进去 def main(args: Array[String]): Unit = ...

2020-03-31 11:44:43 297

原创 Flink Parallelism 与 Slot 理解

文章目录what Parallelism Slot ?Slot 和 Parallelism 的关系1.Slot 是指 TaskManager 最大能并发执行的能力2.parallelism 是指 TaskManager 实际使用的并发能力总结what Parallelism Slot ?parallelism 是并行的意思slot 槽位的意思先来看一张Flink官网中一张经典图图中...

2020-01-17 13:17:54 2713

原创 SparkSQL自定义外部数据源源码分析及案例实现

通过查看JDBC方式源代码入口分析:源码分析//继承BaseRelation的类必须能够以`StructType`的形式产生其数据模式。具体的实现应继承自后代Scan类之一abstract class BaseRelation { def sqlContext: SQLContext def schema: StructTypedef sizeInBytes: Long = sq...

2019-12-05 21:05:57 479

原创 Kafka Consumer Rebalance分区策略

RangeAssignorRoundRobinAssignorStickyAssignor通过partition.assignment.strategy参数进行配置分区策略, 默认使用的策略是org.apache.kafka.clients.consumer.RangeAssignor, (default)还存在org.apache.kafka.clients.consumer.Roun...

2019-11-25 14:00:29 1065

原创 HBase(三): HBase(CDH)生产调优

文章目录基于 MemStore flush触发的生产调优memstore级别限制:region级别限制:RegionServer 级别限制 (影响最大):Hlog级别限制定期级别限制手动级别HBase 合并合并 Compaction影响:触发条件:基于 MemStore flush触发的生产调优memstore其实是一个内存结构存储,一个CF对应一个memstore。HBase触发flus...

2019-11-14 15:51:48 3376

原创 HBase(二): HBase读写流程

文章目录HBase 写流程HBase 读流程HBase 写流程向zk /hbase/meta-region-server,获取hbase:meta表所在的RegionServer节点。向RegionServer节点获取hbase:meta内容,根据Rowkey 设计规则 对比,找到对应的RS节点和对应的Region将请求发送给对应的RS节点, 先写Hlog,再写对应的region列族的...

2019-11-14 11:31:13 190

原创 HBase(一): HBase 表结构及数据模型和架构的理解

大数据领域常用存储介绍对比:HDFS: NOSQLHive:有SQL 慢HBase: NoSQL 快 (Phoenix + HBase)Kudu: Impala + Kudu 组合CASSAndraHBase 表概念:一个HBase表由一个或者多个列祖(CF)组成,一个列族又包含很多列(限定符,CQ),没列存储相对应的值,和传统的关系型数据库不一样HBase是稀疏表,一些列...

2019-11-13 15:28:07 1222

原创 SparkStreaming Kafka 维护offset

SparkStreaming Kafka 维护offset 官网有三种实现方式CheckpointsKafka itselfYour own data store这里第一种方式不推荐使用,这里只介绍后面两种方式Kafka itself代码分析object MyKafkaConsumer { def main(args: Array[String]): Unit = { ...

2019-11-11 16:03:28 1080

原创 SparkStreaming 状态计算 (updateStateByKey mapWithState)区别

SparkStreaming 状态计算updateStateByKey 算子:返回的是带有状态的DStream,在这个DStream里面,每一个key的状态是可以被更新的,通过一个给定的函数,把之前的key的状态和当前key新的状态联合起来计算,用于维持每个key的任意状态。说白了也就是说每一次的老的计算状态都给记录下来,新的计算状态用于去更新老的状态。两步骤:Define the st...

2019-11-07 16:58:19 494

原创 Spark 闭包 之 Exception:Task not serializable

错误信息:org.apache.spark.SparkException: Task not serializable at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:403) at org.apache.spark.util.ClosureCleaner$.clean(Clos...

2019-10-29 16:17:05 577

原创 CDH 离线安装Kafka

前面已经介绍过了离线部署CDH5.16.1 企业真正离线部署CDH5.16.1准备工作:先选择好自己对应的CDK版本,然后下载好然后上传到cdh 集群parcels 安装文档 添加链接描述el 7代表centos7,下载好之后将 .sha1中的1去除掉接下来:# 验证下载的kafka是否完好[root@hadoop003 Kafka_parcels]# sha1sum KAFKA-...

2019-10-24 15:57:45 552

原创 Kafka 全局数据有序

我们知道kafka,每个partition内数据是有序的,,然后数据发送到某个topic内 单个topic内全局数据肯定是乱序的。先通过源码来分析某条消息是如何选择计算 partition 的/** * The default partitioning strategy: * <li>If a partition is specified in the record, use ...

2019-10-22 17:17:19 2062

原创 Kafka 安装和使用

Kafka简介1)发布 & 订阅: 类似于⼀个消息系统,读写流式的数据2)处理: 编写可扩展的流处理应⽤程序,⽤于实时事件响应的场景3)存储: 安全的将流式的数据存储在⼀个分布式,有副本备份,容错的集群⽤于构建实时的数据管道和流式的app.它可以⽔平扩展,⾼可⽤,速度快Kafka安装 (三个节点)1,先要安装好zookeeper,因为 kafka 的元数据是保存在zookeep...

2019-10-21 20:06:15 302

原创 SparkSQL ETL

记一次SparkSql ETL 过程需求:1)input:json日志2)ETL:根据IP解析出 省份,城市3)stat: 地区分布指标计算,满足条件的才算,满足条件的赋值为1,不满足的赋值为0 (如下图)将统计结果写入MySQL中。(就比如说这个广告请求要满足 requestmode=1 和 processnode =3 这两个条件)val spark = SparkSessi...

2019-10-14 16:15:44 1650

原创 SparkSQL DataFrame Datasets

文章目录概述:准备工作:案例及源码分析:1 读取 txt 文件数据2 读取json3 读取CSV 文件4 jdbc 方式读取概述:1)Spark SQL可以加载任何地方的数据,例如mysql,hive,hdfs,hbase等,而且支持很多种格式如json, parquet, avro, csv格式。我们可以开发出任意的外部数据源来连接到Spark SQL,然后我们就可以通过外部数据源API来...

2019-10-12 17:43:21 457

原创 CDH5.16.1 企业集群真正离线部署

离线部署主要分为三块:a.MySQL离线部署b.CM离线部署c.Parcel⽂件离线源部署一 准备下载源:CM:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gzParcel:http://archive.cloudera.com/cdh5/parcels/5.16...

2019-10-10 20:46:26 404

原创 SparkCore 运行架构

从经典的WordCount来看SparkCore运行架构术语:相关术语含义Application基于Spark进行构建的用户程序 。由集群中的一个driver program以及多个executors组成Application jar包含用户的Spark应用程序的Jar包。在某些场景下,用户可能想创建“Uber jar”,它包含用户的应用程序和它的依赖。用户的Ja...

2019-10-10 11:52:53 353

原创 SparkCore RDD(二)

文章目录1 map 与 mapPartitions2 mapPartitionsWithIndex 与 mapValues3 map 与 flatmap4 sample 源码分析5 filter6 distinct源码分析7 groupByKey 与 reduceByKey8 groupBy 与 sortBy9 join 与 cogroup结合Spark Core源码浅析RDD (此示例均在sp...

2019-09-26 23:59:26 171

原创 SparkCore 排序的五种实现方式

假设某个物品属性有(商品名 库存 价格)val sc = new SparkContext(new SparkConf().setMaster("local[2]").setAppName(this.getClass.getName)) // 商品名 库存 价格val rdd = sc.parallelize(List("扑克牌 20 5","iphone11 999 6000","可...

2019-09-26 16:38:29 496

原创 SparkCore RDD

学习Spark,多用源码和官网说话。RDD(弹性的分布式数据集):1.the basic abstraction in Spark:RDD是一个抽象类,不能new,必须new其子类2.Represents an immutable :a==>b==>c RDD本身不可变化,只能由一个转变为另外一个3.partitioned collection of elements that...

2019-09-24 16:26:41 169

原创 Hive Sql练习小记

接上一篇etl 项目MR离线etl项目,宽表数据进行业务分析面试中写sql 应该是最常见且必不可少的了,所以加强SQL练习很有必要。需求一:统计每个用户的累计访问量原表:domain time traffic(T)gifshow.com 2019/01/01 5yy.com 2019/01/01 4huya.com ...

2019-09-20 19:04:16 216

原创 SpringBoot+Nginx+MapReduce+Flume+HDFS+Hive的ETL项目

本项目目的:通过模仿用flume采集nginx的日志进行用mapreduce进行etl操作一 搭建好nginx[root@itdragon ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz[root@itdragon ~]# tar -zxvf nginx-1.16.1.tar.gz[root@itdragon ~]# llto...

2019-09-19 18:26:30 1074

原创 java 二分查找

java手撕二分查找在面试中常考,所以抽空在温习一波及几种二分查找常用变形写法(以作记录)。二分查找也叫折半查找,每一次都与中间数据做比对大小,缩小查找区间的范围。假设有10个数据,8,11,19,23,27,33,45,55,67,98,利用图分析小结:二分查找针对的是一个有序的数据集合也就是数组(这也成为了二分查找的一个重要局限性),查找思想有点类似分治思想。每次都通过跟区间的中间...

2019-09-10 17:50:36 996

原创 Scala 面向对象

1.scala定义类,这点和java类似/** * Scala中定义类:class 类名 * 类中有属性 有方法 * scala 中没有getter setter方法(java定义类有) * 定义属性时先要给出默认值或者使用占位符(使用占位符又要明确数据类型) */class People { // 属性的定义: val/var 名称:类型 = 值 //val ...

2019-09-09 18:38:43 175

原创 Scala伴生对象

scala 中伴生类与伴生对象在java中还是没有的,这里简单理解下。/** * class是object伴生类 * object是class的伴生对象 *两者互为伴生 */class ApplyTestDemo{}object ApplyTestDemo{}实践说明://object ApplyTestDemo{ println("进入 伴生对象中..."...

2019-09-09 17:22:40 249

原创 MapReduce join案例

两个文件dept.txt10,ACCOUNTING,NEW YORK20,RESEARCH,DALLAS30,SALES,CHICAGO40,OPERATIONS,BOSTON字段解释:部门编号,部门名称,所在城市emp.txt7369,SMITH,CLERK,7902,1980-12-17,800.00,,207499,ALLEN,SALESMAN,7698,1981-2-20...

2019-09-03 22:43:04 238

原创 hdfs api demo

工作中常用到的HDFS API操作package kzw.hdfs;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;import java.io.File;import java.io.FileInputStr...

2019-08-28 17:36:34 215

原创 MapReduce作业提交源码分析

MapReduce原理图job提交初步源码中主要方法提炼boolean res = job.waitForCompletion(true);waitForCompletion{ submit(){ connect(); // 其实就是为了拿到一个cluster(Local YARN) submitJobInternal(){ ...

2019-08-28 16:03:17 266

原创 idea 本地运行hdfs程序

本地开发IDEA 开发hdfs api1.先下载window环境编译好的Hadoop安装包,到安装目录下注意一定得要有(winutils.exe)这个文件下载地址:https://pan.baidu.com/s/1tcwFOjbQJlFKR-t5S_wxxw2.跟配置jdk环境变量一样配置Hadoop的环境变量HADOOP_HOMED:\XXX\hadoop-2.6.1\PATH #...

2019-08-25 18:51:34 938

原创 Shell 脚本配置发送QQ邮件

1进入QQ邮箱网页界面客服端①点击设置 ====》点击账户② 开启SMTP服务 ====》生成授权码3用root用户,执行脚本#!/bin/bash. /etc/init.d/functionsif [ $# -ne 0 ];then echo "Usage: sh `basename $0`" exit 1fifrommail='1937859795@q...

2019-08-22 17:44:50 2851 2

原创 Shell编程实战

Shell 编程在日常的大数据开发中还是使用非常实用的1,第一个shell实例及介绍#!/bin/bashecho "hello world!"写完脚本后要么 sh xxx.sh执行,要么 chmod u+x xxx.sh 然后 ./xxx.sh执行不用多说,自然很简单,打印hello,world!shell debug 模式运行 sh -x xxx.sh或者在脚本中第一行 #...

2019-08-22 16:33:59 470

原创 HDFS Block损坏恢复实践

文章目录一,介绍:二,实践三,修复①hdfs debug 手动修复(推荐)②手动修复二③自动修复四总结一,介绍:①:hdfs fsck /path检查path中文件的健康状况②:hdfs fsck /path -files -blocks -locations打印文件块的位置信息(-locations) 需要和-files -blocks一起使用③:hdfs fsck /path -l...

2019-08-21 15:58:27 1062

原创 Hadoop HA架构图原理

HDFS(HA): 分为NameNode和DataNode,master/slave架构NameNode:存放HDFS的元数据,由FsImage和EditLog组成FSImage:存放 BlockId,文件权限,文件目录EditLog:存放对HDFS的操作记录HA 目的:hdfs只有一个NameNode节点是,当namenode宕机后,整个hdfs也都无法使用了。为了解决NameNode...

2019-08-20 18:55:05 1685

原创 Hadoop HA集群搭建

此次安装选用的是阿里云三台ECS按量付费机器一,版本二,主机规划三,环境准备

2019-08-20 15:34:58 633

原创 zookeeper集群搭建

zookeeper集群搭建过程小记zookeeper集群搭建相对来说比较简单和容易实现。环境:阿里云主机系统:Centos7.2zookeeper:zookeeper-3.4.6.tar.gzjdk:jdk1.8.0_45一,安装好jdk(默认已安装好),并上传zookeeper安装包至software目录下或者直接利用wget命令下载wget https://www.apach...

2019-08-20 13:48:53 115

原创 Kudu参数调优

一,Kudu Tablet Servers 参数调节FlagVakud OptionsDefault描述–block_cache_capacity_mbinteger512分配给Kudu Tablet服务器块缓存的最大内存量。(虽然较高的值有助于提高读写性能,但是不要将 block_cache_capacity_mb 提高到内存压力阈值以上,因为这将导致即使写吞吐量...

2019-08-19 10:36:09 5144

ssm+maven用拦截器实现登录小Demo

ssm+maven用拦截器实现登录小Demo。下载资源里已经包含SQL文件。 演示地址:https://blog.csdn.net/kzw11/article/details/79940449

2018-09-25

java swing实电影购票管理系统

首先系统分为前台用户登录注册和后台管理员进行管理 项目采用三层架构思想 ,展示功能全部实现。是javaSE学习的好资源,

2018-08-03

java swing实现电影购票系统

java swing实现电影购票系统 项目采用三层架构,分为前端用户操作,和后台管理员管理功能。

2018-08-02

空空如也

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

TA关注的人

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