10 Data_IT_Farmer

尚未进行身份认证

我要认证

BJUT 2014级 计算机学院小硕一枚,现为某上市金融公司--高级大数据开发工程师一枚。自20170701开始记录自己的技术工作生涯!广结天下技术之友,笑对未来技术之难题!

等级
TA的排名 2k+

知乎高赞:常用的分布式事务解决方案有哪些?

常用的分布式事务解决方案有哪些?166 人赞同了该回答关于分布式事务,工程领域主要讨论的是强一致性和最终一致性的解决方案。典型方案包括:两阶段提交(2PC, Two-phase Commit)方案 eBay 事件队列方案 TCC 补偿模式 缓存数据最终一致性一、一致性理论 分布式事务的目的是保障分库数据一致性,而跨库事务会遇到各种不可控制的问题,如个别节点永久性宕机,像单机事务一样的ACID是无法奢望的。另外,业界著名的CAP理论也告诉我们,对分布式系统,需要将数据...

2020-07-30 11:04:29

究竟什么是CRM(客户关系管理系统)呢?

究竟什么是CRM?来源: 人人都是产品经理 发布时间:03-2712:44深圳聚力创想信息科技有限公司什么是CRM?CRM又有什么作用呢?百科定义如下:这篇文章将会通过一个中心,两个核心和三个支柱详细的分析了CRM以及CRM的作用。对CRM感兴趣的小伙伴们可以进来看一看。入行产品坑近7年,最近4年一直从事CRM相关的产品工作,前后总共或参与或主导设计了几套CRM系统。坑踩了不少,也收获了一些关于CRM的经验。在此总结出来,权当是对过去几年的一个沉淀,...

2020-07-29 10:13:11

分布式系统中的CAP理论,面试必问,你理解了嘛?

对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统中的CAP理论。保证你能听懂。为了防止被误以为是洗文的嫌疑,我在这里先说明一下:我参考了知乎和博客园上等相关文章,还有下面的图不是我自己画的,我觉得能清晰地表达出意思就是好图,在百度图片上下载了一波。一、什么是分布式系统拿一个最简单的例子,就比如说我们的图书管理系统。之前的系统包含了所有的功能,比如用户注册登录、管理员功能、图书借阅

2020-07-28 15:08:28

彻底搞懂-扔鸡蛋问题-方程-动态规划

题目:2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度,比如鸡蛋在第9层没有摔碎而在第10层摔碎了,那么鸡蛋不会摔碎的零界点就是9层,如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?最笨法:把其中一个鸡蛋从第1层开始往下扔,如果第1层没碎换到第2层扔,如果第2层没碎换到第3层扔,,,如果第59层没碎换到第60层扔,如果第60层碎了,说明不会摔碎的临界点是59层,最坏情况下需要扔100次二分法:把鸡蛋从50层往下扔,如果第一枚在50层碎了,就从第1层开始(一共只有两个鸡蛋,第一个鸡蛋

2020-06-24 17:47:18

布隆过滤器+缓存穿透问题+Counting Bloom Filter,原理+案例+代码实现

概述什么是布隆过滤器布隆过滤器(Bloom Filter)是1970年由布隆提出的,它实际上是由一个很长的二进制向量和一系列随意映射函数组成。它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。它能够告诉你某个元素一定不在集合内或可能在集合内。在计算机科学中,我们常常会碰到时间换空间或者空间换时间的情况,通常两者不可兼得,我们要在两者之间取舍...

2020-06-20 15:26:01

python 多sheet复杂报表开发

在实际工作中,报表开发的过程中,往往会遇到各种较为复杂报表,比如一个报表excel里面有多个sheet,每个sheet都是不同维度的统计指标,如何形成这样多sheet的报表呢?废话不多说,代码这就来见:#!/usr/bin/python2.7# -*- coding:utf-8 -*-"""File: Excel.pyAuthor: yyzDate: 2019/06/02 15:26"""import csvimport codecsimport pandas as p...

2020-06-03 10:16:22

多进程和多线程的概念

多进程和多线程的概念目录一、多线程是什么? 二、多进程是什么? 三、多线程与多进程,选择谁? 四、并行、并发、高并发等概念一、多线程是什么? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。 进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。 那么多线程就很容易理解:多线程...

2020-06-03 09:48:05

python 多线程就这么简单

python 多线程就这么简单  多线程和多进程是什么自行google补脑  对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事,那么一定要先排一下顺序。(好吧!我们不纠结在DOS时代是否有听音乐和看影的应用。^_^)from time import ctime,sleepdef mu...

2020-06-03 09:37:28

Python smtplib.SMTP()和smtplib.SMTP_SSL() 登录邮箱并发送邮件比较

邮件发送流程 邮件的发送是主动行为:主要通过 MUA/邮件客户端软件,将邮件内容发送给对应的服务器 暂存到投递服务区,然后由当前运营商根据邮件特征信息将邮件转发给目标服务器的投递服 务区,此时目标用户的邮件已经发送完成,等待对方收取即可。邮件的收取也是主动行为,用户可以打开邮件客户端软件,通过点击类似于收取这样的行为 就可以从自己邮箱所属的服务器投递区中提取邮件了。什么是POPO3、SMTP和IMAP?服务器地址和端口是什么?返回  POP3  POP...

2020-06-02 21:07:16

漫谈数据仓库之拉链表使用场景、原理和在Hive中的实现示例

一、全量表-增量表-拉链表-流水表-介绍1. 全量表:每天的所有的最新状态的数据,2. 增量表:每天的新增数据,增量数据是上次导出之后的新数据。3. 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。4. 流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。拉链表和流水表的区别流水表存放的是一个用户的变更记录,比如在一张流水表中,一天的.

2020-05-27 22:06:05

Hive自定义函数UDF与transform的区别和使用例子

Hive自定义函数与transform的区别和使用例子 hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。一般有两种方法:自定义内置函数 UDF(Java实现)和Transform关键字(Python)实现一、Transform关键字(Python)实现...

2020-03-29 23:40:13

Linux shell xargs命令详解,xargs与管道的区别

Linux shell xargs命令详解,xargs与管道的区别阅读目录为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项回到顶部为什么要用xargs,问题的来源在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及...

2020-03-28 10:52:33

Linux alias实现命令别名

Linux alias实现命令别名需要经常进入/srv/www/app/account这个目录,每次都得重复的输入这一长串路径进入该目录,显得麻烦而费时,因此可以将“cd /srv/www/app/account”这样一个命令取一个别名,每次只需输入该别名就可以进入该目录Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,以后只需输...

2020-03-26 21:37:01

linux下,源码的安装之 ./configure --prefix --with解释

linux下,源码的安装之 ./configure --prefix --with解释linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。过程中用到./configure --prefix --with;其中--prefix指的是安装路径,--with指的是安装本文件所依赖的库文件with:指定依赖--w...

2020-03-26 21:06:01

Python的内嵌函数和闭介绍

Python的内嵌函数和闭介绍1.内嵌函数:在函数中定义函数内嵌函数例子1、# 代码段1def fun1(): print('外层函数正在被调用') def fun2(): print('内层函数正在被调用')fun1()'''输出如下:外层函数正在被调用'''例子2:# 代码段2def fun1(): print('外层函数正在被调用') ...

2020-03-15 21:59:30

格式化namenode时报错No Route to Host from node1/192.168.3.101 to hadoop05:8485 failed on socket timeout ex

格式化namenode时 报错 No Route to Host from node1/192.168.3.101to hadoop:8485 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host解决方案一、报错信息概要在配置hadoop高可用HA集群的时候,在使用had...

2020-02-17 12:17:26

Linux shell命令行可选参数的getopts命令使用例子

shell命令行可选参数的getopts命令使用例子一、概述getopts [option[:]] [DESCPRITION] VARIABLEoption:表示为某个脚本可以使用的选项":" 冒号如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION)VARIABLE:表示将某个选项保存在变量VARIABLE中g...

2020-01-03 20:03:24

python中url解析及排序函数sort ()与 sorted() 区别、字典排序及高级用法

python中url解析及排序函数sort ()与 sorted() 区别、字典排序及高级用法一、python如何解析url,获取host和path最近在工作中需要将url的host和path路径分开存储,python内置的urlparse, 支持我们优雅的解决这个问题,参考地址>>> from urlparse import urlparse>>&...

2020-01-02 18:32:06

Spark模拟实现统计出每个域名下面访问次数最多的前三个URL

Spark模拟实现统计出每个域名下面访问次数最多的前三个URL一、需求:现在假设有一个IT教育网站,有Java,PHP,net等多个栏目,下面是模拟实现的网站日志第一个字段是访问日期,第二个字段是访问的URL,其中每个栏目有一个独立域名,如下:java.aaaaaaa.cnnet.aaaaaaa.cnphp.aaaaaaa.cn统计出每个域名下面访问次数最多的前三个URL...

2020-01-02 16:47:21

hive-sql查询结果保留特点小数位数的方法

一、ceil:向上取整ceil(DOUBLE d): d是DOUBLE类型的,返回>=d的最小的BIGINT值spark-hive> select ceil(123.58);_c0124Time taken: 0.093 sspark-hive> select ceil(123.28);_c0124Time taken: 0.109 s二、flo...

2019-12-17 13:27:17

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。