自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sparkstreaming向mysql写数据

注意最后为什么使用了 rdd 的foreachPartition()package day5.KafkaSourceimport java.sql.{Connection, PreparedStatement}import kafka.serializer.StringDecoderimport org.apache.kafka.clients.consumer.Consum...

2019-04-12 15:55:22 433

原创 二分查找实现

package com.atguigu.sort/** * @author wade * @create 2019-04-08 20:26 */object MyBinarySearch { def main(args: Array[String]): Unit = { //数组必须是有序的 val arr = Array(1,5,78,10...

2019-04-08 20:47:41 194

原创 归并排序

package com.atguigu.sortimport com.atguigu.sort.InsertSorrt.insertSortimport scala.util.Random/** * @author wade * @create 2019-04-08 17:54 */object MergeSort { def main(args: Array[...

2019-04-08 19:11:57 145

原创 快速排序

package com.atguigu.sortimport scala.util.Randomimport scala.util.control.Breaks/** * @author wade * @create 2019-04-07 23:41 */object QuickSort { def main(args: Array[String]): Uni...

2019-04-08 19:10:49 99

原创 插入排序

package com.atguigu.sortimport com.atguigu.sort.SelectSort.selectSortimport scala.util.Random/** * @author wade * @create 2019-04-07 23:09 */object InsertSorrt { def main(args: Array...

2019-04-08 18:50:25 128

原创 选择排序

package com.atguigu.sortimport com.atguigu.sort.BubbleSore.bubbleSortimport scala.util.Random/** * @author wade * @create 2019-04-07 22:45 */object SelectSort { def main(args: Array[...

2019-04-08 18:49:42 106

原创 冒泡排序

package com.atguigu.sortimport scala.util.Random/** * @author wade * @create 2019-04-07 22:15 */object BubbleSore { def main(args: Array[String]): Unit = { val arr = new Array[Int]...

2019-04-08 18:48:55 81

原创 kafka监控

1)在/opt/module/下创建kafka-offset-console文件夹[atguigu@hadoop102 module]$ mkdir kafka-offset-console2)上传KafkaOffsetMonitor-assembly-0.2.0.jar到kafka-offset-console目录下3)创建启动脚本[atguigu@hadoop102 kafka...

2019-03-29 18:23:01 131

原创 稀疏数组

-----原棋盘------0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0...

2019-03-28 22:13:42 158

原创 几种kafka多线程消费方式

kafka API https://kafka.apache.org/0100/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html知乎关于多线程的回答https://www.zhihu.com/question/57483708/answer/1531858291、高级新api消费者,一个线程一...

2019-03-28 13:17:45 7449 1

原创 数仓项目kafka-hdfs

## 组件a1.sources=r1 r2a1.channels=c1 c2a1.sinks=k1 k2## source1a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSourcea1.sources.r1.batchSize = 5000a1.sources.r1.batchDurationMillis = 2...

2019-03-28 09:08:08 503

原创 关于通过ssh后台脚本启动几台主机的flume

脚本1#!/bin/bashcase $1 in"start"){ for i in hadoop101 hadoop102 do echo "---------正在启动 $i 的flume---------------" ssh $i "nohup /opt/module/flume/bin/flume-ng agent -f /opt/module/flume/c...

2019-03-28 09:00:44 478

原创 memorychannel的配置文件说明

The events are stored in an in-memory queue with configurable max size. It’s ideal for flows that need higher throughput and are prepared to lose the staged data in the event of a agent failures. Req...

2019-03-28 08:47:08 536

原创 关于flume的拦截器

项目中我们需要对一个数据源读取到的数据,我们希望能够进到不同的channel,那么我们需要source的selectors和interceptors。选择器默认使用的是replcation ,是复制模式,进入每个channel的数据都一样,这里我们选用 multiplexing此项目拦截器我们使用了2个,一个ETL来过滤不合法数据,一个用来给数据添加头信息,头信息是一个k-v键值对,sel...

2019-03-28 08:32:05 318

转载 ssh详解

作者:小a玖拾柒出处:http://www.cnblogs.com/ftl1012/SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提...

2019-03-28 08:22:33 345

原创 hive练习

学生课程成绩use myhive;CREATE TABLE `course` ( `id` int, `sid` int , `course` string, `score` int ) ;// 插入数据// 字段解释:id, 学号, 课程, 成绩INSERT INTO `course` VALUES (1, 1, 'yuwen', 43);INSERT IN...

2019-03-25 20:21:38 222

原创 关于flume的filechannel的一些配置与理解

checkpointDir ~/.flume/file-channel/checkpoint The directory where checkpoint file will be stored 检查点的目录 useDualCheckpoints false Backup the checkpoint. If this is set totrue,back...

2019-03-23 20:36:50 3943

原创 项目服务器

tomcat分日志服务器 和业务服务器,我们项目用的这套,放在日志服务器可以。 我们这套项目,有专门生产日志的服务器,(业务服务器向日志服务器发送请求,日志服务器来生产),我们用flume来监控。 如果想直接在业务服务器里面,在web项目里面Controller里面直接写到kafka,那不行,服务器压力大,可以选择落盘...

2019-03-23 08:54:53 176

原创 hive sql练习

字段说明:** 用户名,月份,访问次数数据内容如下A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5A,2015-03,16A,2015-03,22B,2015-03,23B,2015...

2019-03-23 08:16:27 220

原创 SparkStreaming的ck

一个 Streaming Application 往往需要7*24不间断的跑,所以需要有抵御意外的能力(比如机器或者系统挂掉,JVM crash等)。为了让这成为可能,Spark Streaming需要 Checkpoint 足够多信息至一个具有容错设计的存储系统才能让Driver 从失败中恢复。Spark Streaming 会 Checkpoint 两种类型的数据。Metadata(元数据...

2019-03-22 20:55:08 295

原创 关于sparkstream代码更改,造成从ck里面启动不了了

当Spark Streaming的代码修改后启动时(directStream的高级api,信息保存在ck中),反序列化Checkpoint目录中的数据失败,所以Kafka offset会丢失,此时不知道从哪里消费Kafka的数据,所以我们要将Kafka offset保存到ZooKeeper中一份,当Spark Streaming优雅停止后,删除Checkpoint目录然后从ZooK...

2019-03-22 20:53:09 201

原创 优雅关闭ssc

当Spark工作在Client模式下时,由于Driver在作业提交机器上运行,Driver进程是可以看到的,可以用kill(不是kill -9)杀死Driver进程,此时,如果设置了优雅停止,就会调用钩子函数进行优雅地停止。当Spark工作在Cluster模式下时,Driver运行在集群的那一台机器上我们是无法确定的(YARN模式下由ResourceManager决定),因此无法用kill取杀...

2019-03-22 19:53:57 761

原创 日志项目在线分析每个城市的点击数

日志项目在线分析每个城市的点击数从kafka里面消费,由SparkStreaming来处理,存到hbase里面问题:table.incrementColumnValue 这里用了这个方法 可以指定列的值 自增如果对于这种问题,我也想用put来做呢1、使用updateStateByKey ,然后put到hbase,相同的列,版本保存最新的,但是局限性,它每次会把历史所有的...

2019-03-22 18:04:19 123

原创 日志写入hdfs过程中

生产中,我们日志 从 flume -》 kafka -》hdfs按天滚动,如果写入hdfs过程出现问题,程序终止,非正常退出。因为我们是用流向hdfs里面写的,非正常退出,流未关闭,没有字节大小。如果重启过快,再打开流会出问题(前一个流未关闭)解决问题:1、生产中产生的本地日志,也是按天的,可以先把出错的文件删掉,在第二天,手动导一下;...

2019-03-22 09:32:14 849

原创 把hdfs上面的文件定时导入到hive里面

创建分区表CREATE external TABLE ext_startup_logs(userId string,appPlatform string,appId string,startTimeInMs bigint,activeTimeInMs bigint,appVersion string,city string)PARTITIONED BY (y string, ...

2019-03-22 09:10:54 783

原创 离线处理阶段的一些问题

1、因为虚拟机上之前有0.11的kafka,在zk上存有信息,我们安装了0.8的kafka,需要先把zk上的数据清理掉,避免冲突2、hive的不支持json格式的存储具体操作步骤如下:1) 将json-serde-1.3.8-jar-with-dependencies.jar导入到hive的/opt/module/hive/lib路径下。2) 在/opt/module/hive/co...

2019-03-22 09:03:35 212

原创 离线处理sql

里面用了一些自定义的日期函数,使用起来更加方便当然hive也有一些日期函数from_unixtime(unix时间戳) 可以转换成日期时间,后面多参 可以加上格式unix_timestamp("2019-10-10 11:11:11") 可以转换成unix时间戳 后面多参 可以加上格式unix 时间戳是10位的 到秒 和13位的不一样 可以转换cast(1...

2019-03-22 08:50:39 376

原创 从kafka里面读取存到hdfs

方法一:自己写程序,从kafka里面消费,写到hdfs上面,但是注意idea工具maven kafka的依赖版本要和虚拟机里的kafka版本对上; <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11&lt...

2019-03-22 08:41:00 4386 1

原创 flume的配置和kafka

配置两个flume sink为kafkasink到flume官方文档(注意版本)a1.sources = r1a1.channels = c1a1.sinks = k1a1.sources.r1.type = org.apache.flume.source.taildir.TaildirSourcea1.sources.r1.positionFile = /opt/mod...

2019-03-21 10:04:26 325

原创 关于kafka高级API(新)的多线程测试

public class MyTestThreads { public static void main(String[] args) { //因为KafkaConsumer不是线程安全的,使用一个对象会报异常 //ConcurrentModificationException: KafkaConsumer is not safe for ...

2019-03-20 13:30:37 236

原创 taildir Source

a1.sources = r1a1.channels = c1a1.sinks = k1a1.sources.r1.type = TAILDIRa1.sources.r1.filegroups = f1 f2a1.sources.r1.filegroups.f1 = /home/atguigu/taildir/example.loga1.sources.r1.filegroups...

2019-03-19 20:17:18 434

转载 为什么不能有过多的列簇

我们知道,一张 HBase 表包含一个或多个列族。HBase 的官方文档中关于 HBase 表的列族的个数有两处描述:A typical schema has between 1 and 3 column families per table. HBase tables should not be designed to mimic RDBMS tables. 以及 HBase currently...

2019-03-19 19:32:51 408

原创 6、region的拆分,和预分区

一个region就是表一段RowKey的集合,当Region太大的时候Hbase会拆分它;因为某个Region太大的时候读取效率太低了。查询的本质是遍历key,当数据量太大的时候,遍历一遍的时间实在是太长了,为了提高效率,Hbase会拆分Region。自动拆分对于切分点是如何让定位呢region切分策略会触发region切分,切分开始之后的第一件事...

2019-03-19 19:11:22 999

原创 5、Hbase数据的增删改查

Hbase基于持久化HDFS要么是新增,要么是整个删除,不嫩修改的系统,那么是怎么做增删改查的呢,真是情况是,Hbase都是做新增操作。那么真正删除数据是发生在哪里?情况一: 数据写入到缓存里面,还没有flush到Hfile,那么flush到Hfile的时候数据就不会写出去,但是墓碑记录那一条数据还会在;在compact的时候会删除。情况二:如果数据已经flush到了Hfil...

2019-03-19 16:53:09 274

原创 4、数据合并

1)当数据文件达到一定个数,Hmaster触发合并操作,Region将数据块加载到本地,进行合并;hbase.hregion.majorcompaction=604800000(7天)hbase.hstore.compactionThreshold=32)当合并的数据超过一定的大小,进行拆分,将拆分后的Region分配给不同的HregionServer管理;3)同时将Hreg...

2019-03-19 16:23:17 161

原创 3、数据flush过程

Flush 操作是 Region 级别的,如果触发,是region一起刷,不是store刷自己的条件:1.(hbase.regionserver.global.memstore.size)默认;堆大小的40%regionServer的全局memstore的大小,超过该大小会触发flush到磁盘的操作,默认是堆大小的40%,而且regionserver级别的flush会阻塞客户端读写...

2019-03-19 16:20:26 441

原创 2、Hbase写流程

1)Client向HregionServer发送写请求;2)HregionServer将数据写到HLog(write ahead log)。为了数据的持久化和恢复;3)HregionServer将数据写到内存(MemStore);4)将WAL数据落盘(同步到HDFS);5)如果在同步WAL到HDFS过程中发生异常,则MemStore中的数据会删除(rollBack);...

2019-03-19 16:14:21 82

原创 1、Hbase读流程

1)Client先访问Zookeeper,读取meta表所在region的位置,然后读取meta表中的数据。meta中存储了用户表的region信息;2)根据namespace、表名和rowkey在meta表中找到对应的region信息;3)将region位置信息存储在客户端缓存中(cache)4)找到这个region对应的regionserver;5)查找对...

2019-03-19 16:03:10 220

原创 sparkstream和kafka的低级消费者(保存在ZK和Mysql两种)

写了两套方法,一套保存在zk上,一套保存在mysql里面/** * @author wade * @create 2019-03-14 9:16 */object LowerKafkaSource { def fromOffsets(kafkaCluster: KafkaCluster, groupId: String, topic: String): Map[T...

2019-03-18 20:51:01 239

原创 sparkstream和kafka的高级消费者

object HighKafkaSource2 { def main(args: Array[String]): Unit = { //这种方式每次都是new 的 // offset保存并没有起效果 //造成每次消费都是从最新的开始读 初始化找不到初始化的offset //默认使用的是最新的 可配置 val conf: SparkConf = n...

2019-03-18 20:47:31 367

空空如也

空空如也

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

TA关注的人

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