自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

困而学之,学思并重

学而不思则罔,思而不学则殆。

  • 博客(117)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Flink——状态管理

Flink——状态管理1 有状态计算有状态计算是Flink非常重要的特性之一。什么是状态?一般来说,状态是由一个task维护,并用于计算某个结果的所有数据,都属于这个任务的状态。也可以理解为一个本地变量,可以被task的业务逻辑访问。下图展示了一个task与它的state的常规交互过程:task在处理数据时,会先访问state,并根据输入信息和state信息更新state。Flink会处理...

2020-05-05 00:09:56 523

原创 Flink——Side Output侧输出流

主要内容:在处理数据的时候,有时候想对不同情况的数据进行不同的处理,那么就需要把数据流进行分流。可以在主数据流上产生出任意数量额外的侧输出流。

2020-05-03 23:08:15 9013 2

原创 Flink——实战:EventTime结合Watermark应用案例

主要内容:- 从SocketSource接收数据,时间语义采用EventTime,统计用户在T分钟内的总消费金额。

2020-04-26 00:39:42 1017

原创 Kafka——源码分析:Log、LogSegMent、Index

日志段及其相关代码是 Kafka 服务器源码中最为重要的组件代码之一。接下来对Kafka的日志(Log)、日志段(LogSegment)以及索引(Index)源码进行尝试性分析。

2020-04-25 12:08:10 1130

原创 Flink——原理与实战:AggregateFunction

主要内容:- 介绍AggregateFunction- 案例:从SocketSource接收数据,通过Flink 时间窗口以及AggregateFunction方法统计用户在24小时内的平均消费金额

2020-04-25 10:55:42 12620 2

原创 Flink——Time&Windows&Watermark

主要内容:- 介绍Time、Window、Watermark的基本概念- 介绍几个实现案例

2020-04-25 09:43:45 407

原创 Flink——原理与实战:RedisSink

主要内容:分析RedisSink源码,并结合具体案例实现Flink将数据写入Redis。

2020-04-19 23:42:36 1965 1

原创 Flink——实战之MySQL Sink

主要内容:实现Flink写数据到MySQL,即MySQL Sink。

2020-04-18 23:30:58 7464 1

原创 Flink——实战之Redis Sink

主要内容:实现Flink写数据到Redis,即Redis Sink。

2020-04-18 23:28:34 4702

原创 Spark——消费Kafka数据保存Offset到Redis

主要内容:Scala实现SparkStreaming消费Kafka数据保存Offset到Redis,实现自主维护Offset介绍部分源码SparkStreaming自主维护Offset的流程SparkStreaming启动时,先请求Redis或Hbase;Redis或Hbase返回请求结果,将结果(Topic、Partition、Offset的组合)封装成collectio...

2020-04-18 01:09:08 1474 1

原创 Flink——Flink1.10.0整合Kafka之KafkaSource和KafkaSink

主要内容:基于scala代码实现Flink1.10.0实时消费Kafka数据并写入Kafka

2020-04-16 23:25:25 4630

原创 Flink——自定义Source

主要内容:介绍Flink自定义Source的使用方法。

2020-04-15 23:20:00 4261

原创 Flink——DataStream API

关于Flink程序的开发流程和具体案例请参考:Flink——从零搭建Flink应用。DataSourceDatasource用于Flink程序读取数据,可通过:StreamExecutionEnvironment.进行配置。内置数据源文件数据源:readTextFile(path):直接读取文本文件;readFile(fileInputFormat, path):读取指定类型的文件...

2020-04-13 23:35:05 342

原创 Flink——从零搭建Flink应用

Flink——从零搭建Flink应用主要内容:环境准备创建Flink项目模板编写Flink程序运行测试环境准备Flink执行环境分为本地环境和集群环境,可运行在Linux、Windows和Mac OS上。首先介绍环境依赖:JDK:版本要求:1.8及以上Maven:Flink源码目前仅支持通过Maven进行编译,版本要求:3.0.4及以上Scala:根据开发语言选择是否安...

2020-04-12 22:39:00 580

原创 Kafka——如何理解Kafka的“快”?

据了解,Kafka吞吐量峰值每秒百万,就算在内存个CPU都不高的情况下,最高可达每秒十万,并且还能做到持久化存储。Kafka如此高吞吐率的原因是什么?1 应用层面的优化使用批次:producer和consumer都使用批次进行读写——避免在网络上频繁传输单个消息带来的延迟和宽带开销;高效压缩:将多条消息压缩在一起,而不是分别压缩每条消息,自带压缩方式:GZIP和Snappy。消息在写入时进...

2020-04-10 00:20:41 280

原创 Flume——开发案例

Flume——开发案例监控端口数据发送到控制台source:netcatchannel:memorysink:logger# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.ty...

2020-04-06 15:24:51 277

原创 Flume——简介及架构

简介Apache Flume是一个分布式、高可用、高可靠的系统,可以有效地从许多不同的源收集、聚合和移动海量日志数据到集中式数据存储。Flume可用于传输大量事件数据:日志数据网络流量数据社交媒体数据电子邮件消息……优势支持将数据存储到任何集中存储器中,比如HDFS,Hive,HBase;当传入数据的速率超过可以将数据写入目标的速率时,flume充当数据生产者和集中存储之...

2020-04-03 22:32:45 625

原创 Kafka——日志存储原理

Kafka底层数据存储设计topic——>partitions——>segments——>.index&.logKafka中的消息是以topic为基本单位进行组织和分类;每个topic分为多个partition,partition是以文件的形式存储在文件系统中,由参数log.dir配置。如创建了名为first_topic的topic,共有3个分区,那么在...

2020-03-31 23:24:23 560

原创 Kafka——简介与架构

Kafka——简介与架构一、简介1.1 概述什么是Kafka:最初由Linkedin公司开发,由scala编写,其诞生是为了解决Linkedin的数据管道问题——由于各种缺陷而导致消息阻塞或者服务无法正常访问;分布式消息队列。Kafka对消息保存时根据topic进行归类,发送消息者称为producer,消息接受者称为consumer,Kafka集群由多个Kafka实例组成,每个实例...

2020-03-30 23:06:37 437

原创 Kafka——可靠的数据传递

Kafka——可靠的数据传递kafka的复制机制和分区的多副本架构时kafka可靠性保证的核心。可靠性保证ACID规范:原子性、一致性、隔离性和持久性kafka可以保证分区内消息的顺序只有当消息被写入分区的所有同步副本时(但不一定写入磁盘),才被称为“已提交”的消息只要还有一个副本时活跃的,那么已提交的消息就不会丢失消费者只能读取已提交的消息复制复制功能是kafka架构的...

2020-03-30 23:04:24 342

原创 Kafka——从特定offset开始消费

指定分区从头消费指定分区从最新offset消费指定分区、offset消费指定分区从头消费package test.kafka.kafkaconsumerimport java.util.Propertiesimport java.{lang, util}import org.apache.kafka.clients.consumer.{ConsumerRecord, Cons...

2020-03-30 22:48:41 5463

原创 Kafka——再均衡监听器

在为消费者分配新分区或者移除旧分区时,可以通过消费者API执行一些应用程序代码,在调用subscribe方法时,传进去一个ConsumerRebalanceListener实例就可以了。ConsumerRebalanceListener有两个需要实现的方法。onPartitionsRevoked方法会在再均衡开始之前和消费者停止读取消息之后被调用。如果在这里提交偏移量,下一个接管分区的消费者...

2020-03-30 22:41:06 1077

原创 Kafka——Consumer提交偏移量

Kafka提交偏移量的方式:自动提交手动提交——同步手动提交——异步自动提交package test.kafkaimport java.util.Propertiesimport org.apache.kafka.common.serialization.StringSerializerclass kafkaProperities { private val KF...

2020-03-30 22:34:31 648

原创 kafka——Producer

package com.ourhome.flink.testimport java.text.SimpleDateFormatimport java.util.{Date, Properties}import org.apache.kafka.clients.producer.{Callback, KafkaProducer, ProducerRecord, RecordMetadata...

2020-03-30 22:25:14 137

原创 二分查找及简单应用

二分查找又称折半查找。优点:是比较次数少,查找速度快,平均性能好。缺点:是要求待查表为有序表,且插入删除困难。适用于不经常变动而查找频繁的有序列表。过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上

2017-09-12 15:08:51 642

原创 【Python那些事儿】判断文件/文件夹是否存在的方法

通常在读写文件/文件夹之前要判断其是否存在,不然程序可能会出错。所以,在做任何操作之前,最好先判断文件/文件夹是否存在。 判断方法:os模块try语句pathlib模块os模块os.path.exists(path):判断文件/文件夹是否存在os.path.isdir(path):判断文件夹是否存在os.path.isfile(path):判断文件是否存在os.access(pat

2017-09-04 13:07:16 4640

原创 Python3中urllib使用介绍

Py2.x:Urllib库Urllin2库Py3.x:Urllib库变化:在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import urllib.request,urllib.error。在Pytho2.x中使用import urllib——-对应的,在Python3.x中会使用import urllib.request,urllib.

2017-08-19 17:40:16 88122 8

原创 Python数据合并

在用Python进行数据合并时,可以使用concat函数。import pandas as pddata = {'low':['abc', 'def', 'ghi', 'jkl', 'mno'], 'upper':['ABC', 'DEF', 'GHI', 'JKL', 'MNO']}#创建数据df = pd.DataFrame(data)df1 = df[0:2]#将df分割为两部

2017-08-03 13:30:22 1006

原创 Python修改数据中的字符串数据列

有时候,我们想修改数据中的字符串数据列。下面的方法供参考:str.extract()str.upper()str.lower()str.len()str.split()str.replace()参考实例:>>>import pandas as pd>>>df = pd.DataFrame([['RAVENA COEYMANS SELKIRK CENTRAL SCHOOL DISTR

2017-07-28 13:22:20 2439

原创 Python整理类别型数值

整理类别型数值(Categorical Data)创建数据:import pandas as pddf = pd.DataFrame([['green', 'M', 10.1, 'class1'],['red', 'L', 13.5, 'class2'],['blue', 'XL', 15.3, 'class1']])df.columns = ['color', 'size', 'pric

2017-07-28 11:01:08 1480

原创 特征缩放

特征缩放(Feature Scaling)特征缩放是数据预处理过程中时长被忽略的关键的一步。决策树和随机森林是机器学习算法中为数不多的两个不需要进行特征缩放的算法。大部分机器学习算法和优化算法在进行特征缩放后的数据上能够有刚好的表现。在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合

2017-07-13 20:15:07 1788

原创 Python分割训练集和测试集

数据集介绍使用数据集Wine,来自UCI。包括178条样本,13个特征。import pandas as pdimport numpy as npdf_wine = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None)df_wine.columns

2017-07-13 15:11:07 20448

原创 Python处理缺失值

首先创建具有缺失值NaN(Not A Number)的CSV(comma-separated values)文件:import pandas as pdfrom io import StringIOcsv_data = '''A,B,C,D1.0,2.0,3.0,4.05.0,6.0,,8.00.0,11.0,12.0,'''# If you are using Python 2.7,

2017-07-13 14:46:16 20142 1

原创 Python的list、tuple、set、dictionary操作总结

listPython的list是最灵活的数据类型.由一系列的放在方括号“[]”里的,且用逗号隔开的values组成。列表内的values不要求是同种类型。 tupletuple是由一系列的不可变的对象组成,类似于list。不同于list的地方: values不可变;list:方括号“[]”,tuple:圆括号“()”。 set无序(unordered)不重复(unique)

2017-07-04 17:38:22 1134

原创 排序算法的Python实现

冒泡排序def bubble_sort(l): n = len(l) for i in range(n): for j in range(i+1, n): if l[i] > l[j]: l[i], l[j] = l[j], l[i] return l插入排序def insert_sort(l):

2017-07-04 14:34:59 398

原创 【Python那些事儿】准备数据——训练集和测试集

准备工作在把数据用于机器学习的算法之前,必须认真准备数据。提供类别分布一致的训练集和测试集对于成功的分类模型是十分重要的。继续使用iris数据集,把80%的记录归入训练集,剩下的20%作为测试集。操作方法#导入必要的库from sklearn.datasets import load_irisimport numpy as npfrom sklearn.cross_validation imp

2017-06-30 21:12:21 24621 2

原创 【Python那些事儿】主成分分析PCA

主成分分析PCA(Principal Component Analysis):无监督方法保留数据分布PCA通过以下步骤来完成目标:将数据集标准化成为均值为0;找出数据集的相关矩阵和单位标准偏差值;将相关矩阵分解为特征向量和特征值;基于降序的特征值选择Top-N特征向量;投射输入的特征向量矩阵到一个新的子空间。对于一维数据,可用方差来衡量数据的分布或散步情况。在多维的场景里,我们很容

2017-06-30 11:26:54 4576

原创 【Python那些事儿】数据放缩

讨论如何对数据进行放缩:放缩是一种非常重要的数据转换手段;对数据进行放缩之后,能够控制数值的范围;数据集里有很多列的时候,数据较大的列对于其他列更有优势,必须对数据进行放缩以避免这种干扰。操作方法缩放到[0, 1]区间import numpy as npnp.random.seed(10)x = [np.random.randomint(10, 25)*1.0 for i in rang

2017-06-29 21:00:45 7058 2

原创 【Python那些事儿】使用箱线图

在概要统计里,箱线图是一种好用的查看统计信息的工具。高效表达数据的千分位数、异常值点、总体结构;标出水平中位线。指明数据的位置;箱体扩展到四分位范围,用来衡量数据的分布;一系列的虚线从中间的箱体或横或纵伸展,表明数据的尾部分布。操作方法from sklearn.datasets import load_irisimport matplotlib.pyplot as plt#加载数据da

2017-06-29 15:56:12 3885

原创 【Python那些事儿】为多变量数据绘制散点图

准备工作在分析多变量数据时,我们更关注这些变量之间是否存在某些联系。无相关强相关简单关联多元(非简单)关联本实验使用iris数据集。iris数据集有150个实例(3类鸢尾花各50条记录)和4种属性(花萼长度、宽度和花瓣长度、宽度)。操作方法#导入相关库from sklearn.datasets import load_irisimport numpy as npimport matp

2017-06-12 16:46:19 15579

蓝牙协议的体系结构

主要包括两方面内容: 1、蓝牙技术 介绍蓝牙的起源、实质和蓝牙的技术特。 2、蓝牙协议体系 介绍蓝牙协议、蓝牙协议的体系结构以及核心协议。

2016-05-02

Hadoop2.6.0集群环境搭建

1.linux系统:Ubuntu14.04 2.hadoop版本:hadoop-2.2.0 3.JDK版本:Jdk1.8.0_74

2016-04-28

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

TA关注的人

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