自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ricky点滴

故不积跬步无以至千里,不积小流无以成江河。

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

原创 如何用Spark实现一个通用大数据引擎

Github 上的开源项目 Waterdrop,此项目Star + Fork的有将近1200人,是一个基于Spark和Flink构建的生产环境的海量数据计算产品。Waterdrop的特性包括简单易用,灵活配置,无需开发;同时支持流式和离线处理;模块化和插件化,易于扩展;支持利用SQL做数据处理和聚合;支持选择Spark或Flink作为底层引擎层。作为 Spark 或者 Flink 的开发者,你是否也曾经想过要打造这样一款通用的计算引擎,是是否曾经有这样的疑问,Waterdrop为什么能实现这

2020-06-03 22:44:47 892

原创 从Flink上谈当今实时流处理

0. 序 在当前数据量激增传统的时代,不同的业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如何进行有效地处理,成为当下大多数公司所面临的问题。但随着数据的不断增长,新技术的不断发展,人们逐渐意识到对实时数据处理的重要性,企业需要能够同时支持高吞吐、低延迟、高性能的流处理技术来处理日益增长的数据。相对于传统的数据处理模式,流式数据处理则有着更高的处理效率和成本控制。Apach...

2020-04-27 15:53:13 1001

原创 Waterdrop推动Spark Structured Streaming走向生产环境

前言StructuredStreaming是Spark 2.0以后新开放的一个模块,相比SparkStreaming,它有一些比较突出的优点:它能做到更低的延迟;可以做实时的聚合,例如实时计算每天每个商品的销售总额;可以做流与流之间的关联,例如计算广告的点击率,需要将广告的曝光记录和点击记录关联。以上几点如果使用SparkStreaming来实现可能会比较麻烦或者说是很难实现,但是使...

2019-04-16 08:59:25 1105 6

原创 ElasticSearch pinyin分词支持多音字

ElasticSearch pinyin分词支持多音字背景我们有一个搜索业务底层采用ElasticSearch作为搜索引擎,在索引的过程中,使用了ik中文分词、拼音分词、同义词等多种分词器。ES和各种插件的组合已经能满足我们线上90%的需求,但是仍有部分需求无法覆盖,我们在拼音分词的时候过程中就遇到了无法解决的问题。比如在 三一重工 中,一重 这个词在拼音词库 polyphone.txt 中...

2019-03-28 19:29:06 3751 2

原创 如何使用Spark快速将数据写入Elasticsearch

如何使用Spark快速将数据写入Elasticsearch说到数据写入Elasticsearch,最先想到的肯定是Logstash。Logstash因为其简单上手、可扩展、可伸缩等优点被广大用户接受。但是尺有所短,寸有所长,Logstash肯定也有它无法适用的应用场景,比如:海量数据ETL海量数据聚合多源数据处理为了满足这些场景,很多同学都会选择Spark,借助Spark算子进行数据...

2018-12-11 23:57:23 9354

原创 如何快速地将Hive中的数据导入ClickHouse

如何快速地将Hive中的数据导入ClickHouseClickHouse是面向OLAP的分布式列式DBMS。我们部门目前已经把所有数据分析相关的日志数据存储至ClickHouse这个优秀的数据仓库之中,当前日数据量达到了300亿。在之前的文章如何快速地把HDFS中的数据导入ClickHouse中我们提到过使用Waterdrop——https://github.com/InterestingL...

2018-11-28 23:17:21 13951 3

原创 如何快速地把HDFS中的数据导入ClickHouse

如何快速地把HDFS中的数据导入ClickHouseClickHouse是面向OLAP的分布式列式DBMS。我们部门目前已经把所有数据分析相关的日志数据存储至ClickHouse这个优秀的数据仓库之中,当前日数据量达到了300亿。之前介绍的有关数据处理入库的经验都是基于实时数据流,数据存储在Kafka中,我们使用Java或者Golang将数据从Kafka中读取、解析、清洗之后写入ClickH...

2018-11-07 17:12:07 19301 3

原创 Golang Benchmark Test

内部程序是CPU密集型计算,因此编写了 Benchmark 测试算子的性能,并且希望在此基础上,将 Benchmark 在各服务器上执行,验证服务器性能情况。Benchmark 编译go test -c -test.bench=".*" ./filter/执行后将在本地生成 filter.testBenchmark 运行首先在目标服务器上将编译好的二进制文件拉取到本地。./...

2020-04-24 10:15:15 753

原创 Elasticsearch深度分页问题以及Scroll查询的一些总结

背景介绍我们在 Elasticsearch API的基础上实现了一个日志查询系统,支持最基本的时间范围选择以及关键词搜索高亮,并且日志展示的表格支持异步分页。有天用户反馈,查询的时候页面报错Result window is too large, from + size must be less than or equal to: [10000] but was [24600]. See th...

2020-01-09 15:11:18 1218

原创 优秀的数据工程师,怎么用Spark在TiDB上做OLAP分析

优秀的数据工程师,怎么用Spark在TiDB上做OLAP分析TiDB 是一款定位于在线事务处理/在线分析处理的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。TiSpark 是 PingCAP 为解决用户复杂 OLAP 需求而推出的产品。它借助 Spark 平台,同时融合 TiKV 分布式集群的优势。直接使用 TiSpark 完成 O...

2019-02-18 22:25:25 1620

原创 怎么在MacOS上使用sbt发布代码到Maven中央仓库

怎么在MacOS上使用sbt发布代码到Maven中央仓库在项目中集成sonatype这一部分不是本篇文章的重点,在项目集成sonatype可参照https://github.com/xerial/sbt-sonatype配置上传代码1. 安装gpg并生成密钥brew install gpggpg --gen-key# 输入用户名,邮箱和密码gpg --list-keypub ...

2019-01-29 15:09:49 627

原创 Gitlab CI集成工具的应用

Gitlab CI集成工具的应用什么是Gitlab CI工具Continuous Integration is a software development practice in which you build and test software every time a developer pushes code to the application, and it happens s...

2019-01-10 15:38:30 635

原创 Dataset 使用填坑记录

Dataset 使用填坑记录Dataset被誉为懒人数据库(databases for lazy people),是Python操作MySQL的库。因为其简单的操作,避开了繁琐的依赖安装和链接建立,能够很快的和数据库进行交互。但是在使用过程中,遇到了不少的坑,这篇文章旨在记录使用过程中遇到的坑,避免下次再犯浪费时间。连接不释放使用Dataset连接MySQL,连接不会主动释放,这样会导致表结...

2018-11-12 19:20:31 586

原创 [Leetcode-228]Python-Summary-Ranges-滑动窗口

Overview给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。。示例 1:输入: [0,1,2,4,5,7]输出: ["0->2","4->5","7"]解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。示例 2:输入: [0,2,3,4,6,8,9]输出: ["0","2->4","6&

2018-08-14 21:51:39 389

原创 Elasticsearch Rolling up historical data Overview

Elasticsearch Rolling up historical dataOverview And while we continue to believe that most data tends to have value over a long period of time, the relative value of the data can decrease as ...

2018-08-08 11:14:29 1192

原创 [Leetcode-66]Python-Plus One-三行代码

Overview给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: ...

2018-08-04 21:45:39 301

原创 Python List VS Set

Python List VS SetOverviewSets are significantly faster (almost O(1)) when it comes to determining if an object is present in the set (as in x in s), but are slower than lists when it comes to i...

2018-08-03 21:35:39 196

原创 Elasticsearch 6.3 X-PACK SQL Overview

Elasticsearch 6.3 X-PACK SQL Overview Elasticsearch SQL aims to provide a powerful yet lightweight SQL interface to Elasticsearch写在前面 However the backing engine itself is Elasticsearch fo...

2018-08-02 17:33:46 4794

原创 Flume 1.8.0读取Kafka写HDFS

Flume 1.8.0读取Kafka写HDFS环境准备java version “1.8.0_45”Hadoop 2.6.0-cdh5.5.1安装Flumewget http://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gztar -xvf apache...

2018-07-25 16:14:24 1090

原创 Python中List遍历的若干种方法

List 遍历的4种方法:方法1:for i in list: print i方法2:for i in range(len(list)): print i, list[i]方法3:for i in xrange(len(list)): print i, list[i]方法4:for i, j in enumerate(list...

2018-07-20 14:18:59 26649 2

原创 记一次由于__consumer_offset导致的Kafka故障

记一次Kafka故障 2018.05.30 Kafka 0.10.0.10背景介绍因Kafka集群中一个节点宕机,因集群高可用机制集群工作正常,但是发现部分消费者无法读取到数据故障原因Kafka将直连Kafka的消费信息记录到了__consumer_offset这个topic中,这个topic在我们的集群中复制因子为1,并且所有的Partition落在了...

2018-05-30 15:38:46 7330

原创 ClickHouse JDBC插入性能测试(基于Hangout)

ClickHouse Format Performance TEST of JDBC前言Hangout-output-Clickhouse目前支持3种形式的数据插入,Values、JSONEachRow以及TabSeparated。这三种方式最终插入SQL如下Valuesinsert into db.table (date, datetime, domian, uri,...

2018-03-21 11:33:52 23132

转载 Waterdrop帮你快速玩转Spark数据处理

Waterdrop帮你快速玩转Spark数据处理 屠龙宝刀,宝刀屠龙,踏遍天下,谁敢不从,倚天不出,谁与争锋!Databricks 开源的 Apache Spark 对于分布式数据处理来说是一个伟大的进步。我们在使用 Spark 时发现了很多可圈可点之处,我们在此与大家分享一下我们在简化Spark使用和编程以及加快Spark在生产环境落地上做的一些努力。一个Spark Str...

2018-02-28 09:37:06 21967

原创 Zookeeper一次故障处理

记录一次线上Zookeeper故障 2018.02.06部门引入了ClickHouse作为数据分析仓库,并且使用了复制表ReplicatedMergeTree,两个集群复制表的数据同步依赖Zookeeper,上线前就对Zookeeper的性能产生过顾虑,但是线上运行一段时间后,未发现异常。直到最近几周,故障频现,本文主要记录故障处理过程以及故障处理的一些思考和坑。第一次故障...

2018-02-08 12:09:40 17593 3

原创 Hangout with ClickHouse

当我们部门发现了ClickHouse这么一个优秀数据存储仓库后,经过了一段时间的摸索测试,就把线上大部分与数据分析相关的业务迁移到了ClickHouse上。这篇文章将会介绍我们如何通过Kafka接入Nginx日志到ClickHouse中。当然,其他的应用日志也可以参照以下逻辑将数据接入ClickHouse。我们最初使用Python脚本清洗日志写入ClickHouse,但是这样开发和维护都有一定的成本

2017-12-27 16:25:12 13458 5

原创 使用hangout将Kafka数据实时清洗写入ClickHouse

使用hangout将Kafka数据实时清洗写入ClickHouse什么是HangoutHangout可以说是JAVA版的Logstash,可以进行数据收集、分析并且将分析后的结果写入指定的地方 项目地址什么是ClickHouseClickHouse是一个数据分析的数据库,由Yandex开源 项目地址什么是hangout-output-clickhouseha...

2017-12-11 12:09:17 18148 6

原创 AJAX跨域问题小结

什么是AJAX跨域?AJAX 是无需刷新前端页面就能够从服务器取数据的一种方法,负责Ajax运作的核心对象是XMLHttpRequest(XHR)对象。同源策略是对XHR的一个主要约束,它为通信设置了“相同的域、相同的端口、相同的协议”这一限制。 哪些请求属于跨域请求?http://a.com/ 不允许访问 http://b.com(不同域)http://a.com 不允许访问 https:

2017-10-12 09:28:03 485

原创 使用Python和Flask编写Prometheus监控

使用Python和Flask编写Prometheus监控Installationpip install flaskpip install prometheus_clientMetricsPrometheus提供4种类型Metrics:Counter, Gauge, Summary和HistogramCounterCounter可以增长,并且在程序重启的时

2017-07-28 15:38:20 8535

原创 使用Prometheus监控Kafka logsize(kafka-logsize-exporter)

kafka-logsize-exporter 项目源码githubInstallation下载项目并解压Getting Startedpip install -r requirements.txtvim cluster.conf# 集群别名[kafka1003]# zookeeper地址zk = 127.0.0.1:2128/kafka1003# kafka集群,多个节点用逗号',

2017-07-27 15:05:40 1597

原创 Scala如何处理(多级)JSON字符串

Scala如何处理(多级)JSON字符串1.JSON.parseFull简单JSON格式import scala.util.parsing.json.JSONval jsonStr = """{"username":"Ricky", "age":"21"}"""val jsonValue = JSON.parseFull(jsonStr)val jsonObj = jsonValue match

2017-07-26 18:56:43 6607

原创 Spark on Mesos集群部署

Spark on Mesos集群部署1.安装Mesos安装最新版的Mesosrpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmyum install mesos安装指定版本Mesos找到指定Mesos版本的RPM包地址下载安装Mesoswget http://repo

2017-05-09 16:51:21 1873

原创 Spark API Java编程使用方法

Spark API Java编程使用方法如何使用mapUse lambda syntaxJavaDStream<String> lines = messages.map(s -> s.substring(0, 5))Implement the Function interfaces// Function[T1, R]JavaDStream<String> lines = messages.

2017-03-03 17:28:43 3881

原创 Spark on Yarn开发运维过程中遇到的问题汇总

Spark on Yarn开发运维过程中遇到的问题汇总启动nodemanager报错 No space left on device 使用df -h命令判断nodemanager运行日志和启动日志磁盘空间是否足够。使用pyspark读取kafka对应topic数据报错java.lang.NoClassDefFoundError: org/apache/kafka/common/message

2017-02-10 15:38:04 1812

原创 Elasticsearch query_string语法查询

Elasticsearch query_string语法查询1.根据字段名查询(Field names)接口(interface)为app interface: app接口(interface)为app或live interface: (app OR live)精确匹配, 接口是app interface: “app”2.通配符(Fuzziness)‘?’表示单个字符,’*’表示0个或

2016-12-14 16:03:25 9342

原创 Elasticsearch CURL操作方法

Elasticsearch curl操作_cat操作curl localhost:9200/_cat=^.^=/_cat/allocation/_cat/shards/_cat/shards/{index}/_cat/master/_cat/nodes//获得集群的所有节点/_cat/indices//获得集群所有的index/_cat/indices/{index}/_ca

2016-12-01 16:57:43 2677

转载 Django自定义用于Views的装饰器

Django自定义用于Views的装饰器不带参数的装饰器from functools import wraps def object_does_not_exist(func): @wraps(func) def returned_wrapper(request, *args, **kwargs): try: return fu

2016-10-09 15:22:27 4111

原创 Spark Streaming从1.4.1升级至2.0.0-preview遇到的问题汇总

Spark Streaming从1.4.1升级至2.0.0-preview遇到的问题汇总Spark Streaming

2016-09-28 10:06:41 2286

原创 在Django中如何正确完整地删除一个App

在Django中如何正确完整地删除一个App1.删除models.py无论是删除一个单独的model还是删除整个App,都需要首先删除models.py文件中的模型。确认没有其他文件引用models.py中的类。迁移或者删除你的数据库,Django提供了简便的方法方便用户删除某App下的所有数据(Django 1.7)。./manage.py migrate your_app_name zero

2016-09-27 13:41:46 23528

原创 Django中url模板使用总结

Django中url模板使用总结1.简单正则匹配使用方法 template.html<a href="{% url 'list_delete' i.id %}">删除</a><a href="{% url 'list_modify' i.id %}">修改</a>urls.pyurl(r'^index/list_delete/(?\d+)/$',list_delete,name='list_d

2016-09-23 09:51:39 11131

原创 Linux下使用命令行获取网页截图

Linux下使用命令行获取网页截图环境准备Linxu系统 centos 7Python Version Python 2.7.5Git Version 1.8.3.1安装Python-webkit2png[Git地址]git clone https://github.com/adamn/python-webkit2png.gitcd python-webkit2pngpython

2016-08-03 09:50:37 3803 1

空空如也

空空如也

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

TA关注的人

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