- 博客(41)
- 收藏
- 关注
原创 DorisDB 流批一体 实时架构
场景: 在做大数据分析,报表项目的时候,一般会有实时和理想分析两种场景,一般情况下,是实时一套代码,离线一套代码,代码开发量比较大,怎么做到实时和离线公用一份代码 兼容实时场景的时效性我们这里以统计 每天每个游戏的登录用户数 为例,登录明细表和最终结果表如下CREATE TABLE `dwd_user_login` ( `login_time` datetime NULL COMMENT "登陆时间", `game_id` bigint(20) NULL COMMENT "游戏..
2021-11-30 20:22:07
4858
1
原创 游戏报表方案设计
一.三种方案 方案1.spark streaming 做实时数据分析,hive 做数据仓库 ,spark sql 做离线数据分析 方案2. spark streaming 做数据同步,es做数据仓库,spark sql 做离线数据分析方案3:spark streaming 做数据同步,doris 做实时数据分析,spark sql 做离线数据分析二. 方案优缺点对比 方案一 方案二 方案三 时效性 分钟级别 小...
2020-06-22 17:01:23
667
原创 快递行业实时报表方案
一.需求1.需求描述统计每天,每个网点的快递单数(有修改,揽收状态,签收状态,是否退件等)表: waybill字段: 时间 :input_time,网点 network ,订单唯一ID : waybillId2. 需求sql翻译select date(input_time) day,network,count(distinct waybillId)waybillCo...
2019-12-09 12:09:33
883
原创 快递质量监控实时统计方案设计
目录数据流程图和关系数据流程图数据流程关系 需求描述框架和版本方案一说明问题方案二说明数据同步问题es 查询问题方案三说明es 查询问题方案四(选择方案)说明es 查询问题 数据流程图和关系 数据流程图 数据流程关系 一对一: 收 ,收件入库,派,问题件,留...
2019-11-02 11:37:10
759
原创 clickhouse 性能测试
注意:本测试使用的是官网的数据集,由于官网聚合操作太多过滤,所以写了一些没有过滤的聚合操作,本测试属于极限测试,真实业务中的聚合操作肯定会有很多过滤操作的一.表的创建和数据导入创建表:必须在每个节点创建表,ddl 没有同步 create database test ;use test ;CREATE TABLE ontime( Year UInt16, Quarter ...
2018-09-20 11:26:40
22507
3
原创 clickhouse 部署
一.单机版sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 # optionalecho "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list...
2018-09-20 10:39:40
2202
原创 es 分词器
课程大纲1、什么是分词器切分词语,normalization(提升recall召回率)给你一段句子,然后将这段句子拆分成一个一个的单个的单词,同时对每个单词进行normalization(时态转换,单复数转换),分瓷器recall,召回率:搜索的时候,增加能够搜索到的结果的数量character filter:在一段文本进行分词之前,先进行预处理,比如说最常见的就是,过滤html...
2018-08-27 14:35:09
3659
原创 es query string
1、query string基础语法GET /test_index/test_type/_search?q=test_field:testGET /test_index/test_type/_search?q=+test_field:testGET /test_index/test_type/_search?q=-test_field:test2、_all metadata的原理和作...
2018-08-27 14:28:00
2478
原创 es 分页搜索 和 deep paging 问题
1.分页搜索语法GET /_search?size=10GET /_search?size=10&from=0GET /_search?size=10&from=202.deep paging问题
2018-08-27 14:25:05
532
原创 es 搜索多个index和多个type下的数据
/_search:所有索引,所有type下的所有数据都搜索出来/index1/_search:指定一个index,搜索其下所有type的数据/index1,index2/_search:同时搜索两个index下的数据/*1,*2/_search:按照通配符去匹配多个索引/index1/type1/_search:搜索一个index下指定的type的数据/index1/type1,type...
2018-08-27 13:59:34
27387
原创 es 批量操作—bulk
1、bulk语法有哪些类型的操作可以执行呢?(1)delete:删除一个文档,只要1个json串就可以了(2)create:PUT /index/type/id/_create,强制创建(3)index:普通的put操作,可以是创建文档,也可以是全量替换文档(4)update:执行的partial update操作POST /_bulk{ "delete": { "_index...
2018-08-24 18:06:59
4727
原创 es 批量操作—mget
1、批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍2、mget的语法(1)一条一条的查询GET /test_index/test_type/1GET /test_index/test_type/2(2)mget批量查询...
2018-08-24 18:03:19
734
原创 es groovy脚本
1.数据准备PUT /test_index/test_type/11{ "num": 0, "tags": []}2.内置脚本实现 partial updatePOST /test_index/test_type/11/_update{ "script" : "ctx._source.num+=1"}3. 外部脚本 实现 partial update...
2018-08-24 17:57:18
1286
原创 es partial update
1、什么是partial update?PUT /index/type/id,创建文档&替换文档,就是一样的语法一般对应到应用程序中,每次的执行流程基本是这样的:(1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改(2)用户在前台界面修改数据,发送到后台(3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据(...
2018-08-24 17:22:24
384
原创 es 几个重要的底层原理相关概念
1、Elasticsearch对复杂分布式机制的透明隐藏特性分片机制 shard副本 集群发现机制 shard负载均衡2、Elasticsearch的垂直扩容与水平扩容垂直扩容:采购更强大的服务器,成本非常高昂,而且会有瓶颈,假设世界上最强大的服务器容量就是10T,但是当你的总数据量达到5000T的时候,你要采购多少台最强大的服务器啊 水平扩容:业界经常采用的方案,采购越来越多...
2018-08-24 17:17:54
1152
原创 es 指定返回哪些field
# Query StringGET /ecommerce/product/1?_source=producer,tags# Query DSLGET /ecommerce/product/_search { "query": { "match": { "tags": "fangzhu" } }, "_source":["producer"
2018-08-24 15:47:45
4165
原创 es document id 的两种生成方式
1、手动指定document idPUT /test_index/test_type/2{ "test_content": "my test"}2、自动生成document idPOST /test_index/test_type{ "test_content": "my test"}
2018-08-24 15:26:56
3608
原创 es 常用命令
1.简单的集群管理GET /_cat/health?vGET /_cat/indices?v2.CRUD操作# 增PUT /ecommerce/product/1{ "name" : "gaolujie yagao", "desc" : "gaoxiao meibai", "price" : 30, "producer" :
2018-08-24 14:23:56
3697
原创 hadoop小文件过多引起的负载过高
一.场景描述系统运行一段时间后,总是报负载过高的警告告警等级: Warning告警信息: Processor load is too high on hadoopmaster告警项目: system.cpu.load[all,avg1]问题详情: Processor load (1 min average per core) 4.43
2018-02-07 11:51:40
1918
原创 spark 历史和实时任务日志监控
一.spark on yarn historyserver(运行完毕日志) 1.配置yarn日志参数:yarn-site.xml yarn.log-aggregation-enable true yarn.log.server.url http://hadoop-senior01.ibeifeng.com:1988
2018-02-01 16:26:47
3108
原创 kafka 的 ClosedChannelException
场景: kafka 版本kafka_2.10-0.8.1.1 ,spark任务刚开始正常运行,一段时间后,报下面的错误,但是数据准确性不影响,只是严重拖慢了实时任务 [Stage 46825:=========================================> (3 + 1) / 4]17/11/04 23:14:23 WARN
2017-12-13 11:29:52
2521
原创 定时任务的两种方式
定时任务的两种方式方式一:定时任务 并 打印日志 并 在后台运行#1.定时任务30 0 * * * nohup sh /home/hduser/projs/gamepublish_performance.sh2.gamepublish_performance.sh 脚本:#!/bin/shcd /tmptoday=$(date --date="0 day
2017-10-10 14:09:42
960
原创 kafka添加 partion导致 spark 实时任务数据减少
场景: kafka原有两个分区,添加一个分区后,一直运行的实时的spark任务 数据减少约3分之一 分析: spark 将kafka 的offsite维护在checkpoint 里面,当spark任务运行的时候,给kafka添加新的分区,原来的checkpoint只维护原来的两个分区的 offsite,新的分区的offsite 无法维护(checkpoint 只在第一次创建的时候,创建新
2017-09-14 11:58:35
534
原创 hive索引数据 mysql数据迁移
需求:新建的集群,需要把原集群的hive迁移到新的集群,hdfs数据已经迁移,下面是迁移mysql索引数据的方法注意:本方法中mysql是yum安装的,hive索引数据的账户:hive,密码:hive 1.1 备份原集群的数据[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
2017-08-26 16:06:50
333
原创 Rdd的 foreach 和 foreachPartition
一.代码 package com.xiaopeng.test import java.sql.Connection import com.xiaopeng.bi.utils.{JdbcUtil, SparkUtils}import org.apache.spark.broadcast.Broadcastimport org.apache.spar
2017-08-03 18:59:24
5354
原创 DataFrame和 Rdd
一.DataFrame 和Rdd 相互转换关系1.df 转化为rdd val df: DataFrame = hiveContext.sql("select * from game_sdk") df.foreachPartition(rdd => { rdd.foreach(row => { val a: Row = row;
2017-08-03 17:29:26
797
原创 Spark内存溢出
一.场景:在实时任务 注册和激活相关的任务 GamePublishKpi 中,程序运行一段时间,就会报内存溢出 二.分析方法 ps -ef | grep GamePublishKpi 找出运行的程序 jmap -heap 27075(进程号) 查看该程序的运行过程中内存的使用情况该命令对应的参数解读: http://blog.youkuaiyun.com/yrpting/
2017-08-02 16:43:55
1880
原创 Spark任务卡死
spark阶段parkcore standalone /yarn 模式运行的时候 client 模式正常运行, cluster 模式卡死spark-env.sh 里的配置 SPARK_MASTER_PORT=7077SPARK_MASTER_WEBUI_PORT=8080SPARK_WORKER_CORES=2SPARK_WORKER_MEMORY=1G #开辟
2017-06-17 14:27:30
7459
1
原创 Spark集成 hadoop,hbase 的 maven冲突
Spark和Hadoop、HBase集成,使用Maven管理依赖的时候需要考虑包的兼容性:报错:java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does notmatch signer information of other classes in the sa
2017-06-17 14:26:34
1761
原创 windows运行 HiveContext 报错
Caused by: java.lang.NullPointerExceptionat java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)at org.apache.hadoop.util.Shel
2017-06-17 14:25:59
1134
原创 spark程序运行缓慢
spark程序运行缓慢原因一:在map ,reducebykey ,transform 等算子里进行耗时操作耗时操作包括: 读取配置文件,打印,读取数据库的数据 对象 boolean local =ConfigurationManager.getBoolean(Constants.SPARK_LOCAL); 总结:在spark的算子中,只能执行对数据的处理逻辑,其间不要加载
2017-06-17 14:25:26
1929
原创 spark序列化溢出
序列化缓存溢出Causedby:org.apache.spark.SparkException:Kryo序列化失败:缓冲区溢出。可用:0,必需:21.要避免此情况,请增加spark.kryoserializer.buffer.maxCaused by:org.apache.spark.SparkException: Kryo serialization failed: Buffer ove
2017-06-17 14:21:55
4277
原创 hadoop任务卡死
hadoop 运行mapreduce的时候会卡死在 mapreduce.Job:Running job: job_1477030467429_0002 位置不动思路一:分析:mapreduce卡死不动,原可能是 resourcemanager 或者 nodemanager 配置出错检查yarn-site.xml(yarn.resourcemanager.hostname:配置了reso
2017-06-17 14:19:48
8738
1
原创 hadoop 文件错乱
一个datanode长期挂掉的后,重新运行spark程序报错java.io.IOException:Cannot obtain block length for LocatedBlock解决方法:在Hadoop测试集群运行job的过程中发现部分运行失败,有Cannotobtain block length for LocatedBlock,使用hdfs dfs -cat${文件}的
2017-06-17 14:19:11
353
原创 hive源数据服务启动错误
一.配置hive 源数据服务 1. 在 hive-site 配置文件里将下面的配置文件删除(这个配置时用来集成hue的,删除就不集成了) hive.metastore.uris thrift://hadoop-senior01.ibeifeng.com:9083 ThriftURI for the remote metastore. U
2017-06-17 14:18:33
1087
原创 hbase问题总结
hbase启动时 : zookeeper 挂掉和 hmaster挂掉的问题A: zookeeper 挂掉ERROR [main] zookeeper.ZooKeeperWatcher:hconnection-0x6e1721d7, quorum=hadoop-senior01.ibeifeng.com:2181,baseZNode=/hbase Received unexpected Ke
2017-06-17 14:17:39
2426
原创 spark遇到的死锁
一.死锁数据库基础知识: http://blog.youkuaiyun.com/luyaran/article/details/53502917 死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都分配不到必需的资源因而无法继续运行.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程. 错误: Caused
2017-06-07 17:25:39
2555
原创 spark的checkpoint
==========================================================================================================一.checkpoint 原理http://spark.apache.org/docs/1.6.1/streaming-programming-guide.html#transfo
2017-06-07 15:30:01
928
原创 spark性能调优--jvm调优
一.问题切入调用spark 程序的时候,在获取数据库连接的时候总是报 内存溢出 错误(在ideal上运行的时候设置jvm参数 -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=1024M,不会报错) 二.jvm参数 和 saprk 参数 和内存四区 解读 1.内存四区 1、栈区(stack):由编译器自动分配释放
2017-05-22 20:10:00
964
原创 按键事件
控件的按键事件setOnKeyListener(newDialogInterface.OnKeyListener() {@Overridepublic boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {if(event.getAction() == KeyEvent.ACTION_UP){if
2016-09-21 20:24:31
497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人