0%

最近在写python的时候发现了很多以前没有发现的问题,特此写一篇文章专门用来记录遇到的这些问题。其实也不能算是问题,算是一些语言方面的特性,比如和c/c++不一样的地方。

溢出判断

python的int是不会溢出的,达到界限后会自己转为long
https://blog.csdn.net/jiede1/article/details/84256507

对负数取余的写法,python和c++并不相同。如果想要取一个负数的每一位,c++和正数的写法一致,而python则有一些改变。

阅读全文 »

最近想要系统的学习大数据开发的知识,目前主要是跟着大数据入门指南进行学习,博客会在学习的基础上加入一些自己的思考。
资料来源:https://github.com/heibaiying/BigData-Notes

Hadoop分布式文件系统——HDFS

1 介绍

HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐 量等特性,可以部署在低成本的硬件上。

2 HDFS 设计原理
2.1 HDFS 架构

HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:
NameNode : 负责执行有关文件系统命名空间的操作,例如打开,关闭、重命名文件和目录等。 它同时还负责集群元数据的存储,记录着文件中各个数据块的位置信息。
DataNode:负责提供来自文件系统客户端的读写请求,执行块的创建,删除等操作。

2.2 文件系统命名空间

HDFS 的 文件系统命名空间 的层次结构与大多数文件系统类似 (如 Linux), 支持目录和文件的创建、移 动、删除和重命名等操作,支持配置用户和访问权限,但不支持硬链接和软连接。NameNode 负责维护文件系统名称空间,记录对名称空间或其属性的任何更改。

但是这篇文章里说HDFS实现了软连接但是没有实现硬链接:
HDFS符号链接和硬链接:https://blog.csdn.net/Androidlushangderen/article/details/52808554

  • 与Linux文件系统中的软链接概念一样,HDFS符号链接也是相当于给目标文件新建一个自定义路径,这个自定义路径实质指向目标文件。所以在这里HDFS符号链接中做的最重要的事情就是路径的解析。而且这个解析还有可能是嵌套的,符号链接中指向的是另外一个符号链接。
阅读全文 »

本篇文章整理了归并排序和快速排序的相关原理和python实现代码

归并排序

归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。

阅读全文 »

一点小tips:

维基百科关于FSM、DFA、NFA的介绍
有限状态机(Finite State Machine:FSM)又称有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
在计算理论中,确定有限状态自动机或确定有限自动机(英:deterministic finite automaton;简称:DFA)是一个能实现状态转移的自动机。对于一个给定的属于该自动机的状态和一个属于该自动机字母表Σ的字符,它都能根据事先给定的转移函数转移到下一个状态(这个状态有可能就是先前那个状态)。
在计算理论中,非确定有限状态自动机或非确定有限自动机(NFA)是对每个状态和输入符号对可以有多个可能的下一个状态的有限状态自动机。这区别于确定有限状态自动机(DFA),它的下一个可能状态是唯一确定的。尽管 DFA 和 NFA 有不同的定义,在形式理论中可以证明它们是等价的;就是说,对于任何给定 NFA,都可以构造一个等价的 DFA,反之亦然: 通过使用幂集构造。两种类型的自动机只识别正则语言。非确定有限自动机有时被称为有限类型的子移位(subshift)。非确定有限状态自动机可推广为概率自动机,它为每个状态转移指派概率。

阅读全文 »

MYSQL学习整理(二)

关键字:default 默认值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建时添加
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
);
# 默认时间
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
);
# 向已创建表添加单个约束
ALTER TABLE Persons
ALTER City SET DEFAULT 'SANDNES'
# 删除约束
ALTER TABLE Persons
ALTER City DROP DEFAULT
阅读全文 »