- 博客(255)
- 资源 (1)
- 收藏
- 关注
原创 python的webpy
随便写写import weburls = ( '/test', 'test', '/test1/(.+)', 'test1', '/test2.(.*)+', 'test2', '/test3/?', 'test3', '/test4/?', 'test4')app = web.application(urls, globals())class test: def GET(self): return 'Hello'class
2021-12-30 14:12:16 639
原创 奇奇怪怪的ES搜索需求
需求:给定一个list,多个词语,快速返回每个词语所在doc的detail字段的个数,如果是查一个词语,可以通过模糊匹配的方式进行查询GET index/_search?size=0{ "query":{ "bool":{ "should":[ { "wildcard":{ "detail":"*齐齐哈尔医学院附属第三医院*"
2021-12-27 10:42:54 1043
原创 FlinkCEP(02)--kafka数据源
需求:用户点击完立刻购买的信息数据源kafka,这里比较重要的一点设置水位Watermarksimport com.alibaba.fastjson.JSONimport java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.cep.pattern.conditions.SimpleConditionimport org.ap
2021-12-21 16:56:33 1035
原创 FlinkCEP(01)--普通数据源
CEP(Complex Event Processing)就是在无界事件流中检测事件模式步骤分为四步1、构建数据源2、构建规则3、Pattern上进行过滤4、结果处理多种模式:1、严格连续模式2、松散连续3、不确定的松散连续 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala_2.11&
2021-12-21 16:51:43 232
原创 TPC-H基准测试
TPC-H基准测试cd /home/project/tpcd/dbgen./dbgen -s 5 -fmv ./*.tbl /home/project/file/data5gCreate external table lineitem (L_ORDERKEY INT, L_PARTKEY INT,L_SUPPKEY INT,L_LINENUMBER INT,L_QUANTITY DOUBLE,L_EXTENDEDPRICE DOUBLE,L_DISCOUNT DOUBLE,L_TAX DOUBLE,
2021-11-23 16:17:24 845
原创 Tensorflow问题
Tensorflow问题1、Another metric with the same name already existsFile "/usr/local/python3/lib/python3.7/site-packages/keras/__init__.py", line 25, in <module> from keras import models File "/usr/local/python3/lib/python3.7/site-packages/keras/mo
2021-11-05 17:45:04 880 2
原创 Tensorflow On Spark (2021版)
之前网上的版本太老了,mnist_spark.py和mnist_data_setup.py测试文件的参数和位置,以及tensorflow-hadoop的版本(1.5)都更新了一、运行环境准备1、hadoop2.7:最好是HA2、spark on yarn:必须是yarn环境,否则不能执行训练,要求必须多台机器的集群配置好环境变量export JAVA_HOME=/usr/local/jdk8export HADOOP_HOME=/home/hadoop/service/hadoop2.7exp
2021-10-25 17:57:18 1985
原创 nginx做文件下载
安装:https://blog.csdn.net/jklcl/article/details/119360729?spm=1001.2014.3001.5501conf/nginx.conf中配置 server { listen 80; charset utf-8; server_name 服务器IP; root /data/Downloads/; autoindex on; aut
2021-08-24 20:30:34 175
原创 python采集信息到prometheus
采集脚本# coding=utf-8from prometheus_client import Gauge, start_http_serverimport requestsimport timejvsn = Gauge('zhibiao1', '描述', ['app_name', 'app_user'])tes = Gauge('zhibiao2', '描述', ['app_name', 'app_user'])if __name__ == '__main__': start_
2021-08-24 20:22:04 1099
原创 Flink基于State做千万用户的pv
需求:记录每天某一页面下所有用户的访问次数和第一次访问的时间解法:redis做缓存,每天一个map,设置ttl,用户访问次数做累积,过滤完先存到redis,sink的时候读redis,查出这个用户的总访问次数用flink的keyby(user_id+date),生成count和min,使用checkpoint进行容错对于上边两种做法各有缺陷,第一种需要借助外部存储,任务出问题的时候重启无法保证累计不重复更新;第二种需要会占用大量的内存,无法清理过期的user_id+date,没几天就oom。此
2021-08-04 23:44:04 629 2
原创 ghz做grpc服务压测
搭建的grpc服务是线下的服务,但是要求qps比较高,那么自己先进行一下压测吧准备ghz:https://github.com/bojand/ghz/releases直接下载对应的包,解压即可使用proto:安装proto,并且准备好proto的协议文件压测脚本# 2个线程,100次请求,慢慢扩大c和n的值,防止把服务打挂,一般来说c的大小是grpc服务指定max-works数./ghz -c 10 -n 10000 \--insecure \# 指定.proto协议的位置--prot
2021-08-03 22:52:25 519 1
原创 nginx做grpc端口的负载均衡
最近需要部署一个grpc的服务,为了保证服务的qps达到标准,于是在一台机器上做多个server,这个时候得用到nginx做转发和负载安装: 切记版本,试过1.12的,不可用# 下载wget http://nginx.org/download/nginx-1.18.0.tar.gz # 解压tar -zxf nginx-1.18.0.tar.gz # 环境yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl o
2021-08-03 22:30:38 535
原创 python上传maven私仓
私仓地址:http://nexus.xxxprivate.com/#browse/search/pypi1、绑定我们的私仓地址pip install flask -i http://nexus.niceprivate.com/repository/pypi/simple地址如下图,末尾加“/simple”2、编写nexus的python配置在用户目录下编辑.pypircvim ~/.pypirc[distutils]index-servers = pypi nexus
2021-07-26 23:42:53 448
原创 Flink广播变量
connect的应用场景实时更新配置,例如:任务在统计3个页面的uv,又要统计另外三个页面的uv,那我是不是可以通过配置的方式,快速实现类似需求实时加载维表,例如:kafka里用户购买的订单信息的binlog,但不知道商品id对应的商品,商品也在不断增加,这个时候我需要加载一个维表来做mapping,此时我不想查寻数据库,那怎么做mapping呢?部分流join场景简介简单来说就是流合并,一个流作为广播流,一个流作为数据流,即一个大流,一个小流,广播流会将配置或者维表不定时的广播发布,数据流收
2021-07-21 19:49:41 391 1
原创 wrk压测TF-serving
serving服务# 启动镜像docker run -t --rm -p 8501:8501 \-v "${PATH}/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu:/models/half_plus_two" \-e MODEL_NAME=half_plus_two \tensorflow/serving &# 验证curl -d '{"instances
2021-07-21 10:20:36 266 1
原创 Doris同步多库多表
官方的东西抽象到技术层面,跟具体的业务有点脱节,我们需要下沉封装,而不是削足适履。引言 Doris用多,把一下坑都免疫了,遇到就知道不该跳,就想spark/flink的算子调优一样,他妈的还用后期调优吗?不应该在写的时候,就肌肉记忆的使用reduceByKey来代替groupByKey吗? 与其叫“Doris同步多库多表”不如叫“Doris同步binlog踩坑指南”,基于当前大众化的实时架构,来将业务库的数据同步到Doris,做到数据的一致性,后期也希望pa
2021-04-26 23:04:27 2955 6
原创 Hive2Mysql
#!/bin/bashbin=`dirname "$0"`bin=`cd $bin; pwd`tmp_dir=/tmp/hive2mysql-$USERmkdir -p $tmp_dirchmod +777 $tmp_dir# 参数列表mysql_host='localhost'mysql_port='3306'username='root'password='123456'mysql_insert_sql='insert into test.dw_data(`id`, `na
2021-03-02 12:07:58 292
原创 Flink/Spark中ETL的简单模版
我们往往可以忽略外界的干扰因素,避免焦虑,专心做自己想做的事情,反正焦虑又解决不了问题引言使用flink或者spark的时候,写好固定的模版很重要,对于一下etl的实时任务,只需要执行一个map和fliter就解决了,简单抽象了一下,用的时候穿穿参数。父类abstract class BashLogLineParse extends Serializable{ var line: String= "" def logParse():String def logFilter(mes:Str
2021-02-09 20:31:35 410
原创 kafka监控:Prometheus+Grafana+kafka_exporter
引言目前kafka使用越来越频繁,集群压力也越来越大,做好对kafka的监控对下一步工作至关重要,除此之外也要结合KafkaCenter进行kafka管理,KafkaCenter中的group-offset管理非常友好,感兴趣的弄个docker玩一玩搭建kafka测试集群:192.168.66.113;192.168.66.114;192.168.66.115监控机器:192.168.66.1161、kafka_exporter安装使用jmx_prometheus_javaagent收集kafk
2021-02-02 20:35:19 1225 1
原创 Noe4j存量数据Load
Noe4j存量数据Load引言noe4j是一个图数据库,存在节点和关系,可以把节点当作java中的一个对象,关系当作java中两个对象的进行交互时发生的条件。每个点都有自己所属的类,比如卖家类、买家类,包含手机号、身份证号等属性,存在索引,一个用户可以属于卖家类,也开始属于买家类,也可以都属于。每个关系也可以看做一个类,比如购买类、投诉类,包含订单号、商品号、时间等属性,存在索引,买家购买了卖家的商品,也就达成了购买关系。多种load方式比较(网图)数据导入1)、数据预加载:neo4j-im
2021-02-01 20:27:52 244 1
原创 Neo4j部署及使用
Neo4j部署及使用引言做交易相关的风控嘛,面对两个问题1、买卖家成环;2、区域内用户交易。为了清晰的看到多个用户之间的关联关系,选择neo4j作为我们的可视化工具。部署建议有条件的用docker一、准备机器:188G内存neo4j-community-3.5.11-unix.tar.gz 安装包apoc-3.5.0.6-all.jar,graph-algorithms-algo-3.5.4.0.jar算法库mysql-connector-java-8.0.8-dmr.jar 连接库ba
2021-01-28 20:45:18 2072 1
原创 ClickHouse的简单部署和应用
ClickHouse引言市面上比较流行的KFC套餐中的C就是ClickHouse,很多做实时和架构的同学都比较熟悉这个工具了,我会结合一下,部署和在业务中的使用简单的聊一下,以及之后为什么要抛弃CK。ClickHouse是俄罗斯第一大搜索引擎Yandex开发的列式储存的OLAP数据库,单机和集群的查询性能快到飞起,OLAP中单表查询最快的工具,没有之一。今日头条、腾讯、携程、快手都在使用CK,对PB级别的数据进行分析。优点:1.真正的面向列的DBMS2.数据高效压缩=>0.23.磁盘存
2021-01-21 21:09:39 687
原创 使用Docker快速搭建Doris集群
使用Docker快速搭建Doris集群以DORIS-0.12.21-release为例,如果想自己编译也可以,去下载docker镜像进行编译,把编译好fe、be、fs的拷出来获取资源wget https://palo-cloud-repo-bd.bd.bcebos.com/baidu-doris-release/DORIS-0.12.21-release.tar.gz解压进入目录制作docker镜像# centos7:jdk8是我们自己做的基础镜像FROM centos7:jdk8RUN
2021-01-20 21:11:47 3075 9
原创 Flink写入Doris的实时应用
flink写入Doris的实时应用引言做实时数仓的同学对目前比较流行的KFC(Kafka\Flink\ClickHouse)套餐非常熟悉,其实KFD也不错。大数据组件越来越丰富,但是还没有出现一个兼容OLAP和OLTP的工具,即满足DB和日志的实时存储和复杂查询,又能满足在此基础上的数仓建设,我们尝试过ClickHouse,缺点在于难维护、实时写入效率低,内部碎片合并和数据走zk难以实现大量数据的实时存储;之后使用过impala+kudu,缺点是impala实在是太占用内存,两者结合用起来比较费劲,也
2021-01-20 20:48:51 8106 14
原创 简单的ELK日志展示(docker)
简单的ELK日志展示(docker)引言目前许多数据服务安排到了k8s上,对于服务的日志分散在不同的机器上,由于是线上环境,尽量做到结偶,对开发人员来说,k8s集群是一个黑盒,不允许普通开发者到机器上查看日志。一开始,使用flume收集日志到kafka和hive(统一要求,小公司没有太多资源做测试),由于同步hive是一小时一次,再加上同步时间,导致不能及时发现问题,要求用最快时间解决他们的问题,于是用了不到3个小时的时间,用ELK完美的解决了日志问题。搭建例子1、log数据2020/11/26
2021-01-19 20:18:59 257
原创 Flink手动维护kafka的offset
Flink手动维护offset引言对比spark来说一下,flink是如何像spark一样将kafka的offset维护到redis中,从而保证数据的一次仅一次消费,做到数据不丢失、不重复,用过spark的同学都知道,spark在读取kafka数据后,DStream(准确是InputDStream[ConsumerRecord[String, String]])中会有这几个信息:topic、partition、offset、key、value、timestamp等等信息,在维护的时候只需要对DStrea
2021-01-18 20:40:18 2707 5
原创 Flink1.11内存模型与参数调整
Flink TaskManager启动日志INFO [] - Loading configuration property: taskmanager.memory.process.size, 2048mINFO [] - Loading configuration property: taskmanager.memory.managed.fraction, 0.6INFO [] - Loading configuration property: taskmanager.memory.jvm-ov
2021-01-15 23:55:47 1116 5
原创 最大间隔问题
最大间隙问题。给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。网上有很多代码,但没有图解,自己画了几张图帮助理解。代码:#include &amp;amp;lt;stdio.h&amp;amp;gt;#define INF 1&amp;amp;lt;&amp;amp;lt;30struct node{ double left,right; do
2019-02-07 21:07:31 486
原创 flume对接kafka,模拟生产者实时生产数据
flume对接kafka,模拟生产者实时生产数据引言flume可以实时的监控日志,日志每增加一条,flume都会感知到,然后可以将这条新的数据传到kafka上,实际生产中,用户的每个行为,生成一条数据,存到日志或数据库中,然后使用flume来从日志中拉起数据。任务:用shell脚本模拟用户行为每秒十条生成的数据存入到日志中,flume拉起日志中的数据传入kafka已有数据:cmcc.jso...
2018-12-22 20:51:22 1840
原创 zookeeper是如何进行维护offset
zookeeper是如何进行维护offset引言: SparkStreaming消费kafka有两种方式,分别是Receiver方式和Direct方式,Receiver可以自己去维护偏移量offset,Direct方式是Executer直接对接kafka进行消费数据,即用即读即丢,sparkStream会产生和topic中partition相同多的RDD,提高了效率,节省了资源,需要手动去维...
2018-12-22 20:29:02 3698
原创 Scala的引用
普通数据类型无引用 var x = 1 var y = x y = 2 println(x,"hashCode值:",x.hashCode()) println(y,"hashCode值:",y.hashCode()) //结果 (1,hashCode值:,1) (2,hashCode值:,2)List和Seq无引用 var x: mutable.S...
2018-12-12 22:06:36 731
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人