- 博客(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
460
原创 二分查找实现
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
237
原创 归并排序
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
171
原创 快速排序
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
119
原创 插入排序
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
152
原创 选择排序
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
132
原创 冒泡排序
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
110
原创 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
161
原创 稀疏数组
-----原棋盘------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
184
原创 几种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
7514
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
540
原创 关于通过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
515
原创 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
591
原创 关于flume的拦截器
项目中我们需要对一个数据源读取到的数据,我们希望能够进到不同的channel,那么我们需要source的selectors和interceptors。选择器默认使用的是replcation ,是复制模式,进入每个channel的数据都一样,这里我们选用 multiplexing此项目拦截器我们使用了2个,一个ETL来过滤不合法数据,一个用来给数据添加头信息,头信息是一个k-v键值对,sel...
2019-03-28 08:32:05
353
转载 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
430
原创 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
264
原创 关于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
4060
原创 项目服务器
tomcat分日志服务器 和业务服务器,我们项目用的这套,放在日志服务器可以。 我们这套项目,有专门生产日志的服务器,(业务服务器向日志服务器发送请求,日志服务器来生产),我们用flume来监控。 如果想直接在业务服务器里面,在web项目里面Controller里面直接写到kafka,那不行,服务器压力大,可以选择落盘...
2019-03-23 08:54:53
202
原创 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
262
原创 SparkStreaming的ck
一个 Streaming Application 往往需要7*24不间断的跑,所以需要有抵御意外的能力(比如机器或者系统挂掉,JVM crash等)。为了让这成为可能,Spark Streaming需要 Checkpoint 足够多信息至一个具有容错设计的存储系统才能让Driver 从失败中恢复。Spark Streaming 会 Checkpoint 两种类型的数据。Metadata(元数据...
2019-03-22 20:55:08
319
原创 关于sparkstream代码更改,造成从ck里面启动不了了
当Spark Streaming的代码修改后启动时(directStream的高级api,信息保存在ck中),反序列化Checkpoint目录中的数据失败,所以Kafka offset会丢失,此时不知道从哪里消费Kafka的数据,所以我们要将Kafka offset保存到ZooKeeper中一份,当Spark Streaming优雅停止后,删除Checkpoint目录然后从ZooK...
2019-03-22 20:53:09
229
原创 优雅关闭ssc
当Spark工作在Client模式下时,由于Driver在作业提交机器上运行,Driver进程是可以看到的,可以用kill(不是kill -9)杀死Driver进程,此时,如果设置了优雅停止,就会调用钩子函数进行优雅地停止。当Spark工作在Cluster模式下时,Driver运行在集群的那一台机器上我们是无法确定的(YARN模式下由ResourceManager决定),因此无法用kill取杀...
2019-03-22 19:53:57
827
原创 日志项目在线分析每个城市的点击数
日志项目在线分析每个城市的点击数从kafka里面消费,由SparkStreaming来处理,存到hbase里面问题:table.incrementColumnValue 这里用了这个方法 可以指定列的值 自增如果对于这种问题,我也想用put来做呢1、使用updateStateByKey ,然后put到hbase,相同的列,版本保存最新的,但是局限性,它每次会把历史所有的...
2019-03-22 18:04:19
143
原创 日志写入hdfs过程中
生产中,我们日志 从 flume -》 kafka -》hdfs按天滚动,如果写入hdfs过程出现问题,程序终止,非正常退出。因为我们是用流向hdfs里面写的,非正常退出,流未关闭,没有字节大小。如果重启过快,再打开流会出问题(前一个流未关闭)解决问题:1、生产中产生的本地日志,也是按天的,可以先把出错的文件删掉,在第二天,手动导一下;...
2019-03-22 09:32:14
894
原创 把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
808
原创 离线处理阶段的一些问题
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
244
原创 离线处理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
404
原创 从kafka里面读取存到hdfs
方法一:自己写程序,从kafka里面消费,写到hdfs上面,但是注意idea工具maven kafka的依赖版本要和虚拟机里的kafka版本对上; <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11<...
2019-03-22 08:41:00
4465
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
375
原创 关于kafka高级API(新)的多线程测试
public class MyTestThreads { public static void main(String[] args) { //因为KafkaConsumer不是线程安全的,使用一个对象会报异常 //ConcurrentModificationException: KafkaConsumer is not safe for ...
2019-03-20 13:30:37
256
原创 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
457
转载 为什么不能有过多的列簇
我们知道,一张 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
424
原创 6、region的拆分,和预分区
一个region就是表一段RowKey的集合,当Region太大的时候Hbase会拆分它;因为某个Region太大的时候读取效率太低了。查询的本质是遍历key,当数据量太大的时候,遍历一遍的时间实在是太长了,为了提高效率,Hbase会拆分Region。自动拆分对于切分点是如何让定位呢region切分策略会触发region切分,切分开始之后的第一件事...
2019-03-19 19:11:22
1090
原创 5、Hbase数据的增删改查
Hbase基于持久化HDFS要么是新增,要么是整个删除,不嫩修改的系统,那么是怎么做增删改查的呢,真是情况是,Hbase都是做新增操作。那么真正删除数据是发生在哪里?情况一: 数据写入到缓存里面,还没有flush到Hfile,那么flush到Hfile的时候数据就不会写出去,但是墓碑记录那一条数据还会在;在compact的时候会删除。情况二:如果数据已经flush到了Hfil...
2019-03-19 16:53:09
312
原创 4、数据合并
1)当数据文件达到一定个数,Hmaster触发合并操作,Region将数据块加载到本地,进行合并;hbase.hregion.majorcompaction=604800000(7天)hbase.hstore.compactionThreshold=32)当合并的数据超过一定的大小,进行拆分,将拆分后的Region分配给不同的HregionServer管理;3)同时将Hreg...
2019-03-19 16:23:17
184
原创 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
471
原创 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
97
原创 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
245
原创 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
271
原创 sparkstream和kafka的高级消费者
object HighKafkaSource2 { def main(args: Array[String]): Unit = { //这种方式每次都是new 的 // offset保存并没有起效果 //造成每次消费都是从最新的开始读 初始化找不到初始化的offset //默认使用的是最新的 可配置 val conf: SparkConf = n...
2019-03-18 20:47:31
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人