不为无益之事,何遣有涯之生

Apache Nifi使用笔记

基本概念

虽然Nifi支持二进制数据(如视频流),但是我们一般还是拿来做可读数据(类似表)的处理。Nifi将这种数据称为面向记录的数据(record-oriented data),Nifi使用了一种类似XPath/JsonPath的抽象来定位数据,即RecordPath

Java的MQTT客户端使用注意事项

Java的MQTT主要客户端库是Eclipse Paho Java Client,该库存在以下问题:

  1. 性能不行,使用传统BIO通信,只能用线程池的方法强行并发;
  2. MQTT V5的支持比较差,到目前为止还不支持共享订阅,需要自行实现;
  3. 以前在使用的过程中,遇到一些莫名其妙的bug,比如这个

所以这次重写iot平台,选用了hive-mqtt-client,这个库目前还比较年轻,但属于hivemq的官方作品,所以质量还可以,缺点是文档不太健全,性能调优方法不是很明确。经过摸索,得到以下结论(截止1.2.2版本):

Opc协议概要

opc协议是一种中间层物联协议抽象模型,目前在用的主要是opc ua. 相关基础只是请自行百度,这里仅记录编码通信所需要的知识。

OPC UA的抽象模型就是OOP,将物理设备的物模型映射成地址空间里的 节点(Node)

Spark3速记

spark的核心抽象概念是RDD,但是到了spark2就不再推荐直接使用rdd来编程,而是使用sparkSQL和StructStreaming(代替旧的spark streaming)。

数仓模型理论知识笔记

数据类型

  • 枚举类型:标称属性
  • 排序:序数属性
  • 布尔类型:二元属性
  • 普通数值:
    • 有0点:可以计算比率,所以称为比率标度属性,比如开氏温度
    • 无0点:区间标度属性,比如摄氏温度
  • 字符串

统计维度

  • 均值:普通均值、加权均值、截尾均值(舍去最大、最小的一部分之后)
  • 分位数:从小到大排序后位于每个分位的数,常用的包括中位数、4分位数、100分位数等
    • 4分位第一个点叫$Q_1$, 第三个是$Q_3$, $IQR=Q_3-Q_1$,这是四分位极差
    • 识别可疑离群点的通常规则是:挑选落在$Q_3$之上或者$Q_1$之下至少$1.5 \times IQR$位置的值
    • 五数概括:4分位点加上最小、最大值;可用盒图表示
  • 众数:出现最频繁的值
  • 中列数:最大和最小值的均值
  • 方差:个体与均值的差的平方和

可视化技术

  • 像素图
  • 散点图
  • 直方图
  • 切尔诺父脸
  • 人物线条画
  • 标签云

相似性与相异性

使用邻近性度量来量化该值。对于上文所说的集中数值类型,都有对应的公式。

Hive速记

众所周知,hadoop可以大略分为hdfs文件系统+MR引擎两部分构成,然后再加上yarn这个调度引擎(有的公司改用k8s调度了)。

Hive是用来将SQL语句转成MR的,最初是Facebook贡献,后转为Apache开源项目。

0%