influxdb continuous query连续查询和retention policy保留策略入门和应用实战

Publish: October 29, 2020 Category: 编程,数据分析 No Comments

基本概念:

连续查询(Continuous Query)简称CQ,是influxdb中的一种查询类型,其会按照用户指定的查询规则,自动的、周期性的查询实时数据并执行指定运算,然后将结果保存到指定的表(Measurement)。

持续查询中用户可以指定的查询规则包括:查询时间间隔、单次查询时间范围、查询规则。InlfuxDB会根据用户指定的规则,定期的将过去一段时间内的原始数据以用户所期望的方式保存至用户新的结果表(Measurement)中,极大的减少了新表中的数据量。并且,新数据表中数据是跟用户业务高度贴近的方式存储,在新表中查询数据会提升查询速度,降低复杂度。

创建连续查询语法:

创建连续查询的基础语法如下

CREWATE CONTINUOUS QUERY <cq_name> ON <database_name>
BEGIN
    <cq_query>
END
  • cq_name: 连续查询名称
  • database_name: 连续查询所在数据库的名字
  • cq_query: 连续查询规则语句,该块的语法是 InfluxQL格式具体格式如下

    SELECT <functions[s]>
    INTO <destination_measurement>
    FROM <source_measurement>
    [WHERE <stuff>]
    GROUP BY time(<interval>)[,<tag_key[s]>]
    

其中SELECT、INTO、FROM、GROUP BY time()字句是必选设置项,具体参数如下

  • <functions[s]>: 要查询的字段以及数据处理的内置函数
  • <destinaion_measurement>: 用于保存查询结果的目标数据表,如果表不存在InfluxDB会自动创建。
  • <source_measurement>: 连续查询语句所要查询的数据表
  • <stuff>: 具体的查询条件,可选
  • <interval>: 连续查询语句执行的时间间隔和查询的时间范围,实际使用中要注意,不应在where条件中指定时间范围,即使指定也会被系统忽略。
  • <tag_key[s]>: 归类的标签字段,可选参数

阅读剩余部分...

Python NLP自然语言处理之基于Jiaba分词识别时间

Publish: May 16, 2019 Category: 数据分析 No Comments

概念理解

词性标注:
给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。这样说比较抽象,我们用一个简单的例子来说明

这儿是个非常漂亮的公园

对其词性标注结果如下

这儿/代词 是/动词 个/量词 非常/副词 漂亮/形容词 的/结构助词 公园/名词

给已经分好的词做词性标注,中文里多义的,也就是不同场景下表示的语法属性完全不同。好在大多数的词,尤其是“实词”一般只有一到两个词性,并且其中一个词性使用频次远远高于另外一个。
词性标注最简单的方法是从”语料库“中统计每个词所对应的高频词性,将其作为默认词性。同时使用”隐含马尔可夫模型“、”条件随机场模型”能提高标记准确性。



阅读剩余部分...

Python NLP自然语言处理之使用jieba进行中文分词实践

Publish: April 28, 2019 Category: 代码分享,数据分析 No Comments

自然语言处理的首要任务是分词,将一段文本分割成独立的词语。

中文分词介绍

已经归纳的三种分词如下:
规则分词、统计分词、混合分词

  • 规则分词:
    通过设立人工词库,按照一定方式进行切分匹配。

正向最大匹配法(Maximum Match Method MM法)的基本思路,假定分词词典中最最长词为 i 个汉字字符,则首先切分待处理文档的前 i 个字符作为匹配子串,在分词词典中查找。如果找到则表示匹配成功,匹配子串作为一个词切分出来。如果在字典中找不到这个词,则匹配失败,然后将匹配字段中的最后一个字去掉对剩下的子串重新匹配。按照这个方法直到匹配成功。
逆向最大匹配算法(Reverse Maximum Match Method, RMM法):其算法描述和MM法基本一致,唯一的不同在于RMM法是从文本的后面开始匹配。
双向最大匹配法 (Bi-directction method):是将MM法和RMM法得到的结果进行比较,然后按照最大匹配原则,选取词数切分最少的作为结果。

  • 统计分词
    把每个词看做由单个字组成的,如果相连的两个字在不同的文本中出现词数越多,那么这两个词大概率是一个词,当出现的概率高于设定的阈值时我们认为这个”字组“可能会构成一个词。

基于统计的分词一般有两部分内容:

  • 建立统计语言模型
  • 对句子进行单词划分,对划分结果进行概率统计,获得概率最大分词方式。

Jieba中文分词工具

Jieba分词结合了基于规则和基于统计这两类方法实现中文分词。通过前缀词典构建可能的有向无环图,通过在该图中的多条分词路径找到最优路线,也就确定了具体分词。对于未记录在词典的词,其使用HMM模型,采用Viterbi算法进行推导(表示我也不知道这个是什么意思)。






阅读剩余部分...

集体智慧编程之用户相似度

Publish: September 10, 2018 Category: 数据分析 No Comments

寻找相近的用户

我们有如下数据,列出了每个人对每部电影的喜好评分,数字越大表示越喜欢。要做推荐算法首先要做的是寻找相似爱好的用户,然后根据这些相似用户中最喜欢的一些电影推荐给该用户。

数据说明

首先第一步就是寻找相近用户,这里有两种相似用户寻找方式。

项目Lisa RoseGene SeymourMichael PhillipsClaudia PuigMick LaSalleJack MatthewsToby
Lady in the Water2.53.02.5 3.03.0
Snakes on a Plane3.53.53.03.54.04.04.5
Just My Luck3.01.5 3.02.0
Superman Returns3.55.03.54.05.05.04.0
You, Me and Dupree2.53.5 2.53.53.51.0
The Night Listener3.03.04.04.53.03.0

阅读剩余部分...

基于Scrapy的高校学术活动爬虫介绍

Publish: September 6, 2018 Category: 数据分析 No Comments

先把地址贴一下 https://gitee.com/kuaizhaoren/swallow, 给自己挖了个坑可能填不上了。现在的感觉是只有需求驱动才有动力搞下去。有共同学习兴趣的可以看下。

阅读剩余部分...