- 博客(18)
- 资源 (1)
- 收藏
- 关注

原创 一种基于SparkSQL的Hive数据仓库拉链表缓慢变化维(SCD2+SCD1)的示例实现
背景Hive 实现缓慢变化维,没有使用事务表的更新和删除操作(最新版本Hive已经支持,但需要Server/Client做相应配置,Hive实现的事务还有一定的局限性)Hive 自身的SQL使用MapReduce引擎,速度慢,这里使用SparkSQL实现参考:准备基础维度表 base_dim业务字段:id, name, city, st维度表默认字段:sk, scd_upd...
2019-08-06 16:43:12
1809

原创 基于 pyMongo 和 wxPython 实现的 MongoDB Schema Analyser
MongoDB 作为文档型 NoSql 数据库,它的集合表结构往往不像关系型数据库那么固定和统一,同一个集合下的文档(document)的字段变化和差异可能很大,特别是在数据模型缺乏良好规划和规范的数据库。当接手一个基于 MongoDB 存储、计算的新项目,在缺乏 ORM 等映射抽象的情况下,了解其库表的结构以及集合的Schema十分的重要。MongoBooster(MongoDB4.0 之后为...
2019-01-26 17:51:46
522
1

原创 MongoDB Python官方驱动 PyMongo 的简单封装
MongoDB Python官方驱动 PyMongo 的简单封装类 DBManager。主要特性:对数据库和集合的操作确保其存在性;支持PyMongo的原生操作,包括基本的CRUD操作、批量操作、MapReduce、多线程和多进程等;支持因果一致性会话和事务的流水线操作,并给出简单示例。
2019-01-06 19:38:26
1809
6
原创 DDD
Domain Driven Design(DDD)领域驱动设计, 基于业务逻辑的领域建模和软件开发的设计方法。方法的演进编程范式:过程式(60年代末“软件危机”)-> OOP面向对象(封装、继承、多态)、 FP函数式编程(不持有状态,无副作用)软件架构:单机 -> 分布式, 大单体 -> 多微服务软件开发模式:瀑布式(需求分析、设计、编码、集成、测试、维护) -> 迭代(每一次迭代都包括了需求分析、设计、实现与测试, 实现产品的一部分,降低风险) -> 螺旋(风
2020-06-13 15:43:30
223
原创 阅读《MegaEase 远程工作团队协作协议 v1.3》后的一些感想
阅读《MegaEase 远程工作团队协作协议 v1.3》后的一些感想原文链接 https://coolshell.cn/articles/20765.html从雇员的角度,谈一谈它对工作态度和实践的启发。原则 PrinciplesOwnership & LeaderShip这是动力和激情的源泉。对所作事情要有责任感和使命感,而不是敷衍了事,得过且过。当然,有些事情和项目的...
2020-02-01 18:53:52
1485
原创 TCP三次握手和四次挥手及其状态变化
@[TOC] TCP三次握手和四次挥手http://www.httpclient.cn/archives/142.htmlhttps://blog.youkuaiyun.com/hyg0811/article/details/102366854三次握手最初:client:Closed, server:Listen.第一次握手:client 进入SYN_SENT状态,发送SYN报文,并带有初始...
2019-12-29 17:37:33
402
原创 Hadoop MapReduce WordCount 例程
Hadoop MapReduce WordCount 例程package tomas.test;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import ...
2019-12-23 00:17:16
195
原创 概览分布式一致性协议和算法 2PC 3PC 拜占庭问题 Paxos ZAB Raft
概览分布式一致性协议和算法 2PC 3PC 拜占庭将军问题 Paxos ZAB Raft拜占庭将军问题byzantine https://www.jianshu.com/p/8bcef0ca676c拜占庭问题,假设节点总数是N,叛徒节点数为F。如果需要达成一致性的认识,则当 N 》= 3F+1 时,问题才有解,共识才能达成,这就是Byzantine Fault Tolerant(BFT)...
2019-09-19 21:47:53
695
原创 Kafka消息系统介绍及与SparkStreaming结合实践案例
Kafka ABCReference 参考背景源起消息队列Kafka Introduction 简介Topo 拓扑结构Partition 分区Partition Fault-tolerance & Load-balance 容错和负载均衡Producer 消息路由Topic leader and follwersConsumer GroupKaf...
2019-08-31 15:01:37
424
原创 RDD DataFrame DataSet
RDD DataFrame DataSethttps://databricks.com/wp-content/uploads/2016/06/Unified-Apache-Spark-2.0-API-1.pnghttps://www.infoq.cn/article/three-apache-spark-apis-rdds-dataframes-and-datasetshttps://da...
2019-08-31 12:51:30
412
原创 spark架构、部署形式和运行机理(独立集群、YARN集群)
spark 生态架构http://dblab.xmu.edu.cn/blog/spark/Spark最初由美国加州伯克利大学(UCBerkeley)的AMP(Algorithms, Machines and People)实验室于2009年开发, 分布式大数据并行计算框架。在实际应用中,大数据处理主要包括以下三个类型: 复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间; ...
2019-08-31 12:48:56
724
原创 Scala语法汇集ABC
Scala ABChttps://docs.scala-lang.org/tour/tour-of-scala.htmlhttp://www.runoob.com/scala/scala-tutorial.htmlArray存储固定大小的同类型元素。 mutable。Array._ 包提供了很多实用的数组方法:apply, concat, range, etc.import Arr...
2019-08-21 14:56:11
196
原创 MongoDB Java driver ssl 加密连接,自定义KeyManager TrustManager
MongoDB Java driver ssl 加密连接,自定义KeyManager TrustManager关于SSL验证,非对称加密流程:https://blog.youkuaiyun.com/fzlulee/article/details/99690242 https://blog.youkuaiyun.com/qq_31825569/article/details/7995696http://mongo...
2019-08-17 12:14:59
1729
原创 SSL验证, 非对称加密时序图
非对称加密时序图http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html对称密钥加密单密钥, 加密和解密是相同的密钥。密钥保存很重要,加密方和解密方任一方泄露密钥,将会使通信存在被窃听、偷换等危险。例:DES(Data Encryption Standard),通用的双钥加密算法为RSA( R...
2019-08-17 10:54:33
651
原创 一种基于Python Pika库的RabbitMQ Client简单封装
代码参考注意代码Github地址:https://github.com/HanseyLee/RabbitMQClient#!/usr/bin/python# -*- coding:utf-8 -*-import pikaimport hashlibimport jsondef getMd5(input_str): """ :param str in...
2019-08-05 11:12:15
1355
原创 浅谈函数式编程
函数式编程(Functional programming),把计算作为一种数学意义上的函数,避免改变状态以及使用可变的对象或数据,是一种编程范式(Programming paradigms)。命令式编程、过程式编程和面向对象式编程。函数式编程:引用透明、无副作用、使用。声明和表达式而非语句。函数柯里化,延迟求值。
2019-01-13 17:35:06
259
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人